From nobody Mon Jan 12 04:05:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqJgq5xnZz6Ny95 for ; Mon, 12 Jan 2026 04:05:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqJgq5FPPz3M8j for ; Mon, 12 Jan 2026 04:05:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768190727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Giieecn3PadqSDds1AvRjGdtFOcHJqq/jd1XscBixeg=; b=HgAIM7SQ9Hs5MPT1RfkJ5v+A8SkqxHgI560zdzsJf+pwUCMsSUQ/eSucdLmhYR8PYf8pP4 XqWZx2cymvOBVu6bYLCnRcGQ3MlwmV7lD4uzBsSmPqerGJeD7nbz8bvsx1E3oJLf8/TNpD aQKYgZwiYWKJG0EGyahMcxVy0q77wFTDJU1n/Qm/ieYhvhgID7OM3o5rje+DFyQc7+1q2w m317MiftuutBtWwGVxLe+vKzkPccAJz/GkM9lM77jNVMQ4RNJJBb3HdT9JrUrqe27a0A7b cHr23Xkyb1TJaRcbuci3S0nTnEnyFMN/kaLcJ25axDlzJ27RyXurWJcKy+EW3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768190727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Giieecn3PadqSDds1AvRjGdtFOcHJqq/jd1XscBixeg=; b=SGxKhymilke8/1f+Tp/diHtPAzdiaZu54YUKz7fyxhWMDXtWPiPlACnvXSA09ga7W3HPrc fbj1YYpRoHYq29eTQO43sECnkK0FMCIak02ZpQdVftcu1fR6xbYEoKeNrParQPvTL/GF/7 c4Evk/FVaVYqFELh/UgddI73WdZACAUXzFEQLWMmpjWenOSbBKd01MshDi7rjJ4IpKWzs8 DA4oTx6a9t8WxoKqecooFq2IwAKJzV4KYDCvtW1o4DBCY+GRiEUNw7WGTPdxnFRru3fKp7 UJ1cSa57rt+Fo228MH6R4hTWkNVnAg/lvKw16prL2A0z23BKKtpqwa79v45D0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768190727; a=rsa-sha256; cv=none; b=QT6fja35zLTVtvuSW5qBRSGnOejLpL6+Px2mIm/Qnjm8lrNSSorsHyg12/+mZwOu/7uiSR oNvzPvekUKy1cf9/FT76yLaexP6++pT4zmr0mn56Dv0k+vmpNXX1jZUJ0TCBPBrUXSLQnY wNUp91fMaurUU89grMBZlhga+RImMNKBIPngC16UMWbhdGM3xZDCHcJbKod3alUUkVw1dr U3LZ2hXd8RwgL1owYAHljp8NuykyWczojpdJHILNPzzsXutGaUo0sptzDog2ftGnR2MwkC e6zGnZ7NnliRNJ7ssf+w03msLLBpuWwSIJnDS2yr7au0cGctNDnqD6L2upyrpA== 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 4dqJgq4qH9z19Mv for ; Mon, 12 Jan 2026 04:05:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20473 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 04:05:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: fe3001bde484 - stable/15 - x86: change ap_boot_mtx from spinlock mutex to naive lock 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: fe3001bde4849757064e8bb63fdab8b3b797dd6d Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 04:05:27 +0000 Message-Id: <69647307.20473.4c77b380@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fe3001bde4849757064e8bb63fdab8b3b797dd6d commit fe3001bde4849757064e8bb63fdab8b3b797dd6d Author: Konstantin Belousov AuthorDate: 2026-01-03 01:09:32 +0000 Commit: Konstantin Belousov CommitDate: 2026-01-12 04:05:08 +0000 x86: change ap_boot_mtx from spinlock mutex to naive lock PR: 289297 (cherry picked from commit 55305b590797524dd1cecfc9406869700e925e51) --- sys/amd64/amd64/mp_machdep.c | 1 - sys/i386/i386/mp_machdep.c | 2 -- sys/x86/include/x86_smp.h | 1 - sys/x86/x86/mp_x86.c | 17 ++++++++++++----- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 00e99f9df192..9af87787e7cc 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -331,7 +331,6 @@ start_all_aps(void) u_char mpbiosreason; amd64_mp_alloc_pcpu(); - mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); MPASS(bootMP_size <= PAGE_SIZE); m_boottramp = vm_page_alloc_noobj_contig(0, 1, 0, diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c index f7d9289b1848..18ec0d83fad3 100644 --- a/sys/i386/i386/mp_machdep.c +++ b/sys/i386/i386/mp_machdep.c @@ -369,8 +369,6 @@ start_all_aps(void) u_int32_t mpbioswarmvec; int apic_id, cpu; - mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); - pmap_remap_lower(true); /* install the AP 1st level boot code */ diff --git a/sys/x86/include/x86_smp.h b/sys/x86/include/x86_smp.h index 8b9eb2ec9b66..5cecfab9d183 100644 --- a/sys/x86/include/x86_smp.h +++ b/sys/x86/include/x86_smp.h @@ -35,7 +35,6 @@ extern char *bootSTK; extern void *bootstacks[]; extern unsigned int bootMP_size; extern volatile int aps_ready; -extern struct mtx ap_boot_mtx; extern int cpu_logical; extern int cpu_cores; extern volatile uint32_t smp_tlb_generation; diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c index c0da41a4d222..8345117f5b6f 100644 --- a/sys/x86/x86/mp_x86.c +++ b/sys/x86/x86/mp_x86.c @@ -124,7 +124,7 @@ volatile cpuset_t resuming_cpus; volatile cpuset_t toresume_cpus; /* used to hold the AP's until we are ready to release them */ -struct mtx ap_boot_mtx; +static int ap_boot_lock; /* Set to 1 once we're ready to let the APs out of the pen. */ volatile int aps_ready = 0; @@ -1086,8 +1086,6 @@ init_secondary_tail(void) PCPU_SET(curthread, PCPU_GET(idlethread)); schedinit_ap(); - mtx_lock_spin(&ap_boot_mtx); - mca_init(); /* Init local apic for irq's */ @@ -1096,6 +1094,15 @@ init_secondary_tail(void) /* Set memory range attributes for this CPU to match the BSP */ mem_range_AP_init(); + /* + * Use naive spinning lock instead of the real spinlock, since + * printfs() below might take a very long time and trigger + * spinlock timeout panics. This is the only use of the + * ap_boot_lock anyway. + */ + while (atomic_cmpset_acq_int(&ap_boot_lock, 0, 1) == 0) + ia32_pause(); + smp_cpus++; CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", cpuid); @@ -1117,6 +1124,8 @@ init_secondary_tail(void) atomic_store_rel_int(&smp_started, 1); } + atomic_store_rel_int(&ap_boot_lock, 0); + #ifdef __amd64__ if (pmap_pcid_enabled) load_cr4(rcr4() | CR4_PCIDE); @@ -1125,8 +1134,6 @@ init_secondary_tail(void) load_fs(_ufssel); #endif - mtx_unlock_spin(&ap_boot_mtx); - /* Wait until all the AP's are up. */ while (atomic_load_acq_int(&smp_started) == 0) ia32_pause(); From nobody Mon Jan 12 17:18:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfH518fwz6NrP9 for ; Mon, 12 Jan 2026 17:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfH42RVCz40cN for ; Mon, 12 Jan 2026 17:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LmauACc3VeATLJMWQE4tgttEQulLUThoN8scbANMhD0=; b=vZFPsNZBe4dI3PyjfetyjsJ3mFv08Et5QITlsRK27A4qvdchSvDq9eebXMD5I1wUDGClD/ C+eQfLdRZ7auGlHpq8PUuLU0cQFSPjWNYw0yuTa7kFEKHobmhmHwA4O2l2fHLx9qDR1DHt Xwf1TV5ihPKA4jaUAMal8io8nC7hZbJd8VaXWGwZ6Og34Gt/+RydzCJq+1vr7sbsqXYHbG 9TbFyuiDGiqovqlbBdH1rE/5j+4rHnuHqQlaRckHxI1qrsbu5Nv9wE3hS7hLvht36ku5pV QtnSco8N3hzPtJmJ/h43Ny9Zupj4nzsf4DghgKHGesBZmyJ6JlwYZOfdEc62ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LmauACc3VeATLJMWQE4tgttEQulLUThoN8scbANMhD0=; b=tbiiAUYFPsyMA5XIefhvrujQzytu3rSYQUeJFkpa8a6gXNjNKe3CsQ1fdWSsNv1k2y8/XF VODEokrmVStqbpE6e6MKQiOaYFRnG3nU0eV25DjyHsBCM/krJJB7FyObQ60x507qn+W/bH AhDCdVwW60t39FqdPvnG6CLzHZT4MQrx2rpR+VLAo84cu/DGF9TGCVMDWqbsDnp9D1hOsg 7s5tEWpB56F4HGLKwqtnOAXfPMIcKURSdcIYxSmNzS7Tk2OrMBntDZY4zBdcpZaUZk4dqK 1n8n5ROILLP1KyDli733OiX6mgJ3um84yOKDCL0EQQxpJSkSZIdb29MoqED55g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238320; a=rsa-sha256; cv=none; b=oFVd5w6Q9Qsfclxum9iTRls/uZnhs3oznC2/nWsoDtfWw/qIkZHalQ743AjFT37wAPuHZX twjJZLRHJ2k2ZyZdzJTq05dhV9CY0GWvwVjdtfKX1KyhPLeeihzDzBHsEqYHskloLkrHyA QxrDEyzgXelZ68Ls2Cti/JApnCrrFuGLNH/8B/RmUaKd51PRHYIBtrOrjD35FjUV1mz0xO Kj7uujTxZJH2u6MeOYHMb6f58oa+c/nuMyAzpItgjRvvARd4rhZcBMY7zYXr3maf+TYkJA FCDqGsfz2kg/GBp2HMtqnD0/hD8h8Q2SWeRlwTi2GxpWsAI5WA1xo/3uh+XBLA== 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 4dqfH41kdLzcBB for ; Mon, 12 Jan 2026 17:18:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3772c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:40 +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: 5048c5d6f1b6 - stable/15 - depend-cleanup: Force a clean build when options change 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: 5048c5d6f1b65afe40a386e1008d8c533ff70d23 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:40 +0000 Message-Id: <69652cf0.3772c.5509863d@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5048c5d6f1b65afe40a386e1008d8c533ff70d23 commit 5048c5d6f1b65afe40a386e1008d8c533ff70d23 Author: Dag-Erling Smørgrav AuthorDate: 2025-12-31 13:10:20 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:21 +0000 depend-cleanup: Force a clean build when options change Similar to the build epoch check, cache a list of source options in the object tree, and force a clean build if the cached list does not match the current list, after filtering out options which are known not to affect the build (e.g. CLEAN, TESTS, WARNS). This also adds a DEPEND_CLEANUP option (which defaults to yes unless the CLEAN option is set) which can be used to skip depend-cleanup for faster incremental builds. MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D52011 (cherry picked from commit 1d52d5c5372a43655a252880d34088fa56aa2530) --- Makefile.inc1 | 6 ++- share/man/man5/src.conf.5 | 14 +++++++ share/mk/src.opts.mk | 5 +++ tools/build/depend-cleanup.sh | 61 +++++++++++++++++++++++++----- tools/build/options/WITHOUT_DEPEND_CLEANUP | 5 +++ 5 files changed, 79 insertions(+), 12 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index d600ea24c200..4315794e5e10 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1089,10 +1089,12 @@ _sanity_check: .PHONY .MAKE # tree changes, particularly with respect to removing source files and # replacing generated files. Handle these cases here in an ad-hoc fashion. _cleanobj_fast_depend_hack: .PHONY +.if ${MK_DEPEND_CLEANUP} != "no" @echo ">>> Deleting stale dependencies..."; MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} \ - ALL_libcompats=${_ALL_libcompats:Q} \ + ALL_libcompats=${_ALL_libcompats:Q} MAKE=${MAKE} \ sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP} ${SRCTOP} +.endif _cleanworldtmp: .PHONY .if ${MK_CLEAN} == "yes" @@ -1186,7 +1188,7 @@ _cleanobj: .endfor .else ${_+_}cd ${.CURDIR}; env CLEANMK="_NO_INCLUDE_COMPILERMK=t ${CLEANDIR}" \ - MAKE=${MAKE} ${WMAKE} _cleanobj_fast_depend_hack + ${WMAKE} _cleanobj_fast_depend_hack .endif # ${MK_CLEAN} == "yes" _obj: @echo diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 724f664e2a11..bd8a40589d07 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -449,6 +449,14 @@ Clean before building world and/or kernel. Note that recording a new epoch in .Pa .clean_build_epoch in the root of the source tree will also force a clean world build. +When set, these options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITHOUT_DEPEND_CLEANUP +(unless +.Va WITH_DEPEND_CLEANUP +is set explicitly) +.El .It Va WITHOUT_CPP Do not build .Xr cpp 1 . @@ -537,6 +545,12 @@ amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le .It Va WITHOUT_DEBUG_FILES Avoid building or installing standalone debug files for each executable binary and shared library. +.It Va WITHOUT_DEPEND_CLEANUP +Do not attempt to detect if the object tree needs cleaning in part or in +whole before building. +This speeds up incremental builds, especially when experimenting with +build options, but may cause the build to inexplicably fail or produce +non-functioning binaries. .It Va WITH_DETECT_TZ_CHANGES Make the time handling code detect changes to the timezone files. .It Va WITH_DIALOG diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 92634425f770..754f6b2be0d2 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -86,6 +86,7 @@ __DEFAULT_YES_OPTIONS = \ CRYPT \ CUSE \ CXGBETOOL \ + DEPEND_CLEANUP \ DICT \ DMAGENT \ DTRACE \ @@ -515,6 +516,10 @@ MK_LLVM_CXXFILT:= yes MK_LOADER_VERIEXEC_PASS_MANIFEST := no .endif +.if ${MK_CLEAN} == "yes" +MK_DEPEND_CLEANUP:= no +.endif + # # MK_* options whose default value depends on another option. # diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index d751118a79a2..2e52262693e5 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -124,10 +124,8 @@ if [ ! -d "$SRCTOP" -o ! -f "$SRCTOP/Makefile.inc1" ]; then fi : ${CLEANMK=""} -if [ -n "$CLEANMK" ]; then - if [ -z "${MAKE+set}" ]; then - err "MAKE not set" - fi +if [ -z "${MAKE+set}" ]; then + err "MAKE not set" fi if [ -z "${MACHINE+set}" ]; then @@ -202,9 +200,41 @@ extract_epoch() awk 'int($1) > 0 { epoch = $1 } END { print epoch }' "$1" } +# Regular expression matching the names of src.conf(5) options which +# don't affect the build. +# +# This filter is applied to both the current options and the cached +# options so we don't force a rebuild just because the filter itself +# changed. +IGNORED_OPTS="CLEAN|DEPEND_CLEANUP|EXAMPLES|MAN|TESTS|WARNS|WERROR" +IGNORED_OPTS="${IGNORED_OPTS}|INSTALL.*|STAGING.*" +# Also ignore TOOLCHAIN and the options it forces if set. It is +# commonly used to speed up a build and is safe to toggle. +IGNORED_OPTS="${IGNORED_OPTS}|TOOLCHAIN|CLANG.*|LLDB?|LLVM_(BIN|COV).*" + +extract_src_opts() +{ + $MAKE -C "$SRCTOP" -f "$SRCTOP"/Makefile.inc1 \ + -V $'SRC_OPT_LIST:O:ts\n' | + egrep -v "^WITH(OUT)?_(${IGNORED_OPTS})=" +} + +extract_obj_opts() +{ + for fn; do + if [ -f "${fn}" ]; then + cat "${fn}" + else + echo "# ${fn}" + fi + done | + egrep -v "^WITH(OUT)?_(${IGNORED_OPTS})=" +} + clean_world() { local buildepoch="$1" + local srcopts="$2" # The caller may set CLEANMK in the environment to make target(s) that # should be invoked instead of just destroying everything. This is @@ -227,34 +257,45 @@ clean_world() mkdir -p "$OBJTOP" echo "$buildepoch" > "$OBJTOP"/.clean_build_epoch + echo "$srcopts" > "$OBJTOP"/.src_opts exit 0 } -check_epoch() +check_epoch_and_opts() { local srcepoch objepoch + local srcopts objopts srcepoch=$(extract_epoch "$SRCTOP"/.clean_build_epoch) if [ -z "$srcepoch" ]; then err "Malformed .clean_build_epoch; please validate the last line" fi + srcopts=$(extract_src_opts) + if [ -z "$srcopts" ]; then + err "Unable to extract source options" + fi + # We don't discriminate between the varying degrees of difference # between epochs. If it went backwards we could be bisecting across # epochs, in which case the original need to clean likely still stands. objepoch=$(extract_epoch "$OBJTOP"/.clean_build_epoch) if [ -z "$objepoch" ] || [ "$srcepoch" -ne "$objepoch" ]; then - if [ "$VERBOSE" ]; then - echo "Cleaning - src epoch: $srcepoch, objdir epoch: ${objepoch:-unknown}" - fi + echo "Cleaning - src epoch: $srcepoch, objdir epoch: ${objepoch:-unknown}" + clean_world "$srcepoch" "$srcopts" + # NORETURN + fi - clean_world "$srcepoch" + objopts=$(extract_obj_opts "$OBJTOP"/.src_opts) + if [ "$srcopts" != "$objopts" ]; then + echo "Cleaning - build options have changed" + clean_world "$srcepoch" "$srcopts" # NORETURN fi } -check_epoch +check_epoch_and_opts #### Typical dependency cleanup begins here. diff --git a/tools/build/options/WITHOUT_DEPEND_CLEANUP b/tools/build/options/WITHOUT_DEPEND_CLEANUP new file mode 100644 index 000000000000..6972ece98be7 --- /dev/null +++ b/tools/build/options/WITHOUT_DEPEND_CLEANUP @@ -0,0 +1,5 @@ +Do not attempt to detect if the object tree needs cleaning in part or in +whole before building. +This speeds up incremental builds, especially when experimenting with +build options, but may cause the build to inexplicably fail or produce +non-functioning binaries. From nobody Mon Jan 12 17:18:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfH65nY8z6NrKh for ; Mon, 12 Jan 2026 17:18: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 4dqfH638sRz40hq for ; Mon, 12 Jan 2026 17:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RQoXVgjZpDMbC2C5tsX+T33j+jHAWcw0vBCMvWFClE4=; b=iBzhT9f+CqnNg3XENLsr8oTfyT/MR69o3hUuXrueJRzIx/cMWrLM/qGrgA9r/BVb1fquX1 Obmb0eXFCaQ2uDD5GLy8KwGaWDhO/s8hL5aYBjR3HY2wtXvzJ2U7Mzx5paSHI0SVgK02ny 8Tx22QeU420YtIQvP+QMVVN74NxH4+KhZqAnNEGRM5i5Stozi2p1ev++mljwYg8e+uSZhg t5o61wXe8awvnmM1DNoG3fQmJvx3rR2VZjU44XqShpnYi7D5NDRRms2O7irKG0FQbXGush FuEaf2m8yWp7eabb8pBOT1utOFemP0b+4quKHnASiOX043EpP9RiIjOoSPKrcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RQoXVgjZpDMbC2C5tsX+T33j+jHAWcw0vBCMvWFClE4=; b=JKovoPqAoTaJ3Z+ehCk9JKf5UD/4Qrqgm19IY1XIJsGKrEf14lWxFgmkkpmjaByRIKkbtd gSnJ7/534BuPuNfEnIsmgqaYRsD0JNljaapSLYBuR4nAEKmezKxqra6iBhSSkJKZzbbzLR m2uNXhTrXYUrc5VJbGDvJfw7KMC+20mPYYtawkgsnTCVPevNvkqnNP0ax4IKvNR1BLynvZ z8qV5Uetl9sefAjz+uZm+AFT4cfnuZU6tY3I4YFO7I4lM6yEBR5eQcusiitgU57v2+sEh1 T2F9V4GeCziX7I27JGpBAXtxvToXlcca2TQ0Yu6t6ddj79kNO3fh8QxMTFdliQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238322; a=rsa-sha256; cv=none; b=PD7+PfqDm+4vhwbPA5UEM7S+98BGBtst6IKeEL4fntJ/ls3xlvVb97JL+kNs1pcRADEUOt 6z7l5ASFbz6OUXYEuShvrch6d41yBPx94E5s9yrFI4LaiMQmjJqJwJwEuzuJtx/E+zCSJB vr3zVi/2CeMUnBH90SOp8N57PHDcKoec1qENTvYPcFV+PlOfdDBNLZABdEXjVz34XUIT8F hNyJa6+uPYiYHiwb1LsoVylxk9KIk9TK9H8QHzgIqboj0IJKbJp5Hz0z6w1yMZGXsInIGK 0UKVBCacXYY0E6npbt/3/wEyaz1TJwdHVATIb1PLuH99R0l8Jbz+hbJCArg7cA== 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 4dqfH62k2Qzc0T for ; Mon, 12 Jan 2026 17:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37fad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:42 +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: de92f1bfa448 - stable/15 - linuxkpi: Don't clobber result on failure 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: de92f1bfa448f6f9e1e8cf0c775d74bdcb8005e2 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:42 +0000 Message-Id: <69652cf2.37fad.2d1a6ef2@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=de92f1bfa448f6f9e1e8cf0c775d74bdcb8005e2 commit de92f1bfa448f6f9e1e8cf0c775d74bdcb8005e2 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-02 07:30:06 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:21 +0000 linuxkpi: Don't clobber result on failure In kstrto*(), don't assign to *res until we know the conversion is successful, and address issues that may result in warnings if code that uses is compiled at high warning levels. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: bz, emaste Differential Revision: https://reviews.freebsd.org/D54440 (cherry picked from commit 3542d60fb8042474f66fbf2d779ed8c5a80d0f78) --- sys/compat/linuxkpi/common/include/linux/kstrtox.h | 43 +++++++++++++++------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kstrtox.h b/sys/compat/linuxkpi/common/include/linux/kstrtox.h index 5da99de24197..6a145c409038 100644 --- a/sys/compat/linuxkpi/common/include/linux/kstrtox.h +++ b/sys/compat/linuxkpi/common/include/linux/kstrtox.h @@ -74,14 +74,17 @@ static inline int kstrtoul(const char *cp, unsigned int base, unsigned long *res) { char *end; + unsigned long temp; - *res = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = temp; return (0); } @@ -89,14 +92,17 @@ static inline int kstrtol(const char *cp, unsigned int base, long *res) { char *end; + long temp; - *res = strtol(cp, &end, base); + temp = strtol(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = temp; return (0); } @@ -106,7 +112,7 @@ kstrtoint(const char *cp, unsigned int base, int *res) char *end; long temp; - *res = temp = strtol(cp, &end, base); + temp = strtol(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -115,6 +121,8 @@ kstrtoint(const char *cp, unsigned int base, int *res) return (-EINVAL); if (temp != (int)temp) return (-ERANGE); + + *res = (int)temp; return (0); } @@ -124,7 +132,7 @@ kstrtouint(const char *cp, unsigned int base, unsigned int *res) char *end; unsigned long temp; - *res = temp = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -133,6 +141,8 @@ kstrtouint(const char *cp, unsigned int base, unsigned int *res) return (-EINVAL); if (temp != (unsigned int)temp) return (-ERANGE); + + *res = (unsigned int)temp; return (0); } @@ -142,7 +152,7 @@ kstrtou8(const char *cp, unsigned int base, uint8_t *res) char *end; unsigned long temp; - *res = temp = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -151,6 +161,8 @@ kstrtou8(const char *cp, unsigned int base, uint8_t *res) return (-EINVAL); if (temp != (uint8_t)temp) return (-ERANGE); + + *res = (uint8_t)temp; return (0); } @@ -160,7 +172,7 @@ kstrtou16(const char *cp, unsigned int base, uint16_t *res) char *end; unsigned long temp; - *res = temp = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -169,20 +181,20 @@ kstrtou16(const char *cp, unsigned int base, uint16_t *res) return (-EINVAL); if (temp != (uint16_t)temp) return (-ERANGE); + + *res = (uint16_t)temp; return (0); } static inline int kstrtou32(const char *cp, unsigned int base, uint32_t *res) { - return (kstrtouint(cp, base, res)); } static inline int kstrtos32(const char *cp, unsigned int base, int32_t *res) { - return (kstrtoint(cp, base, res)); } @@ -190,14 +202,17 @@ static inline int kstrtos64(const char *cp, unsigned int base, int64_t *res) { char *end; + quad_t temp; - *res = strtoq(cp, &end, base); + temp = strtoq(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = (int64_t)temp; return (0); } @@ -208,17 +223,20 @@ kstrtoll(const char *cp, unsigned int base, long long *res) } static inline int -kstrtou64(const char *cp, unsigned int base, u64 *res) +kstrtou64(const char *cp, unsigned int base, uint64_t *res) { char *end; + u_quad_t temp; - *res = strtouq(cp, &end, base); + temp = strtouq(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = (uint64_t)temp; return (0); } @@ -231,7 +249,7 @@ kstrtoull(const char *cp, unsigned int base, unsigned long long *res) static inline int kstrtobool(const char *s, bool *res) { - int len; + size_t len; if (s == NULL || (len = strlen(s)) == 0 || res == NULL) return (-EINVAL); @@ -302,7 +320,6 @@ static inline int kstrtou32_from_user(const char __user *s, size_t count, unsigned int base, unsigned int *p) { - return (kstrtouint_from_user(s, count, base, p)); } From nobody Mon Jan 12 17:18:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfH562Pcz6NrPG for ; Mon, 12 Jan 2026 17:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfH534B9z40ZM for ; Mon, 12 Jan 2026 17:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oqs2qvmpYYV7ZiXMKbZuHtf8yRvbNczZex8JiwZ6lDc=; b=FJ9/zBKI5BDVCjt72gjwe549QxpoAEAd1V8V95kwqLOjrfjXjTNEf3buPMXRSfH/CUCIKp dkteNi1N3WQxsMSAC1KFmLQCPfU/91M1wTF0rMxtfZwwFftZnrmx7uI+xsiappYY5IhoFB JjfRe3tARmFmJ+Vq9ojm9tQ8ltRXTO7QSwxuBk4PWaHnX1fXQ4tTPan7oo/dKzPRylSc9d sHXiVdMalfqygw8+S6M3v2/ALuggQ+Jnt6NYc1OuciDUhp6zrWZRS5bsJEWzqKe3UDjahb an0clwRE/9F54rTX9JUwpX/njcQDVW3KIUa9PpcG7YStRhRB2WqFasm8Z1EKyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oqs2qvmpYYV7ZiXMKbZuHtf8yRvbNczZex8JiwZ6lDc=; b=A8uUwpKytlJJgyJBYGyOGZaKjwIcWG6D9RQxo3g7cgo8xbwCegfHr0btXB8Z9DJDvezMW9 UW01wWLlCMRtxxPajT6XEdd08D8Fj0JaBUwiMMiXmW+O3MkVPz8UtSP0+jmmSeY6M4AtnV IyoxrtV7XfkhuJ9MGAjR08NniMRNWTHguMyF2+p0QsYpjrymxcKsNw97OCuPp2+gyXmkt7 /TKEV0IhhpDyS2GpNbXPH9AH9+c6z1QYk67KwJj8Z3E1qhA5qtiJI9A+nXv8EFNwYjZ54u QtA75bjyp2pM3fzYbn+Al4dtpNZr6nf1eiPGIA88XcIMacvkR60Tpn29Ix0gCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238321; a=rsa-sha256; cv=none; b=BCqlruSElj8TrDdJjKEssm1ISmuUEzFSUnMCnwmLwTBLdKfLliam6kcSGlQHcXMOxCEUDJ WIuFmuUWm7D54OIgOZJk241d82jts1lcJwuBkQJvPSWPbpTOGTpMlxPoLYukEiB/CE7qki g9yXnueUpcMoenGjJISZumgRz0UkLVmIF2jScwgqzyUxP4i0X4iEqvmx6iJLPCOjxq67ys w9ccSl90b/OItLlpo9uIUSi3DYJw0uBWgqyZRiAx5jGMVZvQOEsNfWcg2tfJpKKkgXq2Xs jE1zkGu7c+DTFXwu6QXGGt9Kxa/CTXKGBDTKrGbvtBAyf8yKCU94mXLwrHlRNw== 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 4dqfH526SRzc0S for ; Mon, 12 Jan 2026 17:18:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37730 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:41 +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: d97fa8e49a4a - stable/15 - depend-cleanup.sh: Reduce repetition 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: d97fa8e49a4ad7134e6b5ba4f3aa4e262062256b Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:41 +0000 Message-Id: <69652cf1.37730.4dd6a1e0@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d97fa8e49a4ad7134e6b5ba4f3aa4e262062256b commit d97fa8e49a4ad7134e6b5ba4f3aa4e262062256b Author: Dag-Erling Smørgrav AuthorDate: 2025-12-31 13:10:39 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:21 +0000 depend-cleanup.sh: Reduce repetition MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54329 (cherry picked from commit aa611fa7e835ae77a623cc6d05020f5ee76dc881) --- tools/build/depend-cleanup.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 2e52262693e5..403b0823a2b6 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -161,13 +161,13 @@ run() # $4 optional regex for egrep -w clean_dep() { + local dirprfx dir for libcompat in "" $ALL_libcompats; do - dirprfx=${libcompat:+obj-lib${libcompat}/} - if egrep -qw "${4:-$2\.$3}" "$OBJTOP"/$dirprfx$1/.depend.$2.*o 2>/dev/null; then + dirprfx=${libcompat:+obj-lib${libcompat}} + dir="${OBJTOP%/}/${dirprfx}/$1" + if egrep -qw "${4:-$2\.$3}" "${dir}"/.depend.$2.*o 2>/dev/null; then echo "Removing stale ${libcompat:+lib${libcompat} }dependencies and objects for $2.$3" - run rm -fv \ - "$OBJTOP"/$dirprfx$1/.depend.$2.* \ - "$OBJTOP"/$dirprfx$1/$2.*o + run rm -fv "${dir}"/.depend.$2.* "${dir}"/$2.*o fi done } @@ -183,12 +183,13 @@ clean_dep() # $4 regex for egrep -w clean_obj() { + local dirprfx dir for libcompat in "" $ALL_libcompats; do - dirprfx=${libcompat:+obj-lib${libcompat}/} - if strings "$OBJTOP"/$dirprfx$1/$2.*o 2>/dev/null | egrep -qw "${4}"; then + dirprfx=${libcompat:+obj-lib${libcompat}} + dir="${OBJTOP%/}/${dirprfx}/$1" + if strings "${dir}"/$2.*o 2>/dev/null | egrep -qw "${4}"; then echo "Removing stale ${libcompat:+lib${libcompat} }objects for $2.$3" - run rm -fv \ - "$OBJTOP"/$dirprfx$1/$2.*o + run rm -fv "${dir}"/$2.*o fi done } @@ -221,6 +222,7 @@ extract_src_opts() extract_obj_opts() { + local fn for fn; do if [ -f "${fn}" ]; then cat "${fn}" From nobody Mon Jan 12 17:18:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfH75kCNz6NrXl for ; Mon, 12 Jan 2026 17:18: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 4dqfH73zsBz40hr for ; Mon, 12 Jan 2026 17:18:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4OGfeADSG4Qy8Y7mQm2jaBBXmFaYHz5odNq21tqRE64=; b=r0sdhwsTGbV7zAB4qvQI4aC6IlhDoGa6jWcrjTJCZi5PENkyoj/ZyyAiAtSQefp2adaODQ FifixKq77/E+nSQGSJO0s04SZ5M7WKmf+uNNBBfglasxLOItvDRO1IEKrrzTwXx/PP4bpm BlHdAZfJn55Xf3s2+Z23HFH73htd8nzmPVbXDDZV3Oeh4TsPMCdCBXmvgL96mTlsjChooX hUwRTWc2iRuvQrMjaz43Nk0pNZgidx8Gy0NM++7So9CX5j+zQUg9H+LEaTZII89SHE34ke xCEbhPDa7RgGpteAqRsk0CbIa8VqMHTs+clQKp9VXbJUCzfUyITk55zpKzkHZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4OGfeADSG4Qy8Y7mQm2jaBBXmFaYHz5odNq21tqRE64=; b=j2eYY4ClT+YY5rOb7iL2g3RVDMXCj8mYzhf88dqjOkeX5GpNRwA7oiHHQeRt920j6cfIHl epzVEAT58jAG0AsamoN40rhCkNyX1cUvpsoMKd6neBTTTiWrIwxBorZC/jcdYokp2vqzIY sFV240GzE51Uo0qqGI2vpXkwW8TmyPY4PpBLYLL4UPdVVsuBUWWOBiDz2Ky9H7BIdVxPy/ O3heGLMFA0YfuCqcz+uTznsuC858SeOKD+gVo8AePWbK3DB/1a+aywFcjSr7Ijmls0npNy PeaR6qJpl5lr8EqVI7KSiz2cXaa0C2ct1s+p889hvQrT/NiRi7Bz6Zgj8W/+lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238323; a=rsa-sha256; cv=none; b=k+GlLOCThd8PsaVQtwU0FKpLv/s099HfDuOPyVmZM2HA+XAnUXFhG/GmA9a8ZgLXNfrPg6 jMexWgDpkPyIUcfjkDcUgY74k6nVwwwh8+evsnMsfSIL6+G5gn+3999VfPvpZsxF1saE6c micjcTZCzG+5BBqlbH/UsON+en+Wwu07JRzcWU/e5qS4tAOqOTw7RKN6xAkIxf1c2H4olg tuP8RK/QQd8fwhyhfOlPoLX9hqFl8eZya6Qx26aTqqhrXLaC7BMR6WwJFOlHWnGSqcmGe8 SFQ9XoXI9ieyPhgOLf2OvdJVQAnL6qr31h6iDc0v3s7mmjcHdS8lDDeq7xF9aw== 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 4dqfH73YPbzcBF for ; Mon, 12 Jan 2026 17:18:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36d73 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:43 +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: 6eea426f016c - stable/15 - linuxkpi: Correct kstrtobool 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: 6eea426f016c0aa97ea5745dda6670042b81f698 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:43 +0000 Message-Id: <69652cf3.36d73.75c8c775@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6eea426f016c0aa97ea5745dda6670042b81f698 commit 6eea426f016c0aa97ea5745dda6670042b81f698 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:21 +0000 linuxkpi: Correct kstrtobool Implement the exact same logic as in Linux: * Accept 'e', 't', 'y', '1', "on" for true. * Accept 'd', 'f', 'n', '0', "of" for false. * Disregard any characters beyond that. * Check that the string is not null, but don't check the result pointer. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: bz, emaste Differential Revision: https://reviews.freebsd.org/D54451 (cherry picked from commit f86148d2777d4d7985ed8f4ae957c41c44bd2484) --- sys/compat/linuxkpi/common/include/linux/kstrtox.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kstrtox.h b/sys/compat/linuxkpi/common/include/linux/kstrtox.h index 6a145c409038..05bf94dd375d 100644 --- a/sys/compat/linuxkpi/common/include/linux/kstrtox.h +++ b/sys/compat/linuxkpi/common/include/linux/kstrtox.h @@ -249,22 +249,16 @@ kstrtoull(const char *cp, unsigned int base, unsigned long long *res) static inline int kstrtobool(const char *s, bool *res) { - size_t len; - - if (s == NULL || (len = strlen(s)) == 0 || res == NULL) + if (s == NULL || *s == '\0') return (-EINVAL); - /* skip newline character, if any */ - if (s[len - 1] == '\n') - len--; - - if (len == 1 && strchr("yY1", s[0]) != NULL) + if (strchr("eEtTyY1", s[0]) != NULL) *res = true; - else if (len == 1 && strchr("nN0", s[0]) != NULL) + else if (strchr("dDfFnN0", s[0]) != NULL) *res = false; - else if (strncasecmp("on", s, len) == 0) + else if (strncasecmp("on", s, 2) == 0) *res = true; - else if (strncasecmp("off", s, len) == 0) + else if (strncasecmp("of", s, 2) == 0) *res = false; else return (-EINVAL); From nobody Mon Jan 12 17:18:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfH93qPkz6NrNL for ; Mon, 12 Jan 2026 17:18: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 4dqfH84wYyz40lK for ; Mon, 12 Jan 2026 17:18:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2l6gFrEmAg0MJZ5BoWPJ1Hztc9d56SdCs6yj51zW3gQ=; b=kmmIR80AF2PL7UVOOURKImrZO69D768L0BsZa7AuJzAM6XV84B2xaD80Ptb9jDI8XcL2Gm 5jK6yk9Qm5UhQm4pDCVtupdp5zKSd+fbmqO+WJKuIRpAzR0fOmII8XRKc6vYISSuMeLdJR l0AyskhCiaLpldHYhnEkBB8DNuA850hbJh6N2H/GdwmM2U1YT+3gUXYfmHZn7qORVVcfvP av3TVmwfoDn87gQyqtAbjbO/jZCvmiIKt4R7ZqmVOg7y2EIfP/X3nrdYpIPYrFhOP7hmZB gThnY5ENvcpYC/CIyY45YPg0CFiemSsrgUDgyXLBgIlGeAYRQ38nGHal7GzpLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2l6gFrEmAg0MJZ5BoWPJ1Hztc9d56SdCs6yj51zW3gQ=; b=BR2K00+xG+l9IBO1pBxod81rKF0bkca5Nzpjj4GKuRmoV0sB4a4aBK73fU4Yv9A3zs8ffO EAaursxzimIyF1CXW1BCfwwoLrFp1vvrIucYqgwc+w7eZytfmJdpJhsnK7k9I/MJiJIcVV hjh2Ih44dg1P//b4cv+371B52cNcJukFq0o4hcQX8Av05fgg2JsmOocuOjSkU6DMlxRF4X nZ8gq22gXebpGaK6hzgiGVQwDsjQ2JbziJaopfd8iq087mmKrPOmo0TmyuPLfe1vytZE+S VV2gVVGtXepjiKEcC00AjA2bC9zuDhk2N5NvRpPBQpQufpIV+X6IIqGyke4WMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238324; a=rsa-sha256; cv=none; b=mPDLNQyjcoPfyJodMZ5em6C1R/PcKFtOMP7chNBiGeQzer67pTm+rGfts/fF+9EMqPc4iT zlrOD+HvXSgKCSCFd9UhZzaDcAh+80KXfy4IEzGA1R34z/jCkfuH60qcDdacFpII/AlLq+ evZs2FSoN8gDkKnSCU1KqjrPzVK0fVE2B71RZmTlxOinL/vLTfOxCSq9ovXdORo1zXUoz/ CUWcYtiBPrTcw4UxuHWLM1BovgOf43bfAjySnOdCn31RL34RjSQa7DCOEx8nMVG6hqTzAH u/YGjfkP2MtsrnSbJjbfuP6fYK04hDTPyF8kARsDqRcLoswDgPzMfF91WMexaQ== 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 4dqfH84Sz1zcBG for ; Mon, 12 Jan 2026 17:18:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 357ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:44 +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: 08e7bdaf18b9 - stable/15 - libgeom: Fix segfault in 32-on-64 case 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: 08e7bdaf18b9d452501772cf7914a252363cba61 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:44 +0000 Message-Id: <69652cf4.357ea.32ea88d6@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=08e7bdaf18b9d452501772cf7914a252363cba61 commit 08e7bdaf18b9d452501772cf7914a252363cba61 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:51 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:22 +0000 libgeom: Fix segfault in 32-on-64 case We were using strtoul() to parse object identifiers, which are kernel pointers. This works fine as long as the kernel and userland match, but in a 32-bit libgeom on a 64-bit kernel this will return ULONG_MAX for all objects, resulting in memory corruption when we later pick the wrong object while resolving consumer-producer references. MFC after: 1 week PR: 292127 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54452 (cherry picked from commit 27894e20f140ee2729c14b589035870c8185b87d) --- lib/libgeom/geom_xml2tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 2d2c43e29e77..161425d9fadf 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -76,10 +76,10 @@ StartElement(void *userData, const char *name, const char **attr) ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (!strcmp(attr[i], "id")) { - id = (void *)strtoul(attr[i + 1], NULL, 0); + id = (void *)strtoumax(attr[i + 1], NULL, 0); mt->nident++; } else if (!strcmp(attr[i], "ref")) { - ref = (void *)strtoul(attr[i + 1], NULL, 0); + ref = (void *)strtoumax(attr[i + 1], NULL, 0); } else printf("%*.*s[%s = %s]\n", mt->level + 1, mt->level + 1, "", From nobody Mon Jan 12 17:18:45 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfH96jRkz6NrKs for ; Mon, 12 Jan 2026 17:18: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 4dqfH95pYjz40ZT for ; Mon, 12 Jan 2026 17:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rxYeZMHhoyxCjeIsamwyUnO/CRPDEqrpbT8GZUzsN0Y=; b=EkDYH+G+EZbtq9dhLZdnpO1LF6CLU38EqNQ9cklDSHE3r3BY00uwJBNvh1HJ27+vdstLV8 9+Oj1m1cLGrECauEuJrIAyWOGRyI8nPZbtZXhxgZ2pzhRKw+Gt+sssYgk7KwnaqVHJ5hBY 5qQgtEkV1P8jQHxJw61IteJLASpKu9xPm+DIBSAcHOSKqZ7RYfRtsp3TbBB1i04GiDAEpE 2KGkJj5e0Q46gWsqytxc8KOLTh/9cyTlb/amvEuRPhsG4lekxw4WxhU7EBt8Vee+PCgS1v 83Dwdv734EUgS0Kz44UGRiXWzEY9r6fxH7t5s/wWZVjemC4iNbzt6T/K8B5+FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rxYeZMHhoyxCjeIsamwyUnO/CRPDEqrpbT8GZUzsN0Y=; b=E6OhexXkGNzWostVh+S9z8HPQRU8J8yY+neiZIMOyVIo/QwhBX1stPA3k94iNGoIlIHdoG xlxmINgfm0oPgEEN313vikHD9Z5a+vGo+dGBvx2eR8Lx5fBKQoinM9eGZQw+JnR3Qh/c6k 9y3BG8MlE1bdUL9zS0aR0u0e0TS3R7dYRRfN+1Hia3UyXoHLZqOhwSy0ccITOww0pOGGwF M+xAcjOD4Aqj+wfebpF6yqpbH9Q9F8Gyz2Ma+HNkk33WH3ZlQ2AJ0PwyqjHM1D8vCTU1FS zLvPPC/uoHxITlfJ6Q1geJiEE0DctNZnR6VArMVXSPmXydkyUKbRj+o5of59TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238325; a=rsa-sha256; cv=none; b=hV7XVla2YbKD6EhXTzMI5OOoUxqlNY47A39X3dXspjpJKhIols/jxyVxbcduILaXO3Pyb1 AArFVKxxF5TmtFNgDBhkIWkEAw8vQXJz+R7w1gxF+BEpAzrGwt3wk/yUcpCB4hhPu2Nhhx D4i1/HygyFUzpuFSbv7+8konEYf+g55d3Qi5SFErZGFKBe/lqk/UBIb2/bmcSzl9E/jxWF yGyAZSNkx59JsiiOs4z/E1kwuKyRpPHZJK/QvkgfExp7hCbJWfJpgT1DJf/xRjaCHAz/jE JxzcInnWPf48AYG3dwv5G58BXwv2jdQZjlrTLFcr0A6sskOlegUEbxF7tp4u1A== 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 4dqfH9516QzcLD for ; Mon, 12 Jan 2026 17:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37fb1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:45 +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: 4b6cab42defc - stable/15 - libgeom: Clean up xml2tree code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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: 4b6cab42defc58ed0a73bfdb7cdcdaff2d9cfef0 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:45 +0000 Message-Id: <69652cf5.37fb1.c4c664a@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4b6cab42defc58ed0a73bfdb7cdcdaff2d9cfef0 commit 4b6cab42defc58ed0a73bfdb7cdcdaff2d9cfef0 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:22 +0000 libgeom: Clean up xml2tree code MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54453 (cherry picked from commit fad6707e2589d8557ceb6b6bf11f22323b265f01) --- lib/libgeom/geom_xml2tree.c | 100 ++++++++++++++++++++++---------------------- lib/libgeom/libgeom.h | 2 +- 2 files changed, 52 insertions(+), 50 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 161425d9fadf..81f7de1be263 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -29,21 +29,24 @@ * SUCH DAMAGE. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include #include #include +#include #include + +#include #include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include @@ -75,17 +78,14 @@ StartElement(void *userData, const char *name, const char **attr) id = NULL; ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { - if (!strcmp(attr[i], "id")) { + if (strcmp(attr[i], "id") == 0) { id = (void *)strtoumax(attr[i + 1], NULL, 0); mt->nident++; - } else if (!strcmp(attr[i], "ref")) { + } else if (strcmp(attr[i], "ref") == 0) { ref = (void *)strtoumax(attr[i + 1], NULL, 0); - } else - printf("%*.*s[%s = %s]\n", - mt->level + 1, mt->level + 1, "", - attr[i], attr[i + 1]); + } } - if (!strcmp(name, "class") && mt->class == NULL) { + if (strcmp(name, "class") == 0 && mt->class == NULL) { mt->class = calloc(1, sizeof *mt->class); if (mt->class == NULL) { mt->error = errno; @@ -100,7 +100,7 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->class->lg_config); return; } - if (!strcmp(name, "geom") && mt->geom == NULL) { + if (strcmp(name, "geom") == 0 && mt->geom == NULL) { mt->geom = calloc(1, sizeof *mt->geom); if (mt->geom == NULL) { mt->error = errno; @@ -116,11 +116,11 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->geom->lg_config); return; } - if (!strcmp(name, "class") && mt->geom != NULL) { + if (strcmp(name, "class") == 0 && mt->geom != NULL) { mt->geom->lg_class = ref; return; } - if (!strcmp(name, "consumer") && mt->consumer == NULL) { + if (strcmp(name, "consumer") == 0 && mt->consumer == NULL) { mt->consumer = calloc(1, sizeof *mt->consumer); if (mt->consumer == NULL) { mt->error = errno; @@ -135,15 +135,15 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->consumer->lg_config); return; } - if (!strcmp(name, "geom") && mt->consumer != NULL) { + if (strcmp(name, "geom") == 0 && mt->consumer != NULL) { mt->consumer->lg_geom = ref; return; } - if (!strcmp(name, "provider") && mt->consumer != NULL) { + if (strcmp(name, "provider") == 0 && mt->consumer != NULL) { mt->consumer->lg_provider = ref; return; } - if (!strcmp(name, "provider") && mt->provider == NULL) { + if (strcmp(name, "provider") == 0 && mt->provider == NULL) { mt->provider = calloc(1, sizeof *mt->provider); if (mt->provider == NULL) { mt->error = errno; @@ -159,11 +159,11 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->provider->lg_config); return; } - if (!strcmp(name, "geom") && mt->provider != NULL) { + if (strcmp(name, "geom") == 0 && mt->provider != NULL) { mt->provider->lg_geom = ref; return; } - if (!strcmp(name, "config")) { + if (strcmp(name, "config") == 0) { if (mt->provider != NULL) { mt->config = &mt->provider->lg_config; return; @@ -210,7 +210,7 @@ EndElement(void *userData, const char *name) p = NULL; } - if (!strcmp(name, "name")) { + if (strcmp(name, "name") == 0) { if (mt->provider != NULL) { mt->provider->lg_name = p; return; @@ -222,47 +222,47 @@ EndElement(void *userData, const char *name) return; } } - if (!strcmp(name, "rank") && mt->geom != NULL) { + if (strcmp(name, "rank") == 0 && mt->geom != NULL) { mt->geom->lg_rank = strtoul(p, NULL, 0); free(p); return; } - if (!strcmp(name, "mode") && mt->provider != NULL) { + if (strcmp(name, "mode") == 0 && mt->provider != NULL) { mt->provider->lg_mode = p; return; } - if (!strcmp(name, "mode") && mt->consumer != NULL) { + if (strcmp(name, "mode") == 0 && mt->consumer != NULL) { mt->consumer->lg_mode = p; return; } - if (!strcmp(name, "mediasize") && mt->provider != NULL) { + if (strcmp(name, "mediasize") == 0 && mt->provider != NULL) { mt->provider->lg_mediasize = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "sectorsize") && mt->provider != NULL) { + if (strcmp(name, "sectorsize") == 0 && mt->provider != NULL) { mt->provider->lg_sectorsize = strtoul(p, NULL, 0); free(p); return; } - if (!strcmp(name, "stripesize") && mt->provider != NULL) { + if (strcmp(name, "stripesize") == 0 && mt->provider != NULL) { mt->provider->lg_stripesize = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "stripeoffset") && mt->provider != NULL) { + if (strcmp(name, "stripeoffset") == 0 && mt->provider != NULL) { mt->provider->lg_stripeoffset = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "config")) { + if (strcmp(name, "config") == 0) { mt->config = NULL; free(p); return; } - if (mt->config != NULL || (!strcmp(name, "wither") && + if (mt->config != NULL || (strcmp(name, "wither") == 0 && (mt->provider != NULL || mt->geom != NULL))) { if (mt->config != NULL) c = mt->config; @@ -301,28 +301,28 @@ EndElement(void *userData, const char *name) free(p); } - if (!strcmp(name, "consumer") && mt->consumer != NULL) { + if (strcmp(name, "consumer") == 0 && mt->consumer != NULL) { mt->consumer = NULL; return; } - if (!strcmp(name, "provider") && mt->provider != NULL) { + if (strcmp(name, "provider") == 0 && mt->provider != NULL) { mt->provider = NULL; return; } - if (!strcmp(name, "geom") && mt->consumer != NULL) { + if (strcmp(name, "geom") == 0 && mt->consumer != NULL) { return; } - if (!strcmp(name, "geom") && mt->provider != NULL) { + if (strcmp(name, "geom") == 0 && mt->provider != NULL) { return; } - if (!strcmp(name, "geom") && mt->geom != NULL) { + if (strcmp(name, "geom") == 0 && mt->geom != NULL) { mt->geom = NULL; return; } - if (!strcmp(name, "class") && mt->geom != NULL) { + if (strcmp(name, "class") == 0 && mt->geom != NULL) { return; } - if (!strcmp(name, "class") && mt->class != NULL) { + if (strcmp(name, "class") == 0 && mt->class != NULL) { mt->class = NULL; return; } @@ -347,7 +347,7 @@ CharData(void *userData , const XML_Char *s , int len) } struct gident * -geom_lookupid(struct gmesh *gmp, const void *id) +geom_lookupid(const struct gmesh *gmp, const void *id) { struct gident *gip; @@ -413,6 +413,7 @@ geom_xml2tree(struct gmesh *gmp, char *p) return (ENOMEM); i = 0; /* Collect all identifiers */ + /* XXX we should check for duplicate identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { gmp->lg_ident[i].lg_id = cl->lg_id; gmp->lg_ident[i].lg_ptr = cl; @@ -441,8 +442,9 @@ geom_xml2tree(struct gmesh *gmp, char *p) LIST_FOREACH(cl, &gmp->lg_class, lg_class) { LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { ge->lg_class = geom_lookupidptr(gmp, ge->lg_class); - LIST_FOREACH(pr, &ge->lg_provider, lg_provider) + LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom); + } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { co->lg_geom = geom_lookupidptr(gmp, co->lg_geom); if (co->lg_provider != NULL) { @@ -522,22 +524,22 @@ geom_deletetree(struct gmesh *gmp) break; LIST_REMOVE(cl, lg_class); delete_config(&cl->lg_config); - if (cl->lg_name) free(cl->lg_name); + free(cl->lg_name); for (;;) { ge = LIST_FIRST(&cl->lg_geom); if (ge == NULL) break; LIST_REMOVE(ge, lg_geom); delete_config(&ge->lg_config); - if (ge->lg_name) free(ge->lg_name); + free(ge->lg_name); for (;;) { pr = LIST_FIRST(&ge->lg_provider); if (pr == NULL) break; LIST_REMOVE(pr, lg_provider); delete_config(&pr->lg_config); - if (pr->lg_name) free(pr->lg_name); - if (pr->lg_mode) free(pr->lg_mode); + free(pr->lg_name); + free(pr->lg_mode); free(pr); } for (;;) { @@ -546,7 +548,7 @@ geom_deletetree(struct gmesh *gmp) break; LIST_REMOVE(co, lg_consumer); delete_config(&co->lg_config); - if (co->lg_mode) free(co->lg_mode); + free(co->lg_mode); free(co); } free(ge); diff --git a/lib/libgeom/libgeom.h b/lib/libgeom/libgeom.h index 950508fd3637..2116645bd496 100644 --- a/lib/libgeom/libgeom.h +++ b/lib/libgeom/libgeom.h @@ -133,7 +133,7 @@ struct gprovider { struct gconf lg_config; }; -struct gident * geom_lookupid(struct gmesh *, const void *); +struct gident *geom_lookupid(const struct gmesh *, const void *); int geom_xml2tree(struct gmesh *, char *); int geom_gettree(struct gmesh *); int geom_gettree_geom(struct gmesh *, const char *, const char *, int); From nobody Mon Jan 12 17:18:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfHC3TmMz6NrXx for ; Mon, 12 Jan 2026 17:18:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfHB6K2Cz40ZZ for ; Mon, 12 Jan 2026 17:18:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C9u5zjWvC5Jn3SHvaZn8L3Q/DgTF+yLc9RWR92ph5Vo=; b=JyHzV1f4ePeATtzYSe5vKUuPoJj9OuZdfM8dR1VL1Hs9kSTQfqo5vvNpsl3PtkzPfvdbPP wx8j0mhJa32PVnYw9Sz2YEETaZh7ZqD5WBZ7n45g9XAjSlTxRWMsgeSO7BJCOEJj7hwu3I 9xnlQNlipRle0yx5875ayzKW5D+0qBpiGvIqmEoTBIvzF8MBM2LkLHH9Agz4qv419FgXuS NL2AwKp1PgdMLavXX/u7DA/+ke5qhqPwJ6fHJxJxvYGOmE8NCQI2506lCrLYbTwUbiheAk WxJKhC5RkYY4u+R/db1eeih+iDeAnu7TwBrTJZZaWQA9uuepTX5KsvCApQ9tDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C9u5zjWvC5Jn3SHvaZn8L3Q/DgTF+yLc9RWR92ph5Vo=; b=IfJ5kky1IXhnMbOYQJTWBPoDHxHlDUvTBGCbKSJEzxohi3p8oZc4+6g8fXZVKnr3ReoEte Kq5xociPy91nRkl5UAcgKtKPRFtTMDASL4pmKsvz6EJ1jDI8Y2eYan5TCS3ROICEIY9zft kiTU0usG7dx9SjeLWhO4vqQDqlL20swKViBYNjIFPDKuu7CMjIhpd7v+m5xcQWKdGVutX4 59e4fIWzWlRGIP3YMb0i8GkH9GrXfKhRw7c6frzzqTvzTXooHgpcMsmU0NdN+5enc0ssR1 wPPz84oteH+Xw81+Nj+lUSLJc6woVwlDBg45TyuR5eURnbq59KREofmL3WQixA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238326; a=rsa-sha256; cv=none; b=Z0ViOyxCSBQ+i8JH03ivEHq6FaXJ1SH9MKE8rnuKYDtPYU+R/gOY97sXXp5UF/l7gPeUe8 Zc912hvzQIaL5VU2mvFi74zucc3KJnobsBSmo+XJXzStOfluv7vShUMZMCWkgUL5TaeJry MW9mnOK6kGSM41GB++77WbP41dMa4+hP9W3YpWBkjTSyEndrl+IfGUvdXOKPFijXIMJiPy FlPSO2zSh3Z4vRFq9iSDktO5SwfmjKypghf9gvVCwcYTeyDolQk9Yb/QkYJbbZP36LCgoO Ufxj59PE/XodDzmupa6scXTuAEtKIGYInZdhm0gX1DJRFdkOH2/KK/umoA6Ejw== 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 4dqfHB5tNtzc0W for ; Mon, 12 Jan 2026 17:18:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 35a46 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:46 +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: fba2421c6893 - stable/15 - libgeom: Improve type safety of xml2tree code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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: fba2421c689319ede3079f7010ede98a0843c4ee Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:46 +0000 Message-Id: <69652cf6.35a46.42dfa1af@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fba2421c689319ede3079f7010ede98a0843c4ee commit fba2421c689319ede3079f7010ede98a0843c4ee Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:10:03 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:22 +0000 libgeom: Improve type safety of xml2tree code When resolving references, assert that the type of the object we find is what we expect. This will help prevent memory corruption if two objects of different types somehow end up with the same identifier. MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54454 (cherry picked from commit 4b0d5d1d6a7c9773e38882feb4747a76b37a645c) --- lib/libgeom/geom_xml2tree.c | 54 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 81f7de1be263..03210947d431 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -358,14 +359,47 @@ geom_lookupid(const struct gmesh *gmp, const void *id) } static void * -geom_lookupidptr(struct gmesh *gmp, const void *id) +geom_lookup_class(const struct gmesh *gmp, const void *id) { struct gident *gip; - gip = geom_lookupid(gmp, id); - if (gip) - return (gip->lg_ptr); - return (NULL); + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISCLASS); + return (gip->lg_ptr); +} + +static void * +geom_lookup_geom(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISGEOM); + return (gip->lg_ptr); +} + +static void * +geom_lookup_provider(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISPROVIDER); + return (gip->lg_ptr); +} + +static void * __unused +geom_lookup_consumer(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISCONSUMER); + return (gip->lg_ptr); } int @@ -441,15 +475,15 @@ geom_xml2tree(struct gmesh *gmp, char *p) /* Substitute all identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { - ge->lg_class = geom_lookupidptr(gmp, ge->lg_class); + ge->lg_class = geom_lookup_class(gmp, ge->lg_class); LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { - pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom); + pr->lg_geom = geom_lookup_geom(gmp, pr->lg_geom); } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { - co->lg_geom = geom_lookupidptr(gmp, co->lg_geom); + co->lg_geom = geom_lookup_geom(gmp, co->lg_geom); if (co->lg_provider != NULL) { - co->lg_provider = geom_lookupidptr(gmp, - co->lg_provider); + co->lg_provider = geom_lookup_provider(gmp, + co->lg_provider); if (co->lg_provider != NULL) { LIST_INSERT_HEAD( &co->lg_provider->lg_consumers, From nobody Mon Jan 12 17:18:47 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfHD3qfMz6NrY2 for ; Mon, 12 Jan 2026 17:18:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfHD038fz40g8 for ; Mon, 12 Jan 2026 17:18:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VwPpfqNUVEQP4ftATjSYgbqAEew1A4949G75pmzSW4=; b=aoE3dlz195Xs9yv/BN3MUHKc3NqRHEBdsQcYYMDV3e1cx+xDl7OoZbSzD1qazknPWvhm1g iFOncTpPvFZ9oW1VTpC9DwWUT7HKb8sZfs8iWvMhaB6Pvmr7r+1fNudlgt1RyK365zgVmK QB/HU0dRw5rSes7QeLqhfC0+Kh2NnjSlJVDOnPNflGNzEbxKJVNjOjEJ/KEqUgjXfRNnI1 xpiRDNI6fIV4dFqde+CrmIaMuqxDA393DESm6dIVyJEkR6aj5j/d8/p3lq/BUWodhP4Nh8 N/4U+9UNdgqO5POlSsDlI7bxVnFONzMNVWMCnBgaClnIsWYiesyReL/8teiI+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VwPpfqNUVEQP4ftATjSYgbqAEew1A4949G75pmzSW4=; b=x3HSiUuLztiPldvZpAvL+D+yXms9GH327Fl8TnPVsucN/5aTD71t4YCGB/wf4GIUZt7L59 gOkMVuObf350/UitJ3pVW9auBJa5BAYSX7JayUAGSq+LYjDwnWsPAMUivCjSDlj16v/blt 4C6sc/j21IbzNZ18zBPUNqJoOqrTvwkLdN8mjnboAyK5bgsoAE5npi3RFNLdoHiHwefiZl 6Ttuu7GBqq4vdkEVqEEasqi5Ked6ncnT1eLQY1jlqa2PhrP+Trwpi5tUPMpdy4kjSYjkhq GcALCvoAj/ow40IMD0YHg6H0DF6ebH+TOx/X7b1QEZ+LY7g/rzdwnvAxQlKitw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238328; a=rsa-sha256; cv=none; b=l9hI512jb/oO6yjfQyAkZofIwdcLRjGAjdgzpZcqxxanKUcCLB6eVvK788LA0eCLqcYG3Z zxvZhi6o9virfMQvmOs0+2l8xThhWn57/WU4xpL5Qm4eAv6lKRgCHSC7IzHXpZf/VD4Wr/ ei9BuEcudDUIuYd6xh/1IN+TUL+F3i07wGo9U/N9jFSv2i/qVh+Ov8KosOtDj9ofcDKRL0 1yaNtItRVba2SerCw3k+fPn+QJHEI7YyP8dXd1EbCT1l38oOZ914DDlTjNoG9K6hhdRTE5 bXl9AzpaBPV5uTiKcapQpJxdtbQGNC3bd5I9aVTFe1ZcjRz2opQBIExh/WkTcg== 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 4dqfHC6hn4zc0X for ; Mon, 12 Jan 2026 17:18:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37fb6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:18:47 +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: e25aedb85e9d - stable/15 - libgeom: Fix 32-bit gcc build 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: e25aedb85e9d0d2da73e9efd4fbe3adbaa7812dd Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:18:47 +0000 Message-Id: <69652cf7.37fb6.8b326f3@gitrepo.freebsd.org> The branch stable/15 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e25aedb85e9d0d2da73e9efd4fbe3adbaa7812dd commit e25aedb85e9d0d2da73e9efd4fbe3adbaa7812dd Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 20:34:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-12 17:18:22 +0000 libgeom: Fix 32-bit gcc build MFC after: 1 week Fixes: 27894e20f140 ("libgeom: Fix segfault in 32-on-64 case") (cherry picked from commit 17355cf50fcbd0d8ddb638e1f2fd5861b526edbe) --- lib/libgeom/geom_xml2tree.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 03210947d431..a66938671845 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -71,6 +71,7 @@ StartElement(void *userData, const char *name, const char **attr) struct mystate *mt; void *id; void *ref; + uintmax_t umax; int i; mt = userData; @@ -80,10 +81,12 @@ StartElement(void *userData, const char *name, const char **attr) ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (strcmp(attr[i], "id") == 0) { - id = (void *)strtoumax(attr[i + 1], NULL, 0); + umax = strtoumax(attr[i + 1], NULL, 0); + id = (void *)(uintptr_t)umax; mt->nident++; } else if (strcmp(attr[i], "ref") == 0) { - ref = (void *)strtoumax(attr[i + 1], NULL, 0); + umax = strtoumax(attr[i + 1], NULL, 0); + ref = (void *)(uintptr_t)umax; } } if (strcmp(name, "class") == 0 && mt->class == NULL) { From nobody Mon Jan 12 17:19:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfHz1ZKbz6Nrdd for ; Mon, 12 Jan 2026 17:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfHy38q6z41tX for ; Mon, 12 Jan 2026 17:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238366; h=from:from:reply-to:subject:subject: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=G1qX6et+awWsaRKKNA/DBIB2gR8Uo282OCmdUlc/8xY=; b=PGX+Uno1DwEdPZ80YR4L4sIOc9mkp7/KbFAi3Us6/KsIq3xTNXgDNIYSfb/nbdtXo3aVy5 VZSrWogddb3Lafx962XiqhdohZqvm9aX9MT7GmYj06A814x0M8cCZ8JJsuUn7UJrrq7V+o picdB/D20jA4Hn5ErncbglxKPy0NgQrbbX8w47v8kAMPvdbXdBYbPpsktrmqDbORyzaMN2 N7Kqy5+rWqDDksHADjNWn2PUoJUNI7ew7kO4hn6QxlKi0fveE8u9b4oeVi/wEItstEuUle 3rsWtIb0eGRvu8ZT8/iN1Ps0BMfU/01/ihBpW/lRlFHgvylU39SARVodXVtqfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238366; h=from:from:reply-to:subject:subject: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=G1qX6et+awWsaRKKNA/DBIB2gR8Uo282OCmdUlc/8xY=; b=C9/YPkrGKwmO6J0VDps874O2iSXZNAv2+KQOyJ1q0k5jE0QOtI2nIBrAfNc36vY8SEDL0F kbWP2Rnj4OgN127BSbDsl/sH7JP7DztQM1Yn08h/J2+M6IJl47n7urEG4k4g/r42umHsH0 Mb5V5BcFSzgepuAi+/scJ00xMTgyAz4YiT0/PEi/XmjJUZFa2tinWqBlezVnqsBgDGXxhA XwjzV7+DR50lowkR3ewPC82E3i4LuUWK7FO8mQZ3f4mTIvBjjvaPfeANnhv5UM5uc248vj 7jyU3UXSU+MQBKC05558p2kgKNP8Lukhk8gcdKl81atfpCOGxCObMQwV5j1hRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238366; a=rsa-sha256; cv=none; b=i/j0HRL98GYDNzKKQcsS1cAYzXAX6rjSqiWUrU2ezb5newCnD3NqXKGHRbh2NH4+Au9k4t eNsLbg5+dZ2b8JhIY9LgBbJvdY2oeZZ+WzZoxVaKrNtnqAH/Wl8/osuVBu36jvXrijsWS+ Pf16IDUYhNFTqKZ5kH7lRuJtI+zNDuoqcBfPd6fxaenO5cj1sBVJYPDcJd5OONzI/lzXyj r9MuynxP+LweieIZrjATqMcUXJ31VZXLSlHEBR6z/NMapSsfZtL5Zthe1LHVstCZ5O3xZB 0vycb/kLYAKbTxJmakNZ0ILRInvV0QcQrVutkj/5X3CXwHm94puoSr3KCaLhqA== 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 4dqfHy2G80zbN7 for ; Mon, 12 Jan 2026 17:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 357ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: bf1c000e6305 - stable/14 - linuxkpi: Add `kstrtou32()` 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/14 X-Git-Reftype: branch X-Git-Commit: bf1c000e630524b476b931a60154adef4de120a0 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:26 +0000 Message-Id: <69652d1e.357ee.4e0b5c5f@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=bf1c000e630524b476b931a60154adef4de120a0 commit bf1c000e630524b476b931a60154adef4de120a0 Author: Jean-Sébastien Pédron AuthorDate: 2024-12-22 15:33:04 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:30 +0000 linuxkpi: Add `kstrtou32()` [Why] This is used by the amdgpu DRM driver in Linux 6.7. Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48744 (cherry picked from commit cd245b79418638e0fa8dc4027275ef5da9039993) --- sys/compat/linuxkpi/common/include/linux/kstrtox.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/kstrtox.h b/sys/compat/linuxkpi/common/include/linux/kstrtox.h index 0567aa99f7a4..5da99de24197 100644 --- a/sys/compat/linuxkpi/common/include/linux/kstrtox.h +++ b/sys/compat/linuxkpi/common/include/linux/kstrtox.h @@ -179,6 +179,13 @@ kstrtou32(const char *cp, unsigned int base, uint32_t *res) return (kstrtouint(cp, base, res)); } +static inline int +kstrtos32(const char *cp, unsigned int base, int32_t *res) +{ + + return (kstrtoint(cp, base, res)); +} + static inline int kstrtos64(const char *cp, unsigned int base, int64_t *res) { From nobody Mon Jan 12 17:19:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfHz6fG7z6Nrdf for ; Mon, 12 Jan 2026 17:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfHz3WVQz41tk for ; Mon, 12 Jan 2026 17:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lW/OyInovxtq7yMKykc8Qv1oTvj3iJTlnTEL5+MKRH0=; b=r3krkoc5CZ+tj0odufdVkXX+2yEiJ4VWLSt4IoXbi12S1QpLlFefILPbPvJP7vNbk1Aawr P4CecuL6XF2i9cxefyLnGpRfMvq2rIecPQ9v2IWrCIGm000y1qblf0kd9xnap2JCRGz2CO FMbiqNIE1PHLTCpTdRgLARG8XLJKXYb/cgq+hg+pjKExzErFdy/UmOIYjQUAc114vQ44fT 1Nx30aMO1S/tO7Nonmg28/+5qteCP2cSqLvOzI9YREZxmqt7RG3nzPjAmBP/SEr/pAkn7u aJdowEqN9zWZkcI0HWhLRdliyPrLYrNaS9vsiyLoBoswBWOc6uVNevPFIeRZiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lW/OyInovxtq7yMKykc8Qv1oTvj3iJTlnTEL5+MKRH0=; b=SYxBPdJ+DU+iBdBQI2C9fn7E2CjGIc/hyjI8P/3A+EoAdRYh1QmGZY5oQFX5P1OuU6Pslp vqCssFX/Vc3lwvZ9DoA9Bm2APznJDNZWtIUO0Sdgd56bq3tLEB6+ojIczJMsQsiMT+U2qD /kyGHqq+sEu8rNU5VpuMkVAoGw1L/JgIr6kcxyVc0kSFLjZ8ggnwCFqfCJtO9gfh+ju4uJ KEkKeV3ayMfT6PC/5hgLr8FPSHICyWA5AHEHHCkKtLQjHgmw5P2O8PKTVea3hB2qj+tF70 JB9UAWjA8gH3ObzYd4t7R2ZhrGKRVoZlC5Yo7woUMFWcTGBvJT6buuyNmHrONw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238367; a=rsa-sha256; cv=none; b=aFXnjf201r9Cgs4SCykieCFopiYvTxJVNqN33BsAhzRj3O9bK+3JN2A2WrHODToenLjV+i L27OX5yI8WqRB9TqxRtYyHmARJmB7fqygpEzNxhB+x2IaXSGuhLsKYhF4BS6t/qDvpkOrC L8ewLCvvqnBT4QE5bOxwX7YwFaCC6l+pDQvnMh5C35DJu7HQBkmoIMY1RmZu3pVvQ3F0B3 pDTBwShCfhqdmP6Ae2DwRWwfZBo8jdAjwK4n6MjSiJB1PsMr4AIfDUVJJgWZ5a4wvxuhdY ts0AGFvK8UBcHn7ahmcOy+oDnCU+1tFCmeBde8PqMnkNnNDUrJTNGiVNFSx4rg== 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 4dqfHz375ZzcLH for ; Mon, 12 Jan 2026 17:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37fba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:27 +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: 445f0d4b27d3 - stable/14 - linuxkpi: Don't clobber result on failure 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/14 X-Git-Reftype: branch X-Git-Commit: 445f0d4b27d362867041d8ba20d79981a0eeba83 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:27 +0000 Message-Id: <69652d1f.37fba.4e766ff7@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=445f0d4b27d362867041d8ba20d79981a0eeba83 commit 445f0d4b27d362867041d8ba20d79981a0eeba83 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-02 07:30:06 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:30 +0000 linuxkpi: Don't clobber result on failure In kstrto*(), don't assign to *res until we know the conversion is successful, and address issues that may result in warnings if code that uses is compiled at high warning levels. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: bz, emaste Differential Revision: https://reviews.freebsd.org/D54440 (cherry picked from commit 3542d60fb8042474f66fbf2d779ed8c5a80d0f78) --- sys/compat/linuxkpi/common/include/linux/kstrtox.h | 43 +++++++++++++++------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kstrtox.h b/sys/compat/linuxkpi/common/include/linux/kstrtox.h index 5da99de24197..6a145c409038 100644 --- a/sys/compat/linuxkpi/common/include/linux/kstrtox.h +++ b/sys/compat/linuxkpi/common/include/linux/kstrtox.h @@ -74,14 +74,17 @@ static inline int kstrtoul(const char *cp, unsigned int base, unsigned long *res) { char *end; + unsigned long temp; - *res = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = temp; return (0); } @@ -89,14 +92,17 @@ static inline int kstrtol(const char *cp, unsigned int base, long *res) { char *end; + long temp; - *res = strtol(cp, &end, base); + temp = strtol(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = temp; return (0); } @@ -106,7 +112,7 @@ kstrtoint(const char *cp, unsigned int base, int *res) char *end; long temp; - *res = temp = strtol(cp, &end, base); + temp = strtol(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -115,6 +121,8 @@ kstrtoint(const char *cp, unsigned int base, int *res) return (-EINVAL); if (temp != (int)temp) return (-ERANGE); + + *res = (int)temp; return (0); } @@ -124,7 +132,7 @@ kstrtouint(const char *cp, unsigned int base, unsigned int *res) char *end; unsigned long temp; - *res = temp = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -133,6 +141,8 @@ kstrtouint(const char *cp, unsigned int base, unsigned int *res) return (-EINVAL); if (temp != (unsigned int)temp) return (-ERANGE); + + *res = (unsigned int)temp; return (0); } @@ -142,7 +152,7 @@ kstrtou8(const char *cp, unsigned int base, uint8_t *res) char *end; unsigned long temp; - *res = temp = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -151,6 +161,8 @@ kstrtou8(const char *cp, unsigned int base, uint8_t *res) return (-EINVAL); if (temp != (uint8_t)temp) return (-ERANGE); + + *res = (uint8_t)temp; return (0); } @@ -160,7 +172,7 @@ kstrtou16(const char *cp, unsigned int base, uint16_t *res) char *end; unsigned long temp; - *res = temp = strtoul(cp, &end, base); + temp = strtoul(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') @@ -169,20 +181,20 @@ kstrtou16(const char *cp, unsigned int base, uint16_t *res) return (-EINVAL); if (temp != (uint16_t)temp) return (-ERANGE); + + *res = (uint16_t)temp; return (0); } static inline int kstrtou32(const char *cp, unsigned int base, uint32_t *res) { - return (kstrtouint(cp, base, res)); } static inline int kstrtos32(const char *cp, unsigned int base, int32_t *res) { - return (kstrtoint(cp, base, res)); } @@ -190,14 +202,17 @@ static inline int kstrtos64(const char *cp, unsigned int base, int64_t *res) { char *end; + quad_t temp; - *res = strtoq(cp, &end, base); + temp = strtoq(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = (int64_t)temp; return (0); } @@ -208,17 +223,20 @@ kstrtoll(const char *cp, unsigned int base, long long *res) } static inline int -kstrtou64(const char *cp, unsigned int base, u64 *res) +kstrtou64(const char *cp, unsigned int base, uint64_t *res) { char *end; + u_quad_t temp; - *res = strtouq(cp, &end, base); + temp = strtouq(cp, &end, base); /* skip newline character, if any */ if (*end == '\n') end++; if (*cp == 0 || *end != 0) return (-EINVAL); + + *res = (uint64_t)temp; return (0); } @@ -231,7 +249,7 @@ kstrtoull(const char *cp, unsigned int base, unsigned long long *res) static inline int kstrtobool(const char *s, bool *res) { - int len; + size_t len; if (s == NULL || (len = strlen(s)) == 0 || res == NULL) return (-EINVAL); @@ -302,7 +320,6 @@ static inline int kstrtou32_from_user(const char __user *s, size_t count, unsigned int base, unsigned int *p) { - return (kstrtouint_from_user(s, count, base, p)); } From nobody Mon Jan 12 17:19:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJ11ryCz6Nrdg for ; Mon, 12 Jan 2026 17:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfJ04Sg7z420k for ; Mon, 12 Jan 2026 17:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nbLenJjE8exOo4ZO1Tw+KroP6mXRJ1JUEIQ0KiOmbMQ=; b=ja36DB6iTKhHObgohys5TBD3hsnwFrE+Dnm1u5gQWqFNpR1lzI3MAf+/sgiPbn5woJZCC7 KloQ5UnBC6YcX/jwuuxs7xDn2A99Q/Uc15zSldF9RePcedTeowrli4CkiQarR3Vi4zDFiY kynpP7FWN7sO+9FNefQgCYZl7v3e7lg+yqEpSHwPBGooSCRW/5VwG2jbkccR7e7vHtrZJ8 m1KhcyjhvsQ1DnX77rlaxeovUI448xvoDNTFx+OW86Ug5M2asR6+uaGMVC346dIbJfKso7 zBVDiayBiOYLDsIplGdVwXgXq6kUEY2jooJyg6S4BFrlQXACO96mlmWEZhH1ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nbLenJjE8exOo4ZO1Tw+KroP6mXRJ1JUEIQ0KiOmbMQ=; b=wxYHQDwA1ONfF1zfJlYcbQERBWV5lZ6JOlbEFzpNFzXmCEpq3D7mt6HRVwfb+yr8ua41yg +sQ9hC+kJo3onyftimpOSd/Igr4cONXIr6VK/Y+orxa6yYfAn4plCulbofPsFS0YHtK3m3 EjRpqb4iaiDfCPxwoL2Lybca6+OHohLABmrj1B1OX3eEMIrngQ8LmscC7abBWLnIVZT7Rd bZ7L6rdjbFhhAHYONpQVi4dC4KiQwfvWOxPYR9NdGiBFepRzLGUSmwH344Xj+PymA5vItO NqmdR2VMgKlTI9CNImWZ9YmI5DEr7YoDTnMp0gUQJxvB/ZVj2kpOK/0qU+zEuw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238368; a=rsa-sha256; cv=none; b=W9xVKLq3laI5iL64CUxu5uRHS3M0H4kbiRL7NiceRMUJxnuIccHu0NQYXLNISXsazpoTJ0 tzoTAbm8Ig3UQoPNxtGHlMhtYXQ7NlDjH89BqT037qEd6lXp4khdqeK+r1NsFzjWAF+n9Q cSNRJ1vUAZI+eQHq0+D4anT2K/NSwnlnTuQ+Pu7sXpCc+kuana94+C2dyHT5S7IuASxqxv QItGPNo7QLAO3krQHpuJltGOXLQpnonlT/NflQD2p8cTnxr71Uug0ht4bESEqKey4WBVLp SjJEK87V949ZQs7eFdby7V0D7ZKhmLYN++7zVvSPfFlqnVFjmk/bV+DiOEWZ/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 4dqfJ0408NzcQ0 for ; Mon, 12 Jan 2026 17:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37734 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:28 +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: 66206e00de17 - stable/14 - linuxkpi: Correct kstrtobool 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/14 X-Git-Reftype: branch X-Git-Commit: 66206e00de17f929a863f92c11cbb2938796beed Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:28 +0000 Message-Id: <69652d20.37734.654ae815@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=66206e00de17f929a863f92c11cbb2938796beed commit 66206e00de17f929a863f92c11cbb2938796beed Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:31 +0000 linuxkpi: Correct kstrtobool Implement the exact same logic as in Linux: * Accept 'e', 't', 'y', '1', "on" for true. * Accept 'd', 'f', 'n', '0', "of" for false. * Disregard any characters beyond that. * Check that the string is not null, but don't check the result pointer. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: bz, emaste Differential Revision: https://reviews.freebsd.org/D54451 (cherry picked from commit f86148d2777d4d7985ed8f4ae957c41c44bd2484) --- sys/compat/linuxkpi/common/include/linux/kstrtox.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/kstrtox.h b/sys/compat/linuxkpi/common/include/linux/kstrtox.h index 6a145c409038..05bf94dd375d 100644 --- a/sys/compat/linuxkpi/common/include/linux/kstrtox.h +++ b/sys/compat/linuxkpi/common/include/linux/kstrtox.h @@ -249,22 +249,16 @@ kstrtoull(const char *cp, unsigned int base, unsigned long long *res) static inline int kstrtobool(const char *s, bool *res) { - size_t len; - - if (s == NULL || (len = strlen(s)) == 0 || res == NULL) + if (s == NULL || *s == '\0') return (-EINVAL); - /* skip newline character, if any */ - if (s[len - 1] == '\n') - len--; - - if (len == 1 && strchr("yY1", s[0]) != NULL) + if (strchr("eEtTyY1", s[0]) != NULL) *res = true; - else if (len == 1 && strchr("nN0", s[0]) != NULL) + else if (strchr("dDfFnN0", s[0]) != NULL) *res = false; - else if (strncasecmp("on", s, len) == 0) + else if (strncasecmp("on", s, 2) == 0) *res = true; - else if (strncasecmp("off", s, len) == 0) + else if (strncasecmp("of", s, 2) == 0) *res = false; else return (-EINVAL); From nobody Mon Jan 12 17:19:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJ20S2jz6NrVY for ; Mon, 12 Jan 2026 17:19: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 4dqfJ15LVfz420v for ; Mon, 12 Jan 2026 17:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eqt2mbqoM+XwiTZzRLnTnZoE8gpINxSEUuBNDr3WReY=; b=ipmxDXkoHlDGc9/cxHdMKy18Dg6IXhMdTfjbpUZvte4w9YmDazIbZGPPOUhzvZMnmNynPN Xjxmd20XndARU4JPPAdKQ0UhesheTvPeP1OY3kCe0uU3U2bQnLDcEzm3Tgxl4uJl+e7k+I o0ErFfGFi2oRCZGVLwDROh08QcBcyDH5QdRR915H/0UI0dchiqkzSMgDYQ6S2mpWS18XHm pL8RRDFO1RaEGnWqq9RCO/zaygwcE5DjDhuf+Ou/RdPNqbOHzoA5N2j8AeWBjW1TI2GhuL CLk07ahSnq/qYRm/fe8EIMCzjDDI3BBR2bOPeCZ1/BCWM3JPfY8zDQWqT1NQHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eqt2mbqoM+XwiTZzRLnTnZoE8gpINxSEUuBNDr3WReY=; b=ef95cehp6uDV249BRdOh3KRFAFSMGNE+DG4FAO84rOUMLdi724ae7+p0oNBIUuEzZOfW3R jY5Pl3MPJtxM0YoRIEdkM2I6VEc1FTty7cKDMp2S07KQaP6k1NAqui3HpS8ilR8sHTUYf5 jobkAOiGbty7wAo82PVrCSoDoJFN7u+6U1Vxec9INMkczYjliLQos/u/XAG5JPfP3QAULu XHcsvYljc8z7C80w8eXOM+Rno6n+kjhMQFnxO8YCsb3AKsuomhRm0Scdd9/bD2D52GhsyE Nr32dZA6yMWePfMj/IO7VuPbRTsNdTpEdaFw1f8TwV9P/pHspebYjf9sJgvCsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238369; a=rsa-sha256; cv=none; b=DtY/v7eteAJ2QqbPjSpB+/safVsRlh16AewUb18PXHUgjB1o8AhxTlKlw4VUUoYDfByR4A aQOH7INda/elabaU5KRDM3Ax4FbwVxZJK6jxkqyMbLe9QinUhoM5dxcZ3HxE69w3D0h20j gMpQ4SNpghPhK23Ofl4oD2XSTC/fdfPDt8vUzqTWu3tShdYE5lDzLsZXz+WOArbRIQkYc1 AuV6v6k04ZkIA7+a/AqNVad4+TBgk3WeXICHl0LkvDWiN2hM3JwBmeJgdTm2wvRUUqR6gP C3xIePzFmyFUOD1QPZ3yeusBnTQp1cdFBOug3DRylbd3LV9jNl3rcNOwcFVMsA== 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 4dqfJ14tQnzcBK for ; Mon, 12 Jan 2026 17:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3683e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:29 +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: 92f299dc666d - stable/14 - libgeom: Fix segfault in 32-on-64 case 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/14 X-Git-Reftype: branch X-Git-Commit: 92f299dc666d82925abbe33e826eb52fb1ffb013 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:29 +0000 Message-Id: <69652d21.3683e.3dbcb2c0@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=92f299dc666d82925abbe33e826eb52fb1ffb013 commit 92f299dc666d82925abbe33e826eb52fb1ffb013 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:51 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:31 +0000 libgeom: Fix segfault in 32-on-64 case We were using strtoul() to parse object identifiers, which are kernel pointers. This works fine as long as the kernel and userland match, but in a 32-bit libgeom on a 64-bit kernel this will return ULONG_MAX for all objects, resulting in memory corruption when we later pick the wrong object while resolving consumer-producer references. MFC after: 1 week PR: 292127 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54452 (cherry picked from commit 27894e20f140ee2729c14b589035870c8185b87d) --- lib/libgeom/geom_xml2tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 2d2c43e29e77..161425d9fadf 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -76,10 +76,10 @@ StartElement(void *userData, const char *name, const char **attr) ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (!strcmp(attr[i], "id")) { - id = (void *)strtoul(attr[i + 1], NULL, 0); + id = (void *)strtoumax(attr[i + 1], NULL, 0); mt->nident++; } else if (!strcmp(attr[i], "ref")) { - ref = (void *)strtoul(attr[i + 1], NULL, 0); + ref = (void *)strtoumax(attr[i + 1], NULL, 0); } else printf("%*.*s[%s = %s]\n", mt->level + 1, mt->level + 1, "", From nobody Mon Jan 12 17:19:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJ31hwXz6NrPl for ; Mon, 12 Jan 2026 17:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfJ26K7mz423n for ; Mon, 12 Jan 2026 17:19:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPUeLDi74ZU/6OaLO3v2fw4zFtsBKFXhyNP6x577olo=; b=Pko3zWvbe9xIPWXnX2D1E9trqUC44jly9To5ZQNO/vGk1CW/pK5N8r6vbITTLl+lCmAjRf tBR4GgV6aCapRpnFkUtaEYriB0YEx1bLFwVdkin6VsTIgmdd0/nTMirYDY4w7hqAz7CZJ9 FpHjP+OokgJaIUsa2nXKNknN6UKs/XYKlSSpapenNkXCqX8jQ64yzoOQe5RioyGFVQDRZh mXbTZ3N0MTPP3g7vkVlyoYqG4C7xoD4iA0EJSYIIyYIs2+W585j/UoW2cQhblQwCngJ1zt KHGQk+pcA1QxTNfd4jTWs9TikQM4t4pSx8CiUite/oJIptIYpgE+vj4TqgQrDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPUeLDi74ZU/6OaLO3v2fw4zFtsBKFXhyNP6x577olo=; b=RFfEisuVEtkgJw6bfGFOAJfEHj/7pbMYZWkplWhUdYupThBSdBrH8+bBw/zTc0angOaPOG 20uChHAzWEqA+sckqR3j2GF+Q1Hdfs1MNZUpR8rPAWaEnD10j2X1bOu9c+nMRlibYMvNQC ltAc4AVb8pipdW0IFIZFABOjeAlUZpvtJhaqkdduoI9l0L0oFSC6x6cQ+RNeGwSdUdW91u 2wkfmQ3gBWsbXNrEkfB5HGHVz++jS4IiWRq90NtYUIzQKnAQdOFHxnD/vAAFa5UKvVdOdW q014eXwJwoXBRhZlxdG5+WqQkNWIxl+vmWRiqXNMZZWrIKvekdfR9e19CUA0gQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238370; a=rsa-sha256; cv=none; b=MYviR0VlENkXnxO8tZjb/YnmDAu4JRyXj7H/PuAIXLYDkwUpGHlNK5eyeMylICmnN9uVHt 6wtRD7zzg63kkTtoW8GVgNplFta8S0dR90u1tyW2CCPPOsOYRIdtzz8Sh5fTwZ+RElJUwI 3pYTWtod/psacc0I5/S2sTECIuvSBaIz2vQpvn3uFtgRACouONigOfrrWjB1bl24DIC9Br gTvAk2fhqke+B8/qtRwmlfCVm2mSTCVEQl6TZo1nrGMCsCud93vQgh0KpUsH734RzRaMBu TPpgCSld+upwfbyNreHyHQ4J6VRTO43zQicDrJr+e1UZ7xCjEp8mYn89l8Vx7Q== 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 4dqfJ25mD7zcMs for ; Mon, 12 Jan 2026 17:19:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3808a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:30 +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: cff33cd16d67 - stable/14 - libgeom: Clean up xml2tree code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cff33cd16d6751ab0693a00473ccfe7c8132cfdf Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:30 +0000 Message-Id: <69652d22.3808a.5c4771cd@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cff33cd16d6751ab0693a00473ccfe7c8132cfdf commit cff33cd16d6751ab0693a00473ccfe7c8132cfdf Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:31 +0000 libgeom: Clean up xml2tree code MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54453 (cherry picked from commit fad6707e2589d8557ceb6b6bf11f22323b265f01) --- lib/libgeom/geom_xml2tree.c | 100 ++++++++++++++++++++++---------------------- lib/libgeom/libgeom.h | 2 +- 2 files changed, 52 insertions(+), 50 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 161425d9fadf..81f7de1be263 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -29,21 +29,24 @@ * SUCH DAMAGE. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include #include #include +#include #include + +#include #include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include @@ -75,17 +78,14 @@ StartElement(void *userData, const char *name, const char **attr) id = NULL; ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { - if (!strcmp(attr[i], "id")) { + if (strcmp(attr[i], "id") == 0) { id = (void *)strtoumax(attr[i + 1], NULL, 0); mt->nident++; - } else if (!strcmp(attr[i], "ref")) { + } else if (strcmp(attr[i], "ref") == 0) { ref = (void *)strtoumax(attr[i + 1], NULL, 0); - } else - printf("%*.*s[%s = %s]\n", - mt->level + 1, mt->level + 1, "", - attr[i], attr[i + 1]); + } } - if (!strcmp(name, "class") && mt->class == NULL) { + if (strcmp(name, "class") == 0 && mt->class == NULL) { mt->class = calloc(1, sizeof *mt->class); if (mt->class == NULL) { mt->error = errno; @@ -100,7 +100,7 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->class->lg_config); return; } - if (!strcmp(name, "geom") && mt->geom == NULL) { + if (strcmp(name, "geom") == 0 && mt->geom == NULL) { mt->geom = calloc(1, sizeof *mt->geom); if (mt->geom == NULL) { mt->error = errno; @@ -116,11 +116,11 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->geom->lg_config); return; } - if (!strcmp(name, "class") && mt->geom != NULL) { + if (strcmp(name, "class") == 0 && mt->geom != NULL) { mt->geom->lg_class = ref; return; } - if (!strcmp(name, "consumer") && mt->consumer == NULL) { + if (strcmp(name, "consumer") == 0 && mt->consumer == NULL) { mt->consumer = calloc(1, sizeof *mt->consumer); if (mt->consumer == NULL) { mt->error = errno; @@ -135,15 +135,15 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->consumer->lg_config); return; } - if (!strcmp(name, "geom") && mt->consumer != NULL) { + if (strcmp(name, "geom") == 0 && mt->consumer != NULL) { mt->consumer->lg_geom = ref; return; } - if (!strcmp(name, "provider") && mt->consumer != NULL) { + if (strcmp(name, "provider") == 0 && mt->consumer != NULL) { mt->consumer->lg_provider = ref; return; } - if (!strcmp(name, "provider") && mt->provider == NULL) { + if (strcmp(name, "provider") == 0 && mt->provider == NULL) { mt->provider = calloc(1, sizeof *mt->provider); if (mt->provider == NULL) { mt->error = errno; @@ -159,11 +159,11 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->provider->lg_config); return; } - if (!strcmp(name, "geom") && mt->provider != NULL) { + if (strcmp(name, "geom") == 0 && mt->provider != NULL) { mt->provider->lg_geom = ref; return; } - if (!strcmp(name, "config")) { + if (strcmp(name, "config") == 0) { if (mt->provider != NULL) { mt->config = &mt->provider->lg_config; return; @@ -210,7 +210,7 @@ EndElement(void *userData, const char *name) p = NULL; } - if (!strcmp(name, "name")) { + if (strcmp(name, "name") == 0) { if (mt->provider != NULL) { mt->provider->lg_name = p; return; @@ -222,47 +222,47 @@ EndElement(void *userData, const char *name) return; } } - if (!strcmp(name, "rank") && mt->geom != NULL) { + if (strcmp(name, "rank") == 0 && mt->geom != NULL) { mt->geom->lg_rank = strtoul(p, NULL, 0); free(p); return; } - if (!strcmp(name, "mode") && mt->provider != NULL) { + if (strcmp(name, "mode") == 0 && mt->provider != NULL) { mt->provider->lg_mode = p; return; } - if (!strcmp(name, "mode") && mt->consumer != NULL) { + if (strcmp(name, "mode") == 0 && mt->consumer != NULL) { mt->consumer->lg_mode = p; return; } - if (!strcmp(name, "mediasize") && mt->provider != NULL) { + if (strcmp(name, "mediasize") == 0 && mt->provider != NULL) { mt->provider->lg_mediasize = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "sectorsize") && mt->provider != NULL) { + if (strcmp(name, "sectorsize") == 0 && mt->provider != NULL) { mt->provider->lg_sectorsize = strtoul(p, NULL, 0); free(p); return; } - if (!strcmp(name, "stripesize") && mt->provider != NULL) { + if (strcmp(name, "stripesize") == 0 && mt->provider != NULL) { mt->provider->lg_stripesize = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "stripeoffset") && mt->provider != NULL) { + if (strcmp(name, "stripeoffset") == 0 && mt->provider != NULL) { mt->provider->lg_stripeoffset = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "config")) { + if (strcmp(name, "config") == 0) { mt->config = NULL; free(p); return; } - if (mt->config != NULL || (!strcmp(name, "wither") && + if (mt->config != NULL || (strcmp(name, "wither") == 0 && (mt->provider != NULL || mt->geom != NULL))) { if (mt->config != NULL) c = mt->config; @@ -301,28 +301,28 @@ EndElement(void *userData, const char *name) free(p); } - if (!strcmp(name, "consumer") && mt->consumer != NULL) { + if (strcmp(name, "consumer") == 0 && mt->consumer != NULL) { mt->consumer = NULL; return; } - if (!strcmp(name, "provider") && mt->provider != NULL) { + if (strcmp(name, "provider") == 0 && mt->provider != NULL) { mt->provider = NULL; return; } - if (!strcmp(name, "geom") && mt->consumer != NULL) { + if (strcmp(name, "geom") == 0 && mt->consumer != NULL) { return; } - if (!strcmp(name, "geom") && mt->provider != NULL) { + if (strcmp(name, "geom") == 0 && mt->provider != NULL) { return; } - if (!strcmp(name, "geom") && mt->geom != NULL) { + if (strcmp(name, "geom") == 0 && mt->geom != NULL) { mt->geom = NULL; return; } - if (!strcmp(name, "class") && mt->geom != NULL) { + if (strcmp(name, "class") == 0 && mt->geom != NULL) { return; } - if (!strcmp(name, "class") && mt->class != NULL) { + if (strcmp(name, "class") == 0 && mt->class != NULL) { mt->class = NULL; return; } @@ -347,7 +347,7 @@ CharData(void *userData , const XML_Char *s , int len) } struct gident * -geom_lookupid(struct gmesh *gmp, const void *id) +geom_lookupid(const struct gmesh *gmp, const void *id) { struct gident *gip; @@ -413,6 +413,7 @@ geom_xml2tree(struct gmesh *gmp, char *p) return (ENOMEM); i = 0; /* Collect all identifiers */ + /* XXX we should check for duplicate identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { gmp->lg_ident[i].lg_id = cl->lg_id; gmp->lg_ident[i].lg_ptr = cl; @@ -441,8 +442,9 @@ geom_xml2tree(struct gmesh *gmp, char *p) LIST_FOREACH(cl, &gmp->lg_class, lg_class) { LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { ge->lg_class = geom_lookupidptr(gmp, ge->lg_class); - LIST_FOREACH(pr, &ge->lg_provider, lg_provider) + LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom); + } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { co->lg_geom = geom_lookupidptr(gmp, co->lg_geom); if (co->lg_provider != NULL) { @@ -522,22 +524,22 @@ geom_deletetree(struct gmesh *gmp) break; LIST_REMOVE(cl, lg_class); delete_config(&cl->lg_config); - if (cl->lg_name) free(cl->lg_name); + free(cl->lg_name); for (;;) { ge = LIST_FIRST(&cl->lg_geom); if (ge == NULL) break; LIST_REMOVE(ge, lg_geom); delete_config(&ge->lg_config); - if (ge->lg_name) free(ge->lg_name); + free(ge->lg_name); for (;;) { pr = LIST_FIRST(&ge->lg_provider); if (pr == NULL) break; LIST_REMOVE(pr, lg_provider); delete_config(&pr->lg_config); - if (pr->lg_name) free(pr->lg_name); - if (pr->lg_mode) free(pr->lg_mode); + free(pr->lg_name); + free(pr->lg_mode); free(pr); } for (;;) { @@ -546,7 +548,7 @@ geom_deletetree(struct gmesh *gmp) break; LIST_REMOVE(co, lg_consumer); delete_config(&co->lg_config); - if (co->lg_mode) free(co->lg_mode); + free(co->lg_mode); free(co); } free(ge); diff --git a/lib/libgeom/libgeom.h b/lib/libgeom/libgeom.h index 950508fd3637..2116645bd496 100644 --- a/lib/libgeom/libgeom.h +++ b/lib/libgeom/libgeom.h @@ -133,7 +133,7 @@ struct gprovider { struct gconf lg_config; }; -struct gident * geom_lookupid(struct gmesh *, const void *); +struct gident *geom_lookupid(const struct gmesh *, const void *); int geom_xml2tree(struct gmesh *, char *); int geom_gettree(struct gmesh *); int geom_gettree_geom(struct gmesh *, const char *, const char *, int); From nobody Mon Jan 12 17:19:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJ523wfz6NrYF for ; Mon, 12 Jan 2026 17:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfJ50RfTz426G for ; Mon, 12 Jan 2026 17:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vS+v6sQwQo039e+XTpAzALz8d577u4+WwCV37vKVpug=; b=KbC2odS3eRmUReVjqmANRTcyF+ilvNxb3rP8X3NygkriWkxNuFDf+zYwJh7j9+3xJTWkgH UY0olV8aOTc3mJBo/qOaSUcT9HROnTQuMw2e0cT6kzFNzU8fDKRJSv7o63m650oVo5II0k mx6nmYC6wTDXIEqtb3G+vU/W1ifTbxUt9HyYEF/wDvVir5NQEmC8xu91Jw5YEs9Q10UkZY Q8uMw3EWpDL6CmV4STmT0ebUn8VAbh/YVvUpQb+5LS2SyITP6YMoX6l18CoUHqnypi8j58 ZZ0FUJAoa0wA/i6zgpWelt9WIX3lGX8h3h9B7TmvuV/Z96jmFalIhjegd73+KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vS+v6sQwQo039e+XTpAzALz8d577u4+WwCV37vKVpug=; b=gETLzAdkC3uQSmFP4yTVsxJSNcYoFohTejI0BhNVriJV1q2IBLoIYGVj8Lcz/NuCM7Pxlq nPxtvUtIjtjUuXWwtT/uDLSLpM5uqBMCSmRrgkymlrGgB418KBrZfsp8QnFyIqI9xkfy6S YmI3iTEBlg1JWmQ4/0ZWd2uBl38DRXnezxUi8/d0P2xp5O0OIfodKZZoOxT/tEdkO3SdOF 1MoC633iZZqimcIwdU13znumXYSBhn+U09iDkOIEnwzGMrG0Zx9DX6hY4742LF803NOETS HdTMuhT/seZ9EdyKxRaJBK+tFihfjgYbeFrZx2jAClPoAVx90Ke1wHzb72YG8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238373; a=rsa-sha256; cv=none; b=yHHM9kML/MVeAX06TQklQEUQoJC0SK7c7Zq1KUEj0erh3qfJQ7lW0biKK+6nSm2IpyIYHW 77rjAtnr5JqMtcsnuaoXrDPdq92yiKVvxvfJRnjUb/OoxtGY4x0zzbaPh5HTwFUWaflZgk CSfBSOJsAaX37bBgYgygXvRoSMxS+us/HDpoZffrFqVwH3arBwW43tSv3cAXbNADXJnbCD QTNEF4BhciJpzihQjl8Br+8SvCYoQnFdvaE6hl/YYWcWGGOMAUJL4RhFn1bYgE1KeZblHv 0c2C6/otIT3WZKwpZZ2VGvkaQmwgI1lFajS+Z6k9CLKkWfTpmi8Hm/gHNwOCqQ== 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 4dqfJ473jTzc88 for ; Mon, 12 Jan 2026 17:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3808e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:32 +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: 618cf02ffc52 - stable/14 - libgeom: Fix 32-bit gcc build 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/14 X-Git-Reftype: branch X-Git-Commit: 618cf02ffc529da1bb76622386bb7cc0eeb0a823 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:32 +0000 Message-Id: <69652d24.3808e.6c96c572@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=618cf02ffc529da1bb76622386bb7cc0eeb0a823 commit 618cf02ffc529da1bb76622386bb7cc0eeb0a823 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 20:34:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:31 +0000 libgeom: Fix 32-bit gcc build MFC after: 1 week Fixes: 27894e20f140 ("libgeom: Fix segfault in 32-on-64 case") (cherry picked from commit 17355cf50fcbd0d8ddb638e1f2fd5861b526edbe) --- lib/libgeom/geom_xml2tree.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 03210947d431..a66938671845 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -71,6 +71,7 @@ StartElement(void *userData, const char *name, const char **attr) struct mystate *mt; void *id; void *ref; + uintmax_t umax; int i; mt = userData; @@ -80,10 +81,12 @@ StartElement(void *userData, const char *name, const char **attr) ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (strcmp(attr[i], "id") == 0) { - id = (void *)strtoumax(attr[i + 1], NULL, 0); + umax = strtoumax(attr[i + 1], NULL, 0); + id = (void *)(uintptr_t)umax; mt->nident++; } else if (strcmp(attr[i], "ref") == 0) { - ref = (void *)strtoumax(attr[i + 1], NULL, 0); + umax = strtoumax(attr[i + 1], NULL, 0); + ref = (void *)(uintptr_t)umax; } } if (strcmp(name, "class") == 0 && mt->class == NULL) { From nobody Mon Jan 12 17:19:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJ439hZz6NrPm for ; Mon, 12 Jan 2026 17:19: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 4dqfJ36rhDz41sf for ; Mon, 12 Jan 2026 17:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3pTmERncgNrTWYYktr6/8JmV0U/6h/NP8w+YX7HiqJ8=; b=ZpUnidhkuuQ80zkqVPPBqmstTmS/wGP1t/YCOnKGVi3PccrBx8z32HnPuZSeZO7xCdfieu +1Qx7MWV7CXrw3hpwpzyGkqCzDa3ypgjgPbGhzWicu0lQdQR81QXbm9IXUVya+1V7LqPXT GONleRuZiGdUrbKfpUJDvg7ha+yXWaY2aliC+o1QfHPbXSqEC1j9cIE/4otFkhY3/yMjjr 1zeLuAZU+j2bl4CM3keuAcQF94t7YklC0wfxPJPwnYFK7KYMNgAFETHyU4ZRN76D/2mikx 9+wSLo19gZsWV5d9mqFvFgmO68R9teq5gPn/uZL+0lDqMaBgIggdiemc3iodzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3pTmERncgNrTWYYktr6/8JmV0U/6h/NP8w+YX7HiqJ8=; b=vgFF7r4UFqJsfrSwOwCbaGLm8mRT2WeP2NXiKsgJjx9l4FfU1ycaXv9vUdds6qZb5wJh9q Chl9TyGYLZ23cDUsJUjRBAPOUvPOS1d/g1AzNiPUVo7hRnJ8x+v1GjhLn5SDrC/SjfPJvU 8kaMkTdI5wU3yYh/G+CrIqL7AvvG4XyJ3E57Rmhccu0VlrGjh9wwKFm7trArK9PHHtHGir EkjclPVVUVlitgZULQdpV8v3Wf5uajWOx34KjB7LHWp8lCBQ1j7MAQIblRWJeMzX4QdVKT 9C67aICpjtggzi4Pg8nGkFFRgC3HCUYPR9MWI06WNESZ9noSRdSUsM8+bmWv1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238372; a=rsa-sha256; cv=none; b=dzUo46QuGK547eF/XpxqKHEOHypIAtKQYPvwCrs2dPsv1gDcwAn0iMCHfBasBERCq2ti74 n+AUxLc4uMg+5f3a1YaiDARba4/zL0M9Sx++RiwR9iPgp+0YwYTggCb0z+/gW5i16oGV+R 7gsq5axJ74Z0LnDyryKfkwPUqTxPlUft5pUTZfyRHDz8xrAd6CDv6/0nOSVpU3Osc5umtl gtWcsUohxbe3zbJr8o9i+GB8oIPouhp4zoQrB/fhKp54R66wSqfo3bVMNAIYT52MGRGVEV VECzBJN9eDYOE6EZoYaHxgpw1uwbPC52U5YUPGtmjjSetU4bNXoswV9QDYF3mA== 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 4dqfJ36Dkvzbpl for ; Mon, 12 Jan 2026 17:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36aa8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:31 +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: ee28edf75462 - stable/14 - libgeom: Improve type safety of xml2tree code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ee28edf7546270091fab3626c7f55b5919e7cee8 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:31 +0000 Message-Id: <69652d23.36aa8.5b7d1e11@gitrepo.freebsd.org> The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ee28edf7546270091fab3626c7f55b5919e7cee8 commit ee28edf7546270091fab3626c7f55b5919e7cee8 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:10:03 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:31 +0000 libgeom: Improve type safety of xml2tree code When resolving references, assert that the type of the object we find is what we expect. This will help prevent memory corruption if two objects of different types somehow end up with the same identifier. MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54454 (cherry picked from commit 4b0d5d1d6a7c9773e38882feb4747a76b37a645c) --- lib/libgeom/geom_xml2tree.c | 54 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 81f7de1be263..03210947d431 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -358,14 +359,47 @@ geom_lookupid(const struct gmesh *gmp, const void *id) } static void * -geom_lookupidptr(struct gmesh *gmp, const void *id) +geom_lookup_class(const struct gmesh *gmp, const void *id) { struct gident *gip; - gip = geom_lookupid(gmp, id); - if (gip) - return (gip->lg_ptr); - return (NULL); + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISCLASS); + return (gip->lg_ptr); +} + +static void * +geom_lookup_geom(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISGEOM); + return (gip->lg_ptr); +} + +static void * +geom_lookup_provider(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISPROVIDER); + return (gip->lg_ptr); +} + +static void * __unused +geom_lookup_consumer(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISCONSUMER); + return (gip->lg_ptr); } int @@ -441,15 +475,15 @@ geom_xml2tree(struct gmesh *gmp, char *p) /* Substitute all identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { - ge->lg_class = geom_lookupidptr(gmp, ge->lg_class); + ge->lg_class = geom_lookup_class(gmp, ge->lg_class); LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { - pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom); + pr->lg_geom = geom_lookup_geom(gmp, pr->lg_geom); } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { - co->lg_geom = geom_lookupidptr(gmp, co->lg_geom); + co->lg_geom = geom_lookup_geom(gmp, co->lg_geom); if (co->lg_provider != NULL) { - co->lg_provider = geom_lookupidptr(gmp, - co->lg_provider); + co->lg_provider = geom_lookup_provider(gmp, + co->lg_provider); if (co->lg_provider != NULL) { LIST_INSERT_HEAD( &co->lg_provider->lg_consumers, From nobody Mon Jan 12 17:19:42 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJH6jvzz6NrYR for ; Mon, 12 Jan 2026 17:19: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 4dqfJG2k1Rz42N8 for ; Mon, 12 Jan 2026 17:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tpRmw3ysrnBQU4XGEWz+HAmNfrXTEa6wHp4RB1KI3wE=; b=Dt1KiHfjnrjJZNnNTpuZzI1kqv6x9RupXOL7xCxsWpYklN3qhOXEWnt57tkfJSF0eY+McP +VxIbgwhCCWhdjcbntjiB+oTOTbyvpMNyvSBsLgsCzcW2nyRxNGJ4vJYygpl41Nk8ypGn+ IQeBiniz/jn7Cgz6+0uSRpZg8ds221iQkObgVtCErY7W8YVuJIm8xJEBbu40fU2fEJMxoE bzEJ3jadTuGsY3baOaco+JojNvAoRushJqUvxUx/D27wwtFtnH3Ok4YoOt1nAiJMFwrsbS 8rZBYfrncpEg4JF65onA2u3UMmBWHVwQMC+N64FvybbuQ53RxHlDaPozRM03tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tpRmw3ysrnBQU4XGEWz+HAmNfrXTEa6wHp4RB1KI3wE=; b=GmTbOxEurE1ZNHpsYvZT+k95v0gmKz0KybOyAEOlJYNgo67VYdSj9WpCnwSmgl/EM5NTNa e0NumzQfh25RVe2JyE0cm16LHwPdCPC34GyMXME5hqwZVxlGwqvfECOgrOBNoDxdyI+NyN 4wtooCHZdPd1ieKqzC4zQF4iIerAY579IQOTg9ZbviQTQ6zTFMq9rp699szLXuzY5RC6qJ SVuuaDtQUsOvFaCAKYjgEySi6S3M7399AOA8HaeGy63tzDikCMd+Go/DkYpNbC8Hp88Ye2 VoZrPDfI8D1z7UKAefNvIkHD3v5+GHcjZf4xymB1DHM1peDYs2sCmJkamJaeMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238382; a=rsa-sha256; cv=none; b=uWguCtgoRIzy/lfxbXxw/63yyEq8d/WJJY0yjsHP4ySCD7k86knZYUa4rv1SBNjg/qZRaP wjGGZlZ9mELGYUtjs7jRKTwlHP2tuVAdsBwIZTQ4CZmAJg3kmmvnd7SoW0sui9V55Wi8he Y070Srrc8R/fWnYlxjmOaHkF20vcff74K46gco/myoExEATjqQjHhLtpm9VBKQAhtsgx/f f7xUt89/ji7k2vTVX0OG27WF0RixcreoqB1FsJVUXY/ANXnSEwaODVd3MG2OluYxb+eq8f F4cS+Wpxs0+FDeDQ9minoAsfqPBxSnNGCf5NBL4E8cHWr1/KwMe59z3Ibt6aLw== 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 4dqfJG29kxzc0c for ; Mon, 12 Jan 2026 17:19:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37aba by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:42 +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: 0ba11021c46a - stable/13 - libgeom: Fix segfault in 32-on-64 case 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/13 X-Git-Reftype: branch X-Git-Commit: 0ba11021c46a84855af445e6b0420dd9b8b36023 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:42 +0000 Message-Id: <69652d2e.37aba.4bcade56@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=0ba11021c46a84855af445e6b0420dd9b8b36023 commit 0ba11021c46a84855af445e6b0420dd9b8b36023 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:51 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:46 +0000 libgeom: Fix segfault in 32-on-64 case We were using strtoul() to parse object identifiers, which are kernel pointers. This works fine as long as the kernel and userland match, but in a 32-bit libgeom on a 64-bit kernel this will return ULONG_MAX for all objects, resulting in memory corruption when we later pick the wrong object while resolving consumer-producer references. MFC after: 1 week PR: 292127 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54452 (cherry picked from commit 27894e20f140ee2729c14b589035870c8185b87d) --- lib/libgeom/geom_xml2tree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 2d2c43e29e77..161425d9fadf 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -76,10 +76,10 @@ StartElement(void *userData, const char *name, const char **attr) ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (!strcmp(attr[i], "id")) { - id = (void *)strtoul(attr[i + 1], NULL, 0); + id = (void *)strtoumax(attr[i + 1], NULL, 0); mt->nident++; } else if (!strcmp(attr[i], "ref")) { - ref = (void *)strtoul(attr[i + 1], NULL, 0); + ref = (void *)strtoumax(attr[i + 1], NULL, 0); } else printf("%*.*s[%s = %s]\n", mt->level + 1, mt->level + 1, "", From nobody Mon Jan 12 17:19:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJJ6JyMz6NrcD for ; Mon, 12 Jan 2026 17:19: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 4dqfJH3Tk8z42Kh for ; Mon, 12 Jan 2026 17:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nGsDR096SNZsvLMQAVQOG5Kg1IIB7ky62yxRMlVs/Ng=; b=pxIsYqV0d4h1r500QQR844QC5ArVuhlQRnyihT7LWINLbmtMrxeAmqsjeDD/wdH2hPNE/H Hv12OwCLd438dnD/gyMXAPDUCbOpsFb+FDDGwSukDU+wnox3t+FJpa2ORqcs+ESeYxtGjM MMo4KJoHDO03ugMTJMpgKbkTXxoVLa3ZxaiXQfQsAY/z1G5XK3NHw+lSozUG/jrJUFeeRF bHvq0R+6xXTNXG10mAkkAYpZIeLSWhCfd2ipPXu/eRnB+uer/prydj/eWFOkrVyG++fhbq mnrCgkTWl9d4yiqBs0Z0qLkEtAcsMwJHEDornfxtl1Gp96IULLuAzMewnAau5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nGsDR096SNZsvLMQAVQOG5Kg1IIB7ky62yxRMlVs/Ng=; b=mghdOqmSdnvmYFtc70EJ+czN/6j8LlzPq87b4JfOXPri3kH6/RlMwrjA7tE15Zs5Wb78Gp gBicNA/DZ+Dt+XgsyGjNtv2Hu6E1m/krI/eIWxlS+PwUgneQapehQ3vF0IDvXLDEh5x+It Z8X9BpFoP6F22tUPQJKwT7XPjMeUTiOWyRwDRxFCX5gfJlf0Tap5JpHyl46BmHXKbZ/xLv OIx+Ch6G25+C5CTj70QL0Mowbqcubm4CaQo+LT7pTN9DBWRp80kTs6/RGJTS5tRRCSBAWP yqCmOlK2Xu8CZ651TH/V8My099jOE+v/SrE6M24lHDdhk+0fOyE6dhVnwXf39w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238383; a=rsa-sha256; cv=none; b=dkGbgyvX/X7FZB4upJ7vES3H/NHBbjRP9xq7oa5CfDgW89G4e8Kb5SK7vIe0NNdRwZFlR5 5eXwDqo77NKmmhe40LXL8UO2Yip/fvyCCaQA6y15Yj8OYS33jfYXejlwiPTSbjLVWaQxgx Hg0m2TX3861RAJTlYA4Hc1Z1DD+mvYf/dZZNODKEaSWe6c+avQtHrdr2V/wqSmI+VL30mw lSU90O4vQrjvY/NjwfnC0F+C5ryHwVtfNz3fbTwhaOOkM/glw7VMgGW2LpRtkI8Tg/uLGz wCFckL+ZE74x2wZoI6mk2/GEgmRvjtJGUtpsVEPVhL2VKCGZfYiVdCkofsLB2Q== 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 4dqfJH32w6zcLN for ; Mon, 12 Jan 2026 17:19:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37fbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:43 +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: f147d5ea78ab - stable/13 - libgeom: Clean up xml2tree code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f147d5ea78ab8466a0e94a0d386ebfb0b195d56b Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:43 +0000 Message-Id: <69652d2f.37fbe.4e04fd81@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f147d5ea78ab8466a0e94a0d386ebfb0b195d56b commit f147d5ea78ab8466a0e94a0d386ebfb0b195d56b Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:09:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:46 +0000 libgeom: Clean up xml2tree code MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54453 (cherry picked from commit fad6707e2589d8557ceb6b6bf11f22323b265f01) --- lib/libgeom/geom_xml2tree.c | 100 ++++++++++++++++++++++---------------------- lib/libgeom/libgeom.h | 2 +- 2 files changed, 52 insertions(+), 50 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 161425d9fadf..81f7de1be263 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -29,21 +29,24 @@ * SUCH DAMAGE. */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include #include #include +#include #include + +#include #include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include @@ -75,17 +78,14 @@ StartElement(void *userData, const char *name, const char **attr) id = NULL; ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { - if (!strcmp(attr[i], "id")) { + if (strcmp(attr[i], "id") == 0) { id = (void *)strtoumax(attr[i + 1], NULL, 0); mt->nident++; - } else if (!strcmp(attr[i], "ref")) { + } else if (strcmp(attr[i], "ref") == 0) { ref = (void *)strtoumax(attr[i + 1], NULL, 0); - } else - printf("%*.*s[%s = %s]\n", - mt->level + 1, mt->level + 1, "", - attr[i], attr[i + 1]); + } } - if (!strcmp(name, "class") && mt->class == NULL) { + if (strcmp(name, "class") == 0 && mt->class == NULL) { mt->class = calloc(1, sizeof *mt->class); if (mt->class == NULL) { mt->error = errno; @@ -100,7 +100,7 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->class->lg_config); return; } - if (!strcmp(name, "geom") && mt->geom == NULL) { + if (strcmp(name, "geom") == 0 && mt->geom == NULL) { mt->geom = calloc(1, sizeof *mt->geom); if (mt->geom == NULL) { mt->error = errno; @@ -116,11 +116,11 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->geom->lg_config); return; } - if (!strcmp(name, "class") && mt->geom != NULL) { + if (strcmp(name, "class") == 0 && mt->geom != NULL) { mt->geom->lg_class = ref; return; } - if (!strcmp(name, "consumer") && mt->consumer == NULL) { + if (strcmp(name, "consumer") == 0 && mt->consumer == NULL) { mt->consumer = calloc(1, sizeof *mt->consumer); if (mt->consumer == NULL) { mt->error = errno; @@ -135,15 +135,15 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->consumer->lg_config); return; } - if (!strcmp(name, "geom") && mt->consumer != NULL) { + if (strcmp(name, "geom") == 0 && mt->consumer != NULL) { mt->consumer->lg_geom = ref; return; } - if (!strcmp(name, "provider") && mt->consumer != NULL) { + if (strcmp(name, "provider") == 0 && mt->consumer != NULL) { mt->consumer->lg_provider = ref; return; } - if (!strcmp(name, "provider") && mt->provider == NULL) { + if (strcmp(name, "provider") == 0 && mt->provider == NULL) { mt->provider = calloc(1, sizeof *mt->provider); if (mt->provider == NULL) { mt->error = errno; @@ -159,11 +159,11 @@ StartElement(void *userData, const char *name, const char **attr) LIST_INIT(&mt->provider->lg_config); return; } - if (!strcmp(name, "geom") && mt->provider != NULL) { + if (strcmp(name, "geom") == 0 && mt->provider != NULL) { mt->provider->lg_geom = ref; return; } - if (!strcmp(name, "config")) { + if (strcmp(name, "config") == 0) { if (mt->provider != NULL) { mt->config = &mt->provider->lg_config; return; @@ -210,7 +210,7 @@ EndElement(void *userData, const char *name) p = NULL; } - if (!strcmp(name, "name")) { + if (strcmp(name, "name") == 0) { if (mt->provider != NULL) { mt->provider->lg_name = p; return; @@ -222,47 +222,47 @@ EndElement(void *userData, const char *name) return; } } - if (!strcmp(name, "rank") && mt->geom != NULL) { + if (strcmp(name, "rank") == 0 && mt->geom != NULL) { mt->geom->lg_rank = strtoul(p, NULL, 0); free(p); return; } - if (!strcmp(name, "mode") && mt->provider != NULL) { + if (strcmp(name, "mode") == 0 && mt->provider != NULL) { mt->provider->lg_mode = p; return; } - if (!strcmp(name, "mode") && mt->consumer != NULL) { + if (strcmp(name, "mode") == 0 && mt->consumer != NULL) { mt->consumer->lg_mode = p; return; } - if (!strcmp(name, "mediasize") && mt->provider != NULL) { + if (strcmp(name, "mediasize") == 0 && mt->provider != NULL) { mt->provider->lg_mediasize = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "sectorsize") && mt->provider != NULL) { + if (strcmp(name, "sectorsize") == 0 && mt->provider != NULL) { mt->provider->lg_sectorsize = strtoul(p, NULL, 0); free(p); return; } - if (!strcmp(name, "stripesize") && mt->provider != NULL) { + if (strcmp(name, "stripesize") == 0 && mt->provider != NULL) { mt->provider->lg_stripesize = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "stripeoffset") && mt->provider != NULL) { + if (strcmp(name, "stripeoffset") == 0 && mt->provider != NULL) { mt->provider->lg_stripeoffset = strtoumax(p, NULL, 0); free(p); return; } - if (!strcmp(name, "config")) { + if (strcmp(name, "config") == 0) { mt->config = NULL; free(p); return; } - if (mt->config != NULL || (!strcmp(name, "wither") && + if (mt->config != NULL || (strcmp(name, "wither") == 0 && (mt->provider != NULL || mt->geom != NULL))) { if (mt->config != NULL) c = mt->config; @@ -301,28 +301,28 @@ EndElement(void *userData, const char *name) free(p); } - if (!strcmp(name, "consumer") && mt->consumer != NULL) { + if (strcmp(name, "consumer") == 0 && mt->consumer != NULL) { mt->consumer = NULL; return; } - if (!strcmp(name, "provider") && mt->provider != NULL) { + if (strcmp(name, "provider") == 0 && mt->provider != NULL) { mt->provider = NULL; return; } - if (!strcmp(name, "geom") && mt->consumer != NULL) { + if (strcmp(name, "geom") == 0 && mt->consumer != NULL) { return; } - if (!strcmp(name, "geom") && mt->provider != NULL) { + if (strcmp(name, "geom") == 0 && mt->provider != NULL) { return; } - if (!strcmp(name, "geom") && mt->geom != NULL) { + if (strcmp(name, "geom") == 0 && mt->geom != NULL) { mt->geom = NULL; return; } - if (!strcmp(name, "class") && mt->geom != NULL) { + if (strcmp(name, "class") == 0 && mt->geom != NULL) { return; } - if (!strcmp(name, "class") && mt->class != NULL) { + if (strcmp(name, "class") == 0 && mt->class != NULL) { mt->class = NULL; return; } @@ -347,7 +347,7 @@ CharData(void *userData , const XML_Char *s , int len) } struct gident * -geom_lookupid(struct gmesh *gmp, const void *id) +geom_lookupid(const struct gmesh *gmp, const void *id) { struct gident *gip; @@ -413,6 +413,7 @@ geom_xml2tree(struct gmesh *gmp, char *p) return (ENOMEM); i = 0; /* Collect all identifiers */ + /* XXX we should check for duplicate identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { gmp->lg_ident[i].lg_id = cl->lg_id; gmp->lg_ident[i].lg_ptr = cl; @@ -441,8 +442,9 @@ geom_xml2tree(struct gmesh *gmp, char *p) LIST_FOREACH(cl, &gmp->lg_class, lg_class) { LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { ge->lg_class = geom_lookupidptr(gmp, ge->lg_class); - LIST_FOREACH(pr, &ge->lg_provider, lg_provider) + LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom); + } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { co->lg_geom = geom_lookupidptr(gmp, co->lg_geom); if (co->lg_provider != NULL) { @@ -522,22 +524,22 @@ geom_deletetree(struct gmesh *gmp) break; LIST_REMOVE(cl, lg_class); delete_config(&cl->lg_config); - if (cl->lg_name) free(cl->lg_name); + free(cl->lg_name); for (;;) { ge = LIST_FIRST(&cl->lg_geom); if (ge == NULL) break; LIST_REMOVE(ge, lg_geom); delete_config(&ge->lg_config); - if (ge->lg_name) free(ge->lg_name); + free(ge->lg_name); for (;;) { pr = LIST_FIRST(&ge->lg_provider); if (pr == NULL) break; LIST_REMOVE(pr, lg_provider); delete_config(&pr->lg_config); - if (pr->lg_name) free(pr->lg_name); - if (pr->lg_mode) free(pr->lg_mode); + free(pr->lg_name); + free(pr->lg_mode); free(pr); } for (;;) { @@ -546,7 +548,7 @@ geom_deletetree(struct gmesh *gmp) break; LIST_REMOVE(co, lg_consumer); delete_config(&co->lg_config); - if (co->lg_mode) free(co->lg_mode); + free(co->lg_mode); free(co); } free(ge); diff --git a/lib/libgeom/libgeom.h b/lib/libgeom/libgeom.h index 950508fd3637..2116645bd496 100644 --- a/lib/libgeom/libgeom.h +++ b/lib/libgeom/libgeom.h @@ -133,7 +133,7 @@ struct gprovider { struct gconf lg_config; }; -struct gident * geom_lookupid(struct gmesh *, const void *); +struct gident *geom_lookupid(const struct gmesh *, const void *); int geom_xml2tree(struct gmesh *, char *); int geom_gettree(struct gmesh *); int geom_gettree_geom(struct gmesh *, const char *, const char *, int); From nobody Mon Jan 12 17:19:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJK3m5Bz6Nrf2 for ; Mon, 12 Jan 2026 17:19: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 4dqfJJ4fpbz42Kn for ; Mon, 12 Jan 2026 17:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NkZg5ppTbnX77kNIwvdk9Y43iu/Of9Wt/O8Bzg+tB5M=; b=Y1xZv9m7G3cIsct9hJG/wc+rEnd9rmzVcc1X8wvRg/xKZiLBV9kWSjtW1Ro0l8W3d1aLvL Oa4J7xKsLvcQEcnxMPHgVC2dqnyFrluRvgJzDMvM4t0wsooa5pF8MKow4Drq3aMMZKFSJB +kIEiCNxD+Aca9XEjrH5yUHza9fChfOzlRn8HIFAw7zorTQb9Z4T1OBIxwakLFlRhw7FuZ nQrBYN/j0etPO0hS5pBgKmrJdkIGQ1EAUIjHnoImFtjh3b03zOpp1LtK6XjLztU4OFiOMx DSYj9HDxtlAjeKPzutQcCNB4RPGD+QKkCtMS47KCUFPyklHxcRgRpaynO7uFAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NkZg5ppTbnX77kNIwvdk9Y43iu/Of9Wt/O8Bzg+tB5M=; b=KP80cWmqnimMxeInniZ41UgbOjUb1MbV5VoTDvG/JRzfay25vp65yPTF29rAvpUnAy9Kxj E0DUcxtUgp/dMl+idyLA65NyKMbV57lyB06iOt7G8TCW6AuLvdZThb4pqXpI/UwYqHaDZp Sk9CzHevQBNMUU0FT9m0j80S6KgZ9bRvhvcQ8yDh+WZfil48mh4U+KpvjpZurlhIxJojf2 NxZXoLZ5PHbHCb9Bk6pJqvD9LY6nOSOx+VLyE6PkxewBd2Meyh3I194Ms5azBZUZgzsVxp qmOrv0PYCWQMV52yEts+0WVrhtmBBKLPdoydNEs5CxHtBxA0ZlGArGA4V0Fh8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238384; a=rsa-sha256; cv=none; b=kJlNeIQf0+zssuu0hjS15PYHiEYGB4C+JNypgQO6bsglkXPSpZ+eGo7xZ7PgGNFpCriqz1 n5+OcF/kj38G16w5DvMwSXUI69upMI9QmQvAO5YpYaxIL1w6z3EgsnYPTUNjmwTMrR4A73 8DZIGD5RWnHjivcEdviSwzcKp3Eqs5Z/HklcUH64feQ99PGZCA4izNUS9JFeYlAFSNOO8D k0OyJyhqFT3Zcp7nvIPteftcsjYCbrJSzjXkDP81q7O77PD/990qBdpt00UW7Rl3g4khR3 6maxXAjVF3ByB7UtQLsDMGxp9UQnPCk3/40747gOi+nXLAP0j6AoAN0tGR4tew== 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 4dqfJJ3xSgzcLP for ; Mon, 12 Jan 2026 17:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3674f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:44 +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: d39abff4ce1e - stable/13 - libgeom: Improve type safety of xml2tree code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d39abff4ce1eefdee1a17f3bd47d54c8187f667e Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:44 +0000 Message-Id: <69652d30.3674f.72188849@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d39abff4ce1eefdee1a17f3bd47d54c8187f667e commit d39abff4ce1eefdee1a17f3bd47d54c8187f667e Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 09:10:03 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:46 +0000 libgeom: Improve type safety of xml2tree code When resolving references, assert that the type of the object we find is what we expect. This will help prevent memory corruption if two objects of different types somehow end up with the same identifier. MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54454 (cherry picked from commit 4b0d5d1d6a7c9773e38882feb4747a76b37a645c) --- lib/libgeom/geom_xml2tree.c | 54 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 81f7de1be263..03210947d431 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -358,14 +359,47 @@ geom_lookupid(const struct gmesh *gmp, const void *id) } static void * -geom_lookupidptr(struct gmesh *gmp, const void *id) +geom_lookup_class(const struct gmesh *gmp, const void *id) { struct gident *gip; - gip = geom_lookupid(gmp, id); - if (gip) - return (gip->lg_ptr); - return (NULL); + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISCLASS); + return (gip->lg_ptr); +} + +static void * +geom_lookup_geom(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISGEOM); + return (gip->lg_ptr); +} + +static void * +geom_lookup_provider(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISPROVIDER); + return (gip->lg_ptr); +} + +static void * __unused +geom_lookup_consumer(const struct gmesh *gmp, const void *id) +{ + struct gident *gip; + + if ((gip = geom_lookupid(gmp, id)) == NULL) + return (NULL); + assert(gip->lg_what == ISCONSUMER); + return (gip->lg_ptr); } int @@ -441,15 +475,15 @@ geom_xml2tree(struct gmesh *gmp, char *p) /* Substitute all identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { - ge->lg_class = geom_lookupidptr(gmp, ge->lg_class); + ge->lg_class = geom_lookup_class(gmp, ge->lg_class); LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { - pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom); + pr->lg_geom = geom_lookup_geom(gmp, pr->lg_geom); } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { - co->lg_geom = geom_lookupidptr(gmp, co->lg_geom); + co->lg_geom = geom_lookup_geom(gmp, co->lg_geom); if (co->lg_provider != NULL) { - co->lg_provider = geom_lookupidptr(gmp, - co->lg_provider); + co->lg_provider = geom_lookup_provider(gmp, + co->lg_provider); if (co->lg_provider != NULL) { LIST_INSERT_HEAD( &co->lg_provider->lg_consumers, From nobody Mon Jan 12 17:19:45 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfJL1Rqvz6NrP1 for ; Mon, 12 Jan 2026 17:19: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 4dqfJK5RCYz42TZ for ; Mon, 12 Jan 2026 17:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RmEkDSXDGlWjizk79Uv4/7ft3dfXDlh1t691hP+T0ak=; b=oK2lReoBk2DQx+zkxzt0uQ0I/7mi+nMR11D5Pp3BF+BYsbp8OY9vTPfFXQzcw72X/UKorL PeYtpAYxt6Nl8dQOk360Skk7KqRUlXOCzUQ3CwFWEet5am+AYqwd83MTn/bQX4uTa91TPg zJoX1fO1oyGgcGC2XcQUESoEjwCSLDc/OIYzjr8gkjkz9MaZC+Tcb6KMuWM2238EaJTotN QjKRhqCG4e5d0IalTJ2ZBESupbymk1BR+FtdmYcEQp+dXXb+lxeFWgLSxcmJuAxv/5jffS ZUpccdD2VQns9c3ZoBZku/YN44XMQpF4TOKNscr4x7GqDU9lLYResahZVhE/yA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768238385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RmEkDSXDGlWjizk79Uv4/7ft3dfXDlh1t691hP+T0ak=; b=Z3JRx0KMc5g9/dN8vA1E/lhAnuhajGyCrO8xwHNDzaqpoGOXenZZeo5EX0B39KsClRGRKb wDsaec6hCsVjiyoigTmK/DcsGrVqxWGofh+zUDe12746aJaD4WwrljlIP+YYjvkOs0K/S9 EyAJgus06VgLhEUQwbAnHC0wxowOnplB0i1MddzArlFCNsQ67RjT5hv7mpL3+aNF3/PoF4 9LuR1U0GIvLlP5+hHZUIE+07ba3ZI0QaqYWLwg9Nr54gWmMSbe2mpH+cbQzNSjVGghjHG3 Lm2115ObZAm01GBbfFsCQtNBNuNeJmGiRoTPJUD3LWqO5I1D7gg5mFj7/Dq4Rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768238385; a=rsa-sha256; cv=none; b=PUXyvfanykZirL7tjfijqbBTZD+A3psuq/bX1uRjJT2ttEPUTzMVRo54xntAVNrgtbvJ4X AtW6j8yQYV6wxTaBADgwkylwqjtUgZ9bkc9c3VXmCwyuuTHHt8Lv8oLbP0YN5Jyq3KqtZA XBTkI/q4M1BQRDKmt184WpkvEsSO6ij5RpRAQa3FcBxh8uE/4FfxROVqnqYyKsv532WRba XSgpmoaYyuuPn1gO17MUBFkGzoc0FcJgklLLEmCpeDuk7ZWgnJPfY0/nvL4I3whwThzHRd 5KgKHhlLfGH08q/tYOUBPrqTl85Ud+bVRWB9HRkTW76tX15RWdT6vjdn07i/2Q== 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 4dqfJK4kH1zc0d for ; Mon, 12 Jan 2026 17:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36842 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:19:45 +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: 61b429198db7 - stable/13 - libgeom: Fix 32-bit gcc build 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/13 X-Git-Reftype: branch X-Git-Commit: 61b429198db7af6451ffdeeec95e65562b45f575 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:19:45 +0000 Message-Id: <69652d31.36842.40c3c1a5@gitrepo.freebsd.org> The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=61b429198db7af6451ffdeeec95e65562b45f575 commit 61b429198db7af6451ffdeeec95e65562b45f575 Author: Dag-Erling Smørgrav AuthorDate: 2026-01-03 20:34:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-01-11 02:30:47 +0000 libgeom: Fix 32-bit gcc build MFC after: 1 week Fixes: 27894e20f140 ("libgeom: Fix segfault in 32-on-64 case") (cherry picked from commit 17355cf50fcbd0d8ddb638e1f2fd5861b526edbe) --- lib/libgeom/geom_xml2tree.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/libgeom/geom_xml2tree.c b/lib/libgeom/geom_xml2tree.c index 03210947d431..a66938671845 100644 --- a/lib/libgeom/geom_xml2tree.c +++ b/lib/libgeom/geom_xml2tree.c @@ -71,6 +71,7 @@ StartElement(void *userData, const char *name, const char **attr) struct mystate *mt; void *id; void *ref; + uintmax_t umax; int i; mt = userData; @@ -80,10 +81,12 @@ StartElement(void *userData, const char *name, const char **attr) ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (strcmp(attr[i], "id") == 0) { - id = (void *)strtoumax(attr[i + 1], NULL, 0); + umax = strtoumax(attr[i + 1], NULL, 0); + id = (void *)(uintptr_t)umax; mt->nident++; } else if (strcmp(attr[i], "ref") == 0) { - ref = (void *)strtoumax(attr[i + 1], NULL, 0); + umax = strtoumax(attr[i + 1], NULL, 0); + ref = (void *)(uintptr_t)umax; } } if (strcmp(name, "class") == 0 && mt->class == NULL) { From nobody Mon Jan 12 17:33:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbj2lbJz6Ns8b for ; Mon, 12 Jan 2026 17:33:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbj1TJHz46jZ for ; Mon, 12 Jan 2026 17:33:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kEkJ6cL8n02m8y9K6zkFa17kx7YO/oM+pnd67dJFLwI=; b=UHTIvRyCpJe/V0YarK3j4fX43zjpcGdFaYFgiCO1l+qil3L0E1OUT9XuBGbnOknnMFPqVd Oo9mqJ7JAsksD7RZ9tS5Qt5uPkaBwvRLyKvVYANPuuTqhtbr0ZXm9G1KrbDUanHsfNzij4 u5hZBEtrTsCdr3RNA8XYQzE0DhO0YXAxn7r7fjd2LzIzEALkeIQVNRkFfbJzKFfIDvOhVM E57apvGJeT/HQbZgnbiA5vJ6sZTdVNS6rG3dzo30pxeKS7AhjZ+lsyV3lVd0cef3NdCUjK QhIJ4M2CSRE+G+zutt8Rje/h4HUJLshJv87XVpcyAh/6krP0aIJ6dwlEbgmLqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kEkJ6cL8n02m8y9K6zkFa17kx7YO/oM+pnd67dJFLwI=; b=FsLMkRSRK5ni1S0FsKPFqx/K0rO8VXpbwVQWHk/JWF1jieUN4tDiZfUilYattakGGGnWXS MUEji1F5wKec15wd0oFTDrTV15jNUy5eVvnTBinQOf+IVLiPItXr/4AuxJyO8fngqyQGBT lm/C9kacEDE79wPHJ2YWSJ22OMOo6T9Rh/4+Sy3Inu6LKr5KRC7W9P5qUUJJp3R3B2X5qx VVmsT5fyWi+ahkkGkEH4Ge8OSBsR0SRn0ain/BY25lwme4Y9z8orXuDaQE5mLc5go3gZov H9zx/Wpofbk60TbZV5dC1ofbY0/mGCwpixezGIB+vFujwcOMcKpWCvPcY/XrOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239185; a=rsa-sha256; cv=none; b=bV2XU08UIWl2fYYHg591tStcE65zSgVqZOANtYntYjQZy0VTczQGElSHcuPdi5LYjfnWkH t37HnHtNEwWwCAEPxEhdpx3wixDQ9o6ezVuik/pExcmx/nAPE/eoORvFsezzcFFpLgGaGn Ym9YVzmt0/3lk0sRl3icomG4svTj2kMYS+DYzENHPpeDhpkrJ8tUnSYVVTptX4x9HlhXbM b/vh/AFc7Ge5o0n+6VbriVUNoZGadNr3v//zTmadJRvPcG5+4wsDCetAMkAIK7roYL7vE4 QkYl9iBxEe5c+gO+xPDm8GVNwL0vDO6/7LrZ7XpThBa8fRg669EFV2CkVDFPXQ== 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 4dqfbj11hLzcSN for ; Mon, 12 Jan 2026 17:33:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36ae5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: da358db1cba7 - stable/13 - ng_tty: avoid the sign extention of char 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: da358db1cba7402059187bd74313fa18601df609 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:05 +0000 Message-Id: <69653051.36ae5.58bebe60@gitrepo.freebsd.org> The branch stable/13 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=da358db1cba7402059187bd74313fa18601df609 commit da358db1cba7402059187bd74313fa18601df609 Author: Ahmad Khalifa AuthorDate: 2026-01-06 02:07:29 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:28:02 +0000 ng_tty: avoid the sign extention of char When c is compared to sc->hotchar, both undergo integer promotion, which can lead to c being sign extended. Fix this by casting c to an unsigned char. Reviewed by: kevans MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D54544 (cherry picked from commit 9b2478f60bfda663c84b48e272a2293159e1b0a0) --- sys/netgraph/ng_tty.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netgraph/ng_tty.c b/sys/netgraph/ng_tty.c index 0e3230a66f66..200a72336110 100644 --- a/sys/netgraph/ng_tty.c +++ b/sys/netgraph/ng_tty.c @@ -489,7 +489,8 @@ ngt_rint(struct tty *tp, char c, int flags) m->m_pkthdr.len++; /* Ship off mbuf if it's time */ - if (sc->hotchar == -1 || c == sc->hotchar || m->m_len >= MHLEN) { + if (sc->hotchar == -1 || (u_char)c == sc->hotchar || + m->m_len >= MHLEN) { sc->m = NULL; NG_SEND_DATA_ONLY(error, sc->hook, m); /* Will queue */ } From nobody Mon Jan 12 17:33:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbk3pmNz6Ns8h for ; Mon, 12 Jan 2026 17:33:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbk27Yvz46wD for ; Mon, 12 Jan 2026 17:33:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rLzsFhXxdbeu5SG15Rc2UTPiQIBeE+A0lxokG2Wf7pQ=; b=aDIp6nsNmV0rDVi0YqQkQp+DGMUnvaC9JPLDWPsJ8cq/nA8qyIUpO/3Jq05jST6SaxkOjy KnTD6LCBgslAbeY9Q5s5yaaNMFJdWfqHrEer84YG+iUFlTLb9fQluSkhoiPTN2cfECKrGM WDFF2VnxGbWktvq4uuiFDalQ3KbC9KS0j4byc6bxjRH+EhFsIlU8Q3Clf3omgrzfB8nIuC Rz0uNikY1yrNIHvgtDE2VLuGrd7nGN6caaBpTZGdbrOY4J8OxywHXi8fRq7jkGOhoBLWnV HHifd+E/ntpye/7mioiwKeAZiF9lGQMXmT9NYmnUij8Sp1jAQRj6lsZlDpxEyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rLzsFhXxdbeu5SG15Rc2UTPiQIBeE+A0lxokG2Wf7pQ=; b=ruSaEkrd7foPnwaBW9lX+MfGj1CpRaHs/WwNxDUSllRni6wmssio1FsBhLrIHozMZPafjT nms9pfQ0Yk+E/HlzPwxmMvJDLPfEnBPY0Yw1WR6oR5YXvLmTsQMZZuE+tQU/UNZGpQu6g9 YxmFtrT/cGGuE6whvha+JCGoFSvPKXDDNx9GvSHCcBcEMHgQ3zIm5DWJKVmv7i5qQNqNoi g2IlHfZ1PJfy4ICwKxtDif89j5n3PnTOn18/AIG73s13pGv83xEFZkbOiyJDoIYi0sawcH zlB5CqaTj7sj4IsI9kUAAFhkjhvb3e4itIzswXCFuvgeYaRrpj/4wgKIEhCVPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239186; a=rsa-sha256; cv=none; b=rcSRfHODlKRztisSMrngpfLNw5OaCTQEy5LHsidXtLxyJ2XTl6aHKpKNaNFwy97XuNDLEM KCCPoRys7I11wJG9bXFEMJGICs81PZaZKIsHdDTTdXrJZBS8+VTbexn9S8qphNV77ew3Ib x8lTGA0X7CHTA6i8c4c1toyxqI7mWFY+0C9KKW16vNWe4wF2dD0Um3clKnmSqP5ToLuS55 VMjPVNFKT3b3jAssfrxYDtflGrRSsg9W+iK1XNpZ1XEq8FATRUpc/1gqEzJjFBOljxdanc TmsOaFDfZ9n9cKOBveKBaOqL/DV18IVFsjuPLASC1sQBy1ItubRPjbxT4BRWew== 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 4dqfbk1gpdzcSP for ; Mon, 12 Jan 2026 17:33:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38bd0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: f4e56d1bda03 - stable/13 - loader.efi: probe for UGA if GOP isn't found 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f4e56d1bda03982c9624e9d098a47bbbe2b834d5 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:06 +0000 Message-Id: <69653052.38bd0.45e347f2@gitrepo.freebsd.org> The branch stable/13 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=f4e56d1bda03982c9624e9d098a47bbbe2b834d5 commit f4e56d1bda03982c9624e9d098a47bbbe2b834d5 Author: Ahmad Khalifa AuthorDate: 2026-01-04 13:15:02 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:28:02 +0000 loader.efi: probe for UGA if GOP isn't found Probe for UGA instead of returning early if we can't find GOP. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54431 (cherry picked from commit 5d85dde27b4769604fc108b89328607e70e767ed) --- stand/efi/loader/framebuffer.c | 74 ++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index 56693187b576..abd99910f42a 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -576,53 +576,55 @@ efi_find_framebuffer(teken_gfx_t *gfx_state) if (EFI_ERROR(status)) free(hlist); } - if (EFI_ERROR(status)) - return (efi_status_to_errno(status)); - - nhandles = hsize / sizeof(*hlist); - /* - * Search for ConOut protocol, if not found, use first handle. - */ - gop_handle = NULL; - for (i = 0; i < nhandles; i++) { - EFI_GRAPHICS_OUTPUT *tgop; - void *dummy; + if (EFI_ERROR(status)) { + status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga); + if (status == EFI_SUCCESS) { + gfx_state->tg_fb_type = FB_UGA; + gfx_state->tg_private = uga; + } else { + return (1); + } + } else { + nhandles = hsize / sizeof(*hlist); - status = OpenProtocolByHandle(hlist[i], &gop_guid, (void **)&tgop); - if (status != EFI_SUCCESS) - continue; + /* + * Search for ConOut protocol, if not found, use first handle. + */ + gop_handle = NULL; + for (i = 0; i < nhandles; i++) { + EFI_GRAPHICS_OUTPUT *tgop; + void *dummy; + + status = OpenProtocolByHandle(hlist[i], &gop_guid, + (void **)&tgop); + if (status != EFI_SUCCESS) + continue; - if (tgop->Mode->Info->PixelFormat == PixelBltOnly || - tgop->Mode->Info->PixelFormat >= PixelFormatMax) - continue; + if (tgop->Mode->Info->PixelFormat == PixelBltOnly || + tgop->Mode->Info->PixelFormat >= PixelFormatMax) + continue; - status = OpenProtocolByHandle(hlist[i], &conout_guid, &dummy); - if (status == EFI_SUCCESS) { - gop_handle = hlist[i]; - gop = tgop; - break; - } else if (gop_handle == NULL) { - gop_handle = hlist[i]; - gop = tgop; + status = OpenProtocolByHandle(hlist[i], &conout_guid, + &dummy); + if (status == EFI_SUCCESS) { + gop_handle = hlist[i]; + gop = tgop; + break; + } else if (gop_handle == NULL) { + gop_handle = hlist[i]; + gop = tgop; + } } - } - free(hlist); + free(hlist); + if (gop_handle == NULL) + return (ENXIO); - if (gop_handle != NULL) { gfx_state->tg_fb_type = FB_GOP; gfx_state->tg_private = gop; if (edid_info == NULL) edid_info = efifb_gop_get_edid(gop_handle); - } else { - status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga); - if (status == EFI_SUCCESS) { - gfx_state->tg_fb_type = FB_UGA; - gfx_state->tg_private = uga; - } else { - return (1); - } } switch (gfx_state->tg_fb_type) { From nobody Mon Jan 12 17:33:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbl5Jsnz6Ns63 for ; Mon, 12 Jan 2026 17:33:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbl2rrKz46jb for ; Mon, 12 Jan 2026 17:33:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olTI3NZPARAvarGn1bESFOziuWtSdrx9tpbJg76UcRc=; b=yo0kP61riyYiDtBM6dYJF4gKrBencPBimooze7DFHQEuEiFfSN/s61B/oL0hllPEAvGDYF raqQfilUDYdcC5viPQ3dcurcwL6D1G1I8Nwt/ju/Yec1KAH25+FsvNaLKRTU19+eRRXU29 nRQ1JTIb9UF0Nr+3DZKxQOBDMSfinaZr7Yx3g3D693QviIs6cRq9CzM3hnrUzZSVNT6APg yHCMrfUbB8yU7PP7aTxJDmfUgcaWe8mz0TCgV/m7joDrMW/cB62OyszFCjIwDl2BPfBAXP vbQXdSrz1iCwRIMj9I13Ln8NSzOsa9tPzdznXaKJUbNnyAlqv8wuZpV9T2YX0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olTI3NZPARAvarGn1bESFOziuWtSdrx9tpbJg76UcRc=; b=EbfipAhaJh7csBH3Bs1Os4/bAk4qzxov+fGFrccb2O34JTa3tK4+oMy/nWkU1KYhVRtfli Y0+wtQBzPo2QCZJlCxc/9U90VIEpOCYgd1TP4NLe1iixNIbp1gEztwfK9AosHQ86P7/PY9 P/29WZAS3PUdX3m36ppFsbvrUrx8FmtKnRBj/8/C9cZdS2SfEnAE67XtKBRRzO65fyvhA0 S1CDNdf5XEMnYWvSEkhLz9Dmn5Xi1aqthcnOm7rY+2L9mj45n4ZGPkaiXKKrHxUeV/POhd weDhVvMjtxPafvWkhNXKZpy9n10GNoOnjtDnjp3b0n3x1M59/0v3OAkbGzx8KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239187; a=rsa-sha256; cv=none; b=E34/3GCRvL4itt11lwXEd2QBItatkltID3qzpiX1pzkEuFfIjgSEG29jDxiotJOgFKrdja CiscCCLTXnohoMlbt1hxUzkg6SC8d+b0PJrx+HnCenmSx4X3qT7b7TZuoRIw49LbFJHfko lA1FJJ5AgN0YbvsVuqRGcQOEz+TvIWMJArDg9DJwqRFhXqYy+5R2JSQmIROkGAlak6tcBL QEPxhM345M1MzraedUr5REbp6pcmVDILOpiXAQ2tueN0B50XNApzONXuk290IDQ3LAFKLh QJbU2oO0WhbvpX9bmZ84HhgM7QM5as9gbtaGjH7XK6UrFWfmsmt+RZ4DxJd6ZA== 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 4dqfbl2HL8zc1T for ; Mon, 12 Jan 2026 17:33:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39612 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 8591ee986b22 - stable/13 - loader.efi: only use firmware provided Blt on GOP 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8591ee986b22007a98ded2f3dc86e8065f14b213 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:07 +0000 Message-Id: <69653053.39612.14942e12@gitrepo.freebsd.org> The branch stable/13 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=8591ee986b22007a98ded2f3dc86e8065f14b213 commit 8591ee986b22007a98ded2f3dc86e8065f14b213 Author: Ahmad Khalifa AuthorDate: 2026-01-04 13:15:37 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:28:03 +0000 loader.efi: only use firmware provided Blt on GOP gfx_state.tg_private points to a EFI_GRAPHICS_OUTPUT_PROTOCOL only when using GOP. The firmware provided Blt functions on UGA platforms have been observed to not work on old MacBooks, and are likley hit or miss anyways as UGA has been deprecated since 2006. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54432 (cherry picked from commit 9595055ae7494997bb07b4aaed544f88ac4c5e7f) --- stand/common/gfx_fb.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index 27ac66f259b1..8482390ab0ea 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -84,6 +84,7 @@ #include #include +#include #include #include #include @@ -780,7 +781,7 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, int rv; #if defined(EFI) EFI_STATUS status; - EFI_GRAPHICS_OUTPUT *gop = gfx_state.tg_private; + EFI_GRAPHICS_OUTPUT *gop; EFI_TPL tpl; /* @@ -790,7 +791,9 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, * done as they are provided by protocols that disappear when exit * boot services. */ - if (gop != NULL && boot_services_active) { + if (gfx_state.tg_fb_type == FB_GOP && boot_services_active) { + assert(gfx_state.tg_private != NULL); + gop = gfx_state.tg_private; tpl = BS->RaiseTPL(TPL_NOTIFY); switch (BltOperation) { case GfxFbBltVideoFill: From nobody Mon Jan 12 17:33:08 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbm4nfdz6Ns4s for ; Mon, 12 Jan 2026 17:33: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 4dqfbm3MXmz46qb for ; Mon, 12 Jan 2026 17:33:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239188; h=from:from:reply-to:subject:subject: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=+a/NSpsPrd6wRzJb7CLNor2cyr50fZFcCII3Fe6FdtY=; b=sULBVoXAosG/GZkfYjA+nLCaKJsr4+OkyZYTKLwaXl4B4840rlsrT0bFJP4mofXezfC+jE L6yp6fizpsO/7sLBKCxrrVXSh92fE5Dx2pzE9tbwPiNtIPhgKdYzE7tcaH1BIp/KBJl5SO S0uZWhucj5rmONxJkRW94GRbR/3Ld+fn+Vw6hPYwpzU1HkEE2BMQTvXdzChErp66wsB2uy 6S8+2VP4yTcjyWlMkWH2HpZeUc8xKaR7n5XEvjJ90AVsOFh/LXlE5UWC5W0vdZEftZ4guo nyz6hbeHZZAxaVS6QQkU4eMxoobvvUMIZF1Sjp4RCYL1qpFFtb4pQbQmQm9qZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239188; h=from:from:reply-to:subject:subject: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=+a/NSpsPrd6wRzJb7CLNor2cyr50fZFcCII3Fe6FdtY=; b=NiNzalyaMtozYHB6vzWlEW25iK1oKo3bd3iIQMp6ZOMlPgqOkueT7CNzWL9U7QW5YQhzZs rqsikHAfoNHTByJMtmWPXr0f7+r0pYdqfSs4sAWs+m+p6o6TmjaqZg5GNrfwNbdpjK5LAc +WlPlguh3ivoJ7baSXuymZAOada3OcbrRzxIQBCTOh7IsYf6fu/I2HkgCxBkwWEA3BRkWP Ju1HwaAmfqfZzhFXU6rZtiSUzMiyrLMu9/9Kmkfs7YzB8kUq5iTvqrAs3IA2H6kCB3F2Hf VYxEtUOgfSQhOZDGy6+J+/Ta9DLEVce0WtgJ+5TSe3s0UKKXEQqhuABXcDAVvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239188; a=rsa-sha256; cv=none; b=YkVQxMYQBSMBB2bOl6AzMhlZLCELFP6yM9N8EmG5kubgeU1E71eRYB9a/7Si8L+Jy/QpUm kS+fIL2c4nunO5u+B2gIObf5n7joptIPqPIrFC/iPM12UnWclV0JS6JemwZ3NCSVa2n6VV Dn+08x6sD3Vb9RX2viY+UUfDpD5JMICsRvbLL5RfBW4cmKVoqADTgyEMKpJhctLnWtAdlq Xknhd+z8J+ortUMrJKeD9gPfrYky63ZZNzD7qJkhmGXk/iIVEES6QFrsh1NdhNyZLW3jRz I9Dv4CQa4v5+k4iKIJ1eE2Az/FXXPqPaT4lGonUZ7e0406YSBp8uCApxqWeePA== 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 4dqfbm2kHszcb3 for ; Mon, 12 Jan 2026 17:33:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39c5d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Frank Hilgendorf From: Ahmad Khalifa Subject: git: b16ae773509c - stable/13 - loader.efi: add stride & offset for MacBookPro3,1 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b16ae773509cfd96be975644aad9c325011d8ea2 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:08 +0000 Message-Id: <69653054.39c5d.7412a69a@gitrepo.freebsd.org> The branch stable/13 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=b16ae773509cfd96be975644aad9c325011d8ea2 commit b16ae773509cfd96be975644aad9c325011d8ea2 Author: Frank Hilgendorf AuthorDate: 2025-01-27 21:18:39 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:28:03 +0000 loader.efi: add stride & offset for MacBookPro3,1 Note that there are three variants of this MacBook. We only have the stride and offset values for the 17" 1680x1050 model. Reviewed by: vexeduxr Pull Request: https://github.com/freebsd/freebsd-src/pull/1584 (cherry picked from commit be6ba97aaee762c2e5300834f1916ae5dfd5a0b9) --- stand/efi/loader/framebuffer.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index abd99910f42a..91ab0dd28d06 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -379,6 +379,23 @@ efifb_from_uga(struct efi_fb *efifb) /* These are the missing bits. */ offset = 0x0; stride = 2048; + } else if (ev != NULL && !strcmp(ev, "MacBookPro3,1")) { + /* + * Valid for MacBookPro 17" with standard resolution. + * Other Models are: + * MacBookPro 15" with horiz=1440 + * MacBookPro 17" with horiz=1920 + */ + + /* These are the expected values we should have. */ + if (horiz == 1680) { + vert = 1050; + fbaddr = 0xc0000000; + /* These are the missing bits. */ + stride = 2048; + /* 24 scan lines down */ + offset = stride * 4 * 24; + } } } From nobody Mon Jan 12 17:33:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbp2BzXz6Nryh for ; Mon, 12 Jan 2026 17:33: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 4dqfbn4CnDz472S for ; Mon, 12 Jan 2026 17:33:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fLtggXAKLhBG8yNbnuoGm4lqsIgSZVnxibn8bLtfsI=; b=ldeFEFihXhPKbZEolMzGoqZ4Qi8OUbCe9FHSA23OJXDJD6nbb1OSW72L70JfVxIAWhDK53 OJX1oX1YfOFbTYnsHNwwGuEwghPUdoUT5LJhmJPqGUMIhsE08b7UKlXdzxcMHjlRj42xK+ tTooqtANowlws9QOOugl67z54Beo5Dn3YM27RSH7GGu5bu1vAir2Cj0sVuJ1HuyKPP8L0S kaDfNXaK431rOsYxfaZq0mnWEexw22m9dVhwIK/smLDjxIhiXTYChHZg711mQDKZRjKegZ hKz2+7Gp58fuSzuzkAmttpOYMPa9cMueGzxAEDVEgFiLk4uCK6AxwMwRQawf4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fLtggXAKLhBG8yNbnuoGm4lqsIgSZVnxibn8bLtfsI=; b=mWzg7QObk91YLBOJgYPB7nOYtyZjUbzqreGZC2yOHCU65m7TWYQyDSKObE6VAwNAm6+jOK D4Lh2PwQAwodgaz8jbtXhOlvJBTH1SpQwhhfyYK6Yy8tRV+hvlgjCtM/bHaiklfcm4s5nw VO5nvY5ubTZ7aPBgCeNxa8Lyu9TM8ZfD0NFbtXYWMYkIYLAhTM5pU+P0H5P7b3eiZgwqsi ROhZjj/p2rkyGOCCko3hWozErGeDRjH1NrZ3ow97zzcVZxIYpwTGyTjJDdYKDHIJuEyUyo vkuNiQxhPSS8ZlNgVObn3fq8db5YDRq/ucCbwMBd0mnZgaAkWyAi1npzR/kTQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239189; a=rsa-sha256; cv=none; b=KF6CzFdNHTyOquqtjR4MAjuRtF3xKvU3J++C5vMpg3v8AnfuIJ3i0cZA69DiIu/V8c3Bzu dLbp3TKtJdAIc6RHGlr2B0sBIUvgE6OXrt9X1ooaaWY9NbfVJ5UDToey1e7g/qWruQI+4U uMPSpS1oJsqNJbu+kmHtGCwyvravwaG5vVdbU9OxSnUPvT2V1SIFxkwGK1QO71+Q/oOXNX XIMZGid5gCcy/Q4GaT6SjrLa0lw46bZuABf+dE36KFk2v545efpc9wkMAT/7SsCs3Nm6Dm +zH79M2KjvLeRUe0hwUwoBtksclVaacICU+rDpah8yFNGF5MmOh1KHUmpsdhCw== 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 4dqfbn3fMSzcqT for ; Mon, 12 Jan 2026 17:33:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39715 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 00d2b1b0c4d4 - stable/14 - ng_tty: avoid the sign extention of char 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 00d2b1b0c4d48bd8daf0b01851e694a7dff12fe1 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:09 +0000 Message-Id: <69653055.39715.20f67c5a@gitrepo.freebsd.org> The branch stable/14 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=00d2b1b0c4d48bd8daf0b01851e694a7dff12fe1 commit 00d2b1b0c4d48bd8daf0b01851e694a7dff12fe1 Author: Ahmad Khalifa AuthorDate: 2026-01-06 02:07:29 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:26:33 +0000 ng_tty: avoid the sign extention of char When c is compared to sc->hotchar, both undergo integer promotion, which can lead to c being sign extended. Fix this by casting c to an unsigned char. Reviewed by: kevans MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D54544 (cherry picked from commit 9b2478f60bfda663c84b48e272a2293159e1b0a0) --- sys/netgraph/ng_tty.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netgraph/ng_tty.c b/sys/netgraph/ng_tty.c index 0e3230a66f66..200a72336110 100644 --- a/sys/netgraph/ng_tty.c +++ b/sys/netgraph/ng_tty.c @@ -489,7 +489,8 @@ ngt_rint(struct tty *tp, char c, int flags) m->m_pkthdr.len++; /* Ship off mbuf if it's time */ - if (sc->hotchar == -1 || c == sc->hotchar || m->m_len >= MHLEN) { + if (sc->hotchar == -1 || (u_char)c == sc->hotchar || + m->m_len >= MHLEN) { sc->m = NULL; NG_SEND_DATA_ONLY(error, sc->hook, m); /* Will queue */ } From nobody Mon Jan 12 17:33:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbq25qGz6Ns6B for ; Mon, 12 Jan 2026 17:33: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 4dqfbp4xnvz472Z for ; Mon, 12 Jan 2026 17:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pU1pBdOsB0myWbRbmrqHtjCbZXLTKxrvMry72+c3fo0=; b=bzPEpT4MJbxHa0zgHddZXtFaY0IZRrIpkDP/HkTnKJCNojimdKxo6Ts8QOw/8eMQRrQGv3 0EDqxxkFDB/m2SrWRilm2Zp/QqnEaDM909ry249903Pu70HTNzMdq/y3q/NdfWg8OuwK2v gDVFqrAapLdZGNMpvIhgBx+YVeR+m4AihnLVHPkKs8kGjaAh7SlP9HA90+229NdyS2AgBh hOP6KW7rsRdaJGcrRQsZ3M8pLwvCVgP5lYpwVIcSAZgHbsEiCy8yV/q+akMMeqt5LdV4K+ xgcL4aKpJhv3hCrVIHPkiUcDkHqY6LMUWXoS7EqTFsQgj6kRlNU1oJ/zLtthsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pU1pBdOsB0myWbRbmrqHtjCbZXLTKxrvMry72+c3fo0=; b=dPPcZ+1NeZziisLdMkpOMm33TFb3UweGOpfWbf81EGC0F5ZOBBd4u2jtN36rPl/rEgNGC9 X7tmm7mOg/TzJfymGhh8Xj72OCL4ikg8oZM+UUntHvKiWlI2NGmKGevJyKKL0Uxy7RFSXO al7WeH/3F5byQH991ynbTIwOmy8PIVW2G8b+N2i+n0xrCmtG07JOOxeXgMesNIAKNJBSvD K7a94XoMEAdxtE1WoRZKB6MWyqHk6mfsZEmBan2zJKJFJbEJilFvpJI1ouZx5nF1VQZw3E SRVbj5tgfPyzX6PSj1DUe+Rx+pvjFA741mKmGSjrEZepwWLJYjLNmzlkQHS9yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239190; a=rsa-sha256; cv=none; b=IBozBp3mlN+8bZTcCPBKlKrbot4vw/D0sa1+E3JfMu8lcqouRflB+8Uj8pr3KdFX7v4/R1 kPYJfgCou/PiMIyqqti88iaZORz84RnjE1O5GunR+RHIpBeWoFwpQhpKkJHrPH1OUBrou4 rOhRYf95W/HXhPayZ+FgutbPL4D2eNdlEV3e78NaDuC6b/YTtDn5TM0+Yp3MRoJSKjaVu1 rbcppFNHF3NN5F6CodTEQO3/zoclSgu9m5QcD+eB7z91/j1+SVMJHYJgVEnDQ373ORlYwj L96Bc7QK/uXF+/ZIRrQPCk0enFoPPMNx7epL46mrrh6et3ckeQHOcQ15aDqkew== 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 4dqfbp4LlmzcPY for ; Mon, 12 Jan 2026 17:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 394b5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 4832232096f8 - stable/14 - loader.efi: probe for UGA if GOP isn't found 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4832232096f8e691563e5200b9f0d86d158bc51a Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:10 +0000 Message-Id: <69653056.394b5.57c7c8a4@gitrepo.freebsd.org> The branch stable/14 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=4832232096f8e691563e5200b9f0d86d158bc51a commit 4832232096f8e691563e5200b9f0d86d158bc51a Author: Ahmad Khalifa AuthorDate: 2026-01-04 13:15:02 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:26:33 +0000 loader.efi: probe for UGA if GOP isn't found Probe for UGA instead of returning early if we can't find GOP. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54431 (cherry picked from commit 5d85dde27b4769604fc108b89328607e70e767ed) --- stand/efi/loader/framebuffer.c | 74 ++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index ea4131b751c8..c97ba68b38da 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -585,53 +585,55 @@ efi_find_framebuffer(teken_gfx_t *gfx_state) if (EFI_ERROR(status)) free(hlist); } - if (EFI_ERROR(status)) - return (efi_status_to_errno(status)); - - nhandles = hsize / sizeof(*hlist); - /* - * Search for ConOut protocol, if not found, use first handle. - */ - gop_handle = NULL; - for (i = 0; i < nhandles; i++) { - EFI_GRAPHICS_OUTPUT *tgop; - void *dummy; + if (EFI_ERROR(status)) { + status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga); + if (status == EFI_SUCCESS) { + gfx_state->tg_fb_type = FB_UGA; + gfx_state->tg_private = uga; + } else { + return (1); + } + } else { + nhandles = hsize / sizeof(*hlist); - status = OpenProtocolByHandle(hlist[i], &gop_guid, (void **)&tgop); - if (status != EFI_SUCCESS) - continue; + /* + * Search for ConOut protocol, if not found, use first handle. + */ + gop_handle = NULL; + for (i = 0; i < nhandles; i++) { + EFI_GRAPHICS_OUTPUT *tgop; + void *dummy; + + status = OpenProtocolByHandle(hlist[i], &gop_guid, + (void **)&tgop); + if (status != EFI_SUCCESS) + continue; - if (tgop->Mode->Info->PixelFormat == PixelBltOnly || - tgop->Mode->Info->PixelFormat >= PixelFormatMax) - continue; + if (tgop->Mode->Info->PixelFormat == PixelBltOnly || + tgop->Mode->Info->PixelFormat >= PixelFormatMax) + continue; - status = OpenProtocolByHandle(hlist[i], &conout_guid, &dummy); - if (status == EFI_SUCCESS) { - gop_handle = hlist[i]; - gop = tgop; - break; - } else if (gop_handle == NULL) { - gop_handle = hlist[i]; - gop = tgop; + status = OpenProtocolByHandle(hlist[i], &conout_guid, + &dummy); + if (status == EFI_SUCCESS) { + gop_handle = hlist[i]; + gop = tgop; + break; + } else if (gop_handle == NULL) { + gop_handle = hlist[i]; + gop = tgop; + } } - } - free(hlist); + free(hlist); + if (gop_handle == NULL) + return (ENXIO); - if (gop_handle != NULL) { gfx_state->tg_fb_type = FB_GOP; gfx_state->tg_private = gop; if (edid_info == NULL) edid_info = efifb_gop_get_edid(gop_handle); - } else { - status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga); - if (status == EFI_SUCCESS) { - gfx_state->tg_fb_type = FB_UGA; - gfx_state->tg_private = uga; - } else { - return (1); - } } switch (gfx_state->tg_fb_type) { From nobody Mon Jan 12 17:33:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbr4QCqz6Nrkb for ; Mon, 12 Jan 2026 17:33:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbq5s1Qz47Fd for ; Mon, 12 Jan 2026 17:33:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9/n0lQE8pIfQUUSioEjJuzLvaMpM3q3SmKKWozg58dg=; b=E1OVELlg6N0Mf/prjkDZ+w4+qAlVsCVfBIKfBsdQ8JMpCgjpCyclTQX9pXNa96h8X0sE0K Ixf/RGMKR30OXmG2mq2WYhqcd4eY68LBpFUS8THV6jXyB1J6wNP78WOklFGpmXpPiT0CSk HssG30jtPovc6Z7Y5g1asspqirf2m6bUyQvwieOSTkvQn/xxqwYv/Aw5zRS17JQMYRLUvu NUdITF2ikQ/I+HYRKdD5Gpc4ss9Fv0q89RcszRVDopcO9mo4zIN7Guq2rQHOFt8Rq+KheI NOFUC/P1r57g9m04tsmIV5uUcQHy1yhCvoYYDWLRs/CNPXk4LYWHty4Fquev7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9/n0lQE8pIfQUUSioEjJuzLvaMpM3q3SmKKWozg58dg=; b=y1f2vPqQ7NhurhcNCZZ4UWS3ahf34dbjwBdP2w5Noa1DUSEM1pJF58HFw6Rgbv4a1jSTJy IOXBvbDNTlthLki6SXlTalHlJO4lIqQRpVdRBdrKUyMlx0tCCM40WX4i2ULHHFU/duSF7R CPAdnuAXC17Ib/BHOEryWkK+h0/0dymAbPvSBFCEkckncUItq8PuAvij0Jv7Z8mmolsbmq 58satTHQwygnlqMuFYRRjeOVZIHxrkqCejY55ghBESi6ADM6sv2dAbAMjWuVHuRx7Hh6GD e6885xWIOcfmFoDs0pYsDjFwM8EGxalrtYCM809pho51nR64jDV9JN7rccrobQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239191; a=rsa-sha256; cv=none; b=hCIfIFZ08WpANZJrtYFf7nzlBjN1dyVYznsbKRLFtUrENP66Dge7dNVB0W8ViETpqS5D3Q IGvpZK7hm0nSUH59I3kpAfTtiv0igAWe+Q7Ahm2fw9roAfrqe5D/+YdRdaVNMJETH0HFeu Y4j/vswB0m6zWWfFKTgbgYbfDluhj/P6i0SktAl+EJfl7n7WhwhVFdNoZicEPJm7V4Fd7J P8gCE04aj8bzPvqmkM6q+hfGIfoyusYepfXSX/v9fyLXGXJjE1gYao6IuAOG/kSU8aPDPQ cB8W9Ce8J3zOXJOfibaWkOXIGQ9pH5GlKjGQN8tkzPBXf38jJUJq+RtaPksi7g== 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 4dqfbq5CgKzcrg for ; Mon, 12 Jan 2026 17:33:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36ae9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 6741fb1bd4f4 - stable/14 - loader.efi: only use firmware provided Blt on GOP 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6741fb1bd4f473f3bc46e46841d2e53a9629907c Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:11 +0000 Message-Id: <69653057.36ae9.2334c772@gitrepo.freebsd.org> The branch stable/14 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=6741fb1bd4f473f3bc46e46841d2e53a9629907c commit 6741fb1bd4f473f3bc46e46841d2e53a9629907c Author: Ahmad Khalifa AuthorDate: 2026-01-04 13:15:37 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:26:33 +0000 loader.efi: only use firmware provided Blt on GOP gfx_state.tg_private points to a EFI_GRAPHICS_OUTPUT_PROTOCOL only when using GOP. The firmware provided Blt functions on UGA platforms have been observed to not work on old MacBooks, and are likley hit or miss anyways as UGA has been deprecated since 2006. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54432 (cherry picked from commit 9595055ae7494997bb07b4aaed544f88ac4c5e7f) --- stand/common/gfx_fb.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index 9942c629d124..67f757983cd3 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -83,6 +83,7 @@ */ #include +#include #include #include #include @@ -783,7 +784,7 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, int rv; #if defined(EFI) EFI_STATUS status; - EFI_GRAPHICS_OUTPUT *gop = gfx_state.tg_private; + EFI_GRAPHICS_OUTPUT *gop; EFI_TPL tpl; /* @@ -793,7 +794,9 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, * done as they are provided by protocols that disappear when exit * boot services. */ - if (gop != NULL && boot_services_active) { + if (gfx_state.tg_fb_type == FB_GOP && boot_services_active) { + assert(gfx_state.tg_private != NULL); + gop = gfx_state.tg_private; tpl = BS->RaiseTPL(TPL_NOTIFY); switch (BltOperation) { case GfxFbBltVideoFill: From nobody Mon Jan 12 17:33:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbs5Xzxz6NsNl for ; Mon, 12 Jan 2026 17:33: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 4dqfbr6zx4z47BP for ; Mon, 12 Jan 2026 17:33:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239193; h=from:from:reply-to:subject:subject: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=mXquinps69pFdeORpXTsaOk5AQBoKglC0DlqpF+Dtwk=; b=f273V7xkNnIaA20m9Wt7lW1EK4yYtaM8c1xOKACNm1QzV75ogqjUDi+Oo/H4xE9zFJWsRP 1aRvszTNkkBLPyXCOcKCqOTH6bMN6c5WDwKFFX5ZD+bUEPR6NSH2VpSvCIvIRnb17gJLVD sq47HQj2e7oCvRX/LNuYwYYZWdBUfOBNNcT6CW1XW1c5NjthoIQVqaky0cMrBX2AfNQMmG 4E7m99IEnSSF3WQfXYmjVRoFqk00C1Fhyuz0jrhb6ODo5UOVHQKdzTirGGV0n1Vtvsagiz BiMZGLAezxqr/bmltx8Nzel1Gs+6Y0R3cxNOAWHlueJARY03tW4LQXFfLsyrQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239193; h=from:from:reply-to:subject:subject: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=mXquinps69pFdeORpXTsaOk5AQBoKglC0DlqpF+Dtwk=; b=wGy+ATuJMo0RxMZnMs46rU8R8/rCb7Q6L+9fdAtzVektip5zBT7utHA/9ReOlQPNDEnmCu YCAt5u/zSmlErp3//LPcRAUyUdG9kED0rPpgamP0L8rlJF51ugqOPCoSwlcDiH6jXgstqv gIwgtNkgvNBeEyO1diCHymFvkqPhl1Fsp2OmWLxB6y5RneXCqkiZQfsl7339nzE2LLQgOk 1Z2fKOrxh4UOZw9Lqw6r8mKZ32LdwX5ZEbPPA4apqhFwqfb3JAwT5hvYWYApsrq34r6GLK EFYkKe+XmVLdttTKh4qJz6X2ZkAeSGp+rem/bsg6/xlDGXzo5+c0m0a/JWsK+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239193; a=rsa-sha256; cv=none; b=w3NBKirvl4qt8Dji373QuWURGHK/xThbfKAzZWLnUjxjz26s9NyGcZF+HuAovKPZVQ9Zko 21VVAGgNXC+0Wg3fTfxBG8oMcyGhAUiYid1/M2NcI+bmvauVbEFGkRqUKI/rAZeSoayZwy RL3bj6XlMDoAFcAtMEsUZrYhqrSWj46GuFleSDvoD/0cKi1DKZd8BV3LRDv521jGf6j4cx 0zkcfC+bqH9I96F0ttzCloYuaY9l+Mc3tcir38QpENkW/1eVoB8AsuaLpNZv0ONToBUjH2 GemFRDMEhamyziPOYTgtPHd4mDaFiX7V/IywLYLzX61Clm8vXxt+OfmCNSWJ8Q== 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 4dqfbr62mgzcqW for ; Mon, 12 Jan 2026 17:33:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39c62 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Frank Hilgendorf From: Ahmad Khalifa Subject: git: 7f20404b9f91 - stable/14 - loader.efi: add stride & offset for MacBookPro3,1 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7f20404b9f91557d655a50d8d43c77f87379d577 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:12 +0000 Message-Id: <69653058.39c62.10d7ec25@gitrepo.freebsd.org> The branch stable/14 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=7f20404b9f91557d655a50d8d43c77f87379d577 commit 7f20404b9f91557d655a50d8d43c77f87379d577 Author: Frank Hilgendorf AuthorDate: 2025-01-27 21:18:39 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:26:33 +0000 loader.efi: add stride & offset for MacBookPro3,1 Note that there are three variants of this MacBook. We only have the stride and offset values for the 17" 1680x1050 model. Reviewed by: vexeduxr Pull Request: https://github.com/freebsd/freebsd-src/pull/1584 (cherry picked from commit be6ba97aaee762c2e5300834f1916ae5dfd5a0b9) --- stand/efi/loader/framebuffer.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index c97ba68b38da..a3b2df38cd68 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -387,6 +387,23 @@ efifb_from_uga(struct efi_fb *efifb) /* These are the missing bits. */ offset = 0x0; stride = 2048; + } else if (ev != NULL && !strcmp(ev, "MacBookPro3,1")) { + /* + * Valid for MacBookPro 17" with standard resolution. + * Other Models are: + * MacBookPro 15" with horiz=1440 + * MacBookPro 17" with horiz=1920 + */ + + /* These are the expected values we should have. */ + if (horiz == 1680) { + vert = 1050; + fbaddr = 0xc0000000; + /* These are the missing bits. */ + stride = 2048; + /* 24 scan lines down */ + offset = stride * 4 * 24; + } } } From nobody Mon Jan 12 17:33:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbt3Qrtz6NsBf for ; Mon, 12 Jan 2026 17:33:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbt0NC5z47FW for ; Mon, 12 Jan 2026 17:33:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RXY0zRkB75SDqtyqYlxqAVUurTQP1Z/gMQkdOpQFyJg=; b=krhsri4ZIVC7VT9dXI8tObJQjJ/XUMizuXU2AYXphCdZr2VqUFdt7gHtc+W+sqKlJEbZ5l OxHTp4JDXh9RiYN/dWlcO5C4TOb5F526c0y3OErzHcJxMkrMsoOCdYUqopN81I6bW5yKd1 XYHX6ERtiHxhiZCh4ZpPII3tE3gg6cG+K6BZkGscRfTTGCLlzsDOAX/4hrI2jtVSC2m3cD vhNcOvzydJpPA2dtSoS1aEk7N3hnArBEZyVmK+dRJq1yGRJBtkcbhHf6vTcBftMJ4CWhLT vvD9eTBbqczyhwtLe82Rrkc1bi9H3JhpZVh+1ouhyp3aUasYdo49nOeSw+EZ9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RXY0zRkB75SDqtyqYlxqAVUurTQP1Z/gMQkdOpQFyJg=; b=FnsIjSqGYF6937yJ+QB07wMyGWcZprMzZL1bLWtkqdQO1pr65qcDYtfUapFxpo5q33uJc0 6t/QbN708DMCJxXcEl+2ju9OKDsHLjY02bG7EAxU2zj+kPJxo9HBML79CuQ1WJahYZNK10 RQiZnkh1ZwSYK0kR3TLO5/VqXQIbm6+IIVjmTrrpEhTDqiVJzK/tPYNSVQzkuZiCztIKEm tDhlPz1Cg0P2Z1N525zk3fkRnzRGv0MdYlR13RCpeDwmWnXRVDIU8sMqRa6Td4uhJdKsnh kK8wraW/BJc4Z53/GDtDLrdsBm+4+sFf+1wQ9hOpIv+ZtCMe5/5YfW0jWVt1tA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239194; a=rsa-sha256; cv=none; b=Mzz1zygT0rGzY4yEs+AC2LsTT04UbN7sfMKWzPhiMoSc5Q+5MzLoyROsX+1yFhZmxCw03B n6KJMYBZW3o6MWU6cDEnw8DQ7/kqFvDPFdHKPKRwMFkfTwo5LswAt0ZGH3EFSDgbNAmBpu sekGiiuha7C9EFQyrNUTX6O6caX+GNekF587tqS5zg0f7CMX+OiO/0gV1AKoeQtaGo6nFk lzHlldrt3NuPbTPLpSWLCGRqRWUthtu6stJWYxLxHMYlF7E5oKYhZjkLFmv2ccPoW9NBGM LftSB6HFDw1eZuVVJ3dMA7AMHaQTXTCeGMKQ98oL7nKIxsqAOViJvJa+WligxQ== 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 4dqfbs6xvVzcb5 for ; Mon, 12 Jan 2026 17:33:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 378e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: c72aa343a620 - stable/15 - ng_tty: avoid the sign extention of char 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c72aa343a620b15cbf5f6364814e881c634df837 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:13 +0000 Message-Id: <69653059.378e6.5bc13c47@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=c72aa343a620b15cbf5f6364814e881c634df837 commit c72aa343a620b15cbf5f6364814e881c634df837 Author: Ahmad Khalifa AuthorDate: 2026-01-06 02:07:29 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:24:54 +0000 ng_tty: avoid the sign extention of char When c is compared to sc->hotchar, both undergo integer promotion, which can lead to c being sign extended. Fix this by casting c to an unsigned char. Reviewed by: kevans MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D54544 (cherry picked from commit 9b2478f60bfda663c84b48e272a2293159e1b0a0) --- sys/netgraph/ng_tty.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netgraph/ng_tty.c b/sys/netgraph/ng_tty.c index 0e3230a66f66..200a72336110 100644 --- a/sys/netgraph/ng_tty.c +++ b/sys/netgraph/ng_tty.c @@ -489,7 +489,8 @@ ngt_rint(struct tty *tp, char c, int flags) m->m_pkthdr.len++; /* Ship off mbuf if it's time */ - if (sc->hotchar == -1 || c == sc->hotchar || m->m_len >= MHLEN) { + if (sc->hotchar == -1 || (u_char)c == sc->hotchar || + m->m_len >= MHLEN) { sc->m = NULL; NG_SEND_DATA_ONLY(error, sc->hook, m); /* Will queue */ } From nobody Mon Jan 12 17:33:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbv4jkxz6NsQv for ; Mon, 12 Jan 2026 17:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbv18JRz470V for ; Mon, 12 Jan 2026 17:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iUsVdWtu5NjqjcUMYfquVSgzcBZB37UHJ1b+xgiTE+k=; b=yqxP0P30r9OfPmMS4Uqmpx2Qg59fYbpxSLoVEAE71ubNYUqZ9vekyFSpVDzCXmUDOfBdYd 2EpzwyGzfGZDi48Ksj2sB8bPIFgTHQMUMxP5Btdc8092RGtFNZHvCxnSsw/YA44jXNqOhI +LQfya933Vo/YM3EiilMLeVw/FV4y21C/zso9oeKbL/XSKTTwxgVs73GelwC7DiWp1NWrC fyyqoXV8D7LW1TGYNbNhiNVsBP+9X+XkBrNOzx0SQNYcAqKSyCyEk5xN/nTw/2wio2tnSe 5JMaG/IW5UtlFeMlUitQmnu/YO6KiV+UiA45gWU9nI+4RzcCOLU5dKpifN9AFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iUsVdWtu5NjqjcUMYfquVSgzcBZB37UHJ1b+xgiTE+k=; b=hoG6BidPErNaG7krYFFvt6CUGjicgBHEDZOo7dmRJjtaFGxsJXkeUqxTo6rCvBbsBXUBfK 4QjhXAGiK6tsQ2z4mjx+PfeZFomS6VmJ3dUz0yryAaqXMtBcLHyZrylWn+xgjTG9NNS5AV SmMDFqGdwbBhGmn2ZkiycCF3mxVxZJcFjKmQ3P51YA+u2mwmmOf7H5faB7ieXiR2tXH5Gr ILJwQnHylMSW+6tof9ft2ixM71Rb/Qa8mB31dIZRLalBE/IxxsRKNrAaApd+5ZZ7krvxUz 409yNDWU0V5xgI69djOgkKZAz1oUSUaEA5Oi/MKp0wOHuKZOJlBKU4wBhB6lbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239195; a=rsa-sha256; cv=none; b=gfKTKi2OWKotNKnhRZosxN05qeMQBTFm4pPc/ynQPhXCPoA7ibXD891uxKmP5uutW/3BrM d15H1CPuLA5zNEWKHAOOk+hJjf3mRLlQZnwCG63+1eIvY7uIz4AWibdzS8SLjveq+xiFLm Io5RsFQB72KE0iEWt+xrYJ/WOZkS9Uze3mYOx60RT606W/hZdm9lZftV/f2GuXv+VDO4qC 0c+KGjQcEhTsWPSsgpE8O3uzDxa01BU8ZlYTjG9//UJmIlju4zOa5i+i0ev7sTF06DGjHE 7YYCs7Mk/miIdvfOS0RKxYP55J3JWYtckFjvfGGaCL6szSvhXAC3gPdIZLFY/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 4dqfbv0gbnzcxc for ; Mon, 12 Jan 2026 17:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3979a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 5a9e2c59cb08 - stable/15 - loader.efi: probe for UGA if GOP isn't found 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5a9e2c59cb08bf1c1a428cd8a9ebd2886381a051 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:15 +0000 Message-Id: <6965305b.3979a.50053d8c@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=5a9e2c59cb08bf1c1a428cd8a9ebd2886381a051 commit 5a9e2c59cb08bf1c1a428cd8a9ebd2886381a051 Author: Ahmad Khalifa AuthorDate: 2026-01-04 13:15:02 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:24:55 +0000 loader.efi: probe for UGA if GOP isn't found Probe for UGA instead of returning early if we can't find GOP. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54431 (cherry picked from commit 5d85dde27b4769604fc108b89328607e70e767ed) --- stand/efi/loader/framebuffer.c | 74 ++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index 141a29305f7c..981b92c7a9a3 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -585,53 +585,55 @@ efi_find_framebuffer(teken_gfx_t *gfx_state) if (EFI_ERROR(status)) free(hlist); } - if (EFI_ERROR(status)) - return (efi_status_to_errno(status)); - - nhandles = hsize / sizeof(*hlist); - /* - * Search for ConOut protocol, if not found, use first handle. - */ - gop_handle = NULL; - for (i = 0; i < nhandles; i++) { - EFI_GRAPHICS_OUTPUT *tgop; - void *dummy; + if (EFI_ERROR(status)) { + status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga); + if (status == EFI_SUCCESS) { + gfx_state->tg_fb_type = FB_UGA; + gfx_state->tg_private = uga; + } else { + return (1); + } + } else { + nhandles = hsize / sizeof(*hlist); - status = OpenProtocolByHandle(hlist[i], &gop_guid, (void **)&tgop); - if (status != EFI_SUCCESS) - continue; + /* + * Search for ConOut protocol, if not found, use first handle. + */ + gop_handle = NULL; + for (i = 0; i < nhandles; i++) { + EFI_GRAPHICS_OUTPUT *tgop; + void *dummy; + + status = OpenProtocolByHandle(hlist[i], &gop_guid, + (void **)&tgop); + if (status != EFI_SUCCESS) + continue; - if (tgop->Mode->Info->PixelFormat == PixelBltOnly || - tgop->Mode->Info->PixelFormat >= PixelFormatMax) - continue; + if (tgop->Mode->Info->PixelFormat == PixelBltOnly || + tgop->Mode->Info->PixelFormat >= PixelFormatMax) + continue; - status = OpenProtocolByHandle(hlist[i], &conout_guid, &dummy); - if (status == EFI_SUCCESS) { - gop_handle = hlist[i]; - gop = tgop; - break; - } else if (gop_handle == NULL) { - gop_handle = hlist[i]; - gop = tgop; + status = OpenProtocolByHandle(hlist[i], &conout_guid, + &dummy); + if (status == EFI_SUCCESS) { + gop_handle = hlist[i]; + gop = tgop; + break; + } else if (gop_handle == NULL) { + gop_handle = hlist[i]; + gop = tgop; + } } - } - free(hlist); + free(hlist); + if (gop_handle == NULL) + return (ENXIO); - if (gop_handle != NULL) { gfx_state->tg_fb_type = FB_GOP; gfx_state->tg_private = gop; if (edid_info == NULL) edid_info = efifb_gop_get_edid(gop_handle); - } else { - status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga); - if (status == EFI_SUCCESS) { - gfx_state->tg_fb_type = FB_UGA; - gfx_state->tg_private = uga; - } else { - return (1); - } } switch (gfx_state->tg_fb_type) { From nobody Mon Jan 12 17:33:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbw6RvNz6Ns54 for ; Mon, 12 Jan 2026 17:33: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 4dqfbw2Dm0z470g for ; Mon, 12 Jan 2026 17:33:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jky4WvSzsl03hNOY+BnzpPJ73gs9G7vkGNbcUglR5M4=; b=gz9Xp5yjmC2CcdvaC+8tjdN1oaMRRoVMjrmARAwLR3ng+u3/wcbPqVa4//LWoBswahJdye AkIAc0AawXrvFIJmfB6P8nhyJlq6geN+GxVITqyatuguB9YwTXaeR4WYrRoo7nbPpkX3aU gOxwQJ7MjtWG0bPO+UcovGN/FB/l2n2K/aD6TiuNMSn+zF0t8CT65AeigvNfyAZ8tEAOKF F8akoOVaiBhGLPMTyt2COpCW0phR4jl+d6ltI0AQT/MZmoHCoX4iRxirD34at0JT5THrfz xPPYeWgbmqIDv6eWMjz6LaK8iGhmz8fyGVBGTOzq+0WEOg9KZfDGVTx3BawFcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jky4WvSzsl03hNOY+BnzpPJ73gs9G7vkGNbcUglR5M4=; b=pcdG0PO8xPHWDAsf1YLCk/oFDg7tLb6ptj9B8XJTLm0nVsj3GOgIvOYaNy9H7eM2PFOt98 IA3rnClav9YjM5aKwqhCEju79WoOrcuUjdIasrBv4C8Zs11uvV1Zezuzs8/0O6qpr5/j9E wnxUbbQoN1XhJq9dil8M1P/bKoNUFV65gb3EJZEugxRnoVynIPTtGFTAEPT7gXSdCsrJYG moVe4OkiB2sbp9c3YAs6sE0gc7i50s+U0R4ank56jS7/wc+1Ydr6XTvixr46REdL7SyVmv MXzJm+nXR2aae0kvzMB/BD+Bqb8/TJAPG1ByuCqh+HcNwiQIKN3dtyq9osDsVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239196; a=rsa-sha256; cv=none; b=SHL66NUqUnni4ibBSdoRsaSVq28WjDg+EpgRKGNHLgs2QNllghpI4xXoPoU0eeTpIEI0RQ rTV++4XE+rhjDibuF7eI1arl/QpNL8J/uJI9KCrdkjEXKzjkgzgQBR8Y4+j4OYoI/7HdyN iTMk0mt9d9fs+c/McHlWCE/+/FhxwHo6b+5vSiR2WhCQmyVS4E8G2O2q7a/qVSpP6dSz+u d2P3kYgwEgBsU3px7Z6auZaJkhTfp3adISLAsGIKV0/vKFROQsknLYHHqXk35KUs/mT/5j Mj76gXoAFpwA++3Vc1rZtYGu6d/65X98EWmRYbhKU6ncHuZJVvMyPn1HzWmj9g== 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 4dqfbw1VtVzcrk for ; Mon, 12 Jan 2026 17:33:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38acd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: d3902baca506 - stable/15 - loader.efi: only use firmware provided Blt on GOP 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d3902baca506ec48e2f8b1121c7744766a175516 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:16 +0000 Message-Id: <6965305c.38acd.4a14367c@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=d3902baca506ec48e2f8b1121c7744766a175516 commit d3902baca506ec48e2f8b1121c7744766a175516 Author: Ahmad Khalifa AuthorDate: 2026-01-04 13:15:37 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:24:55 +0000 loader.efi: only use firmware provided Blt on GOP gfx_state.tg_private points to a EFI_GRAPHICS_OUTPUT_PROTOCOL only when using GOP. The firmware provided Blt functions on UGA platforms have been observed to not work on old MacBooks, and are likley hit or miss anyways as UGA has been deprecated since 2006. Reviewed by: tsoome PR: 291935 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54432 (cherry picked from commit 9595055ae7494997bb07b4aaed544f88ac4c5e7f) --- stand/common/gfx_fb.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index 659bf8540422..3ac3694ce5fe 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -83,6 +83,7 @@ */ #include +#include #include #include #include @@ -856,7 +857,7 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, int rv; #if defined(EFI) EFI_STATUS status; - EFI_GRAPHICS_OUTPUT *gop = gfx_state.tg_private; + EFI_GRAPHICS_OUTPUT *gop; EFI_TPL tpl; /* @@ -866,7 +867,10 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, * done as they are provided by protocols that disappear when exit * boot services. */ - if (!ignore_gop_blt && gop != NULL && boot_services_active) { + if (gfx_state.tg_fb_type == FB_GOP && !ignore_gop_blt && + boot_services_active) { + assert(gfx_state.tg_private != NULL); + gop = gfx_state.tg_private; tpl = BS->RaiseTPL(TPL_NOTIFY); switch (BltOperation) { case GfxFbBltVideoFill: From nobody Mon Jan 12 17:33:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfbx58nbz6Ns6M for ; Mon, 12 Jan 2026 17:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfbx2Tjkz47GL for ; Mon, 12 Jan 2026 17:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239197; h=from:from:reply-to:subject:subject: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=e2aw2LO5wyqSP8MQd0RFA+fjwOhNDK1qT2+rWEq9E9E=; b=Z1qZbQN1CWRmxplGLVPzHxnBqR3DSZWuF9to1R+5naJr61aYS6xKCgi45dAaI62n1DkwKg 9l6CP18vPyfzvBKmEkKiKZs2j6VnbXA/lscueO5LgvZkF3p6Kc/0yey4W3TeeXjGtljWvP oXkiRJcLUCU6UEM43x5DkOjrca/6nDf7TbVn1BZ8GfzxsFVSlBRp2uG2fgIyPTW2KVEPLO CDzTACcg6VBnB6ctIj7rVDLhx0TRSq2vPQozT536WVLg6TBmc65dbmQiIJx0uyqjmETgfR Vd3GYohlKKIUN/prNxkD80U9VUrn5lC5q9bPGK7JzYtuQUNm/3+ufhjyRoAjoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239197; h=from:from:reply-to:subject:subject: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=e2aw2LO5wyqSP8MQd0RFA+fjwOhNDK1qT2+rWEq9E9E=; b=kj2kVkUhweuOkOqanA9zydE8pkeQ0jn734yao5ifZJiRewY9M31mkIb7UXBFhU10vXI+4s cT4jxnhV5Cn4uDbL4cQdd8h2kj+91JQesOo2t5jyJoLIDsPGajKuVb8DWx6C9MAX15yRs9 TWWhJ2nCHF+k1RpggYgZH6hSniprnDEa36jOBlHRKb1s7jaG+o36gbsryqiHmLWHmagtw9 C8m6q+keVrxlPgJR3uul7iMMp7feNLw8+0gWdzBFeEwC99ZKA3/SDbh3122rEdKjq4t072 6+nAwAhj139okdGnsFPoqtyR+EdzSeuQx8a7KFBFj0k+2g1NdOFfIuqKhXx2pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239197; a=rsa-sha256; cv=none; b=dBTW0kHduqS/2x9GRRe6MrU2oYaRaO3dZtoTlsRCQ6Js5gBfN/dsMMmQk5l5y9hRjrNcNV mM7NO7bXXdcW+Fks8aBYd5KWf6W98hm2gnCTRoKe4uovsi6OPpItE6dijVqJsS3LCCio5R zqGdjr9rtRmWagGrKXdk1vdjAgDArDzh5ob+U/vMak1C2dJemgd0r4jDn+isBlx3/XcjFu HNhP+0zG62JR5oap8F6A8Ox6BlAgE0OIfMl2solHn1LMiYqZXMIaMrp4kkcDasqVqQlL3x h2GeTgv+rY29hY3YUmg7wVfvJkumSsaUmWUvRbSokuc/WOBb/ECHNN3azxprjw== 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 4dqfbx1yvqzcv9 for ; Mon, 12 Jan 2026 17:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 387ea by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:33:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Frank Hilgendorf From: Ahmad Khalifa Subject: git: 60a85a5d25ab - stable/15 - loader.efi: add stride & offset for MacBookPro3,1 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: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 60a85a5d25ab74a5c03078e015b0b50c8509c510 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:33:17 +0000 Message-Id: <6965305d.387ea.11f51c8f@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=60a85a5d25ab74a5c03078e015b0b50c8509c510 commit 60a85a5d25ab74a5c03078e015b0b50c8509c510 Author: Frank Hilgendorf AuthorDate: 2025-01-27 21:18:39 +0000 Commit: Ahmad Khalifa CommitDate: 2026-01-12 17:24:55 +0000 loader.efi: add stride & offset for MacBookPro3,1 Note that there are three variants of this MacBook. We only have the stride and offset values for the 17" 1680x1050 model. Reviewed by: vexeduxr Pull Request: https://github.com/freebsd/freebsd-src/pull/1584 (cherry picked from commit be6ba97aaee762c2e5300834f1916ae5dfd5a0b9) --- stand/efi/loader/framebuffer.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index 981b92c7a9a3..85ffa0405f66 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -387,6 +387,23 @@ efifb_from_uga(struct efi_fb *efifb) /* These are the missing bits. */ offset = 0x0; stride = 2048; + } else if (ev != NULL && !strcmp(ev, "MacBookPro3,1")) { + /* + * Valid for MacBookPro 17" with standard resolution. + * Other Models are: + * MacBookPro 15" with horiz=1440 + * MacBookPro 17" with horiz=1920 + */ + + /* These are the expected values we should have. */ + if (horiz == 1680) { + vert = 1050; + fbaddr = 0xc0000000; + /* These are the missing bits. */ + stride = 2048; + /* 24 scan lines down */ + offset = stride * 4 * 24; + } } } From nobody Mon Jan 12 17:42:59 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqfq800tyz6NsYN for ; Mon, 12 Jan 2026 17:43:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqfq75xsnz3DxH for ; Mon, 12 Jan 2026 17:42:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oTU5LwtV2dWfH8XfTvqPSsz/+s6te07EIYJO2xWHw2c=; b=hDMD5WoweFE+taJlG19SWuSlQv6UAG14SXLR+0Gi53lHefZldvISJSMdjZI0jXZDSWTzQP NN8q3qzf0VMPVCFV+bTLG6FUlaXT4dSWToiuaBc3IwbWEMwji0qwVvJ3P3xToe4Z5NcYN6 2GBhjUC7l+apFR72TTQyhH5z7sjASFLo3pGe4cX4mggDmD8XLMNLmwlibI4LV4nP4I4RVF 70h33/kt5aLHZL8xbmaStKnWmetBS51YrEdK6pobCXb+CPCPWVLgly6uVgVpYDYuWy75S3 8bdcVAYuJVWuPbV8I/ZjxNKrnLT30vNsLWCMPlDBoRRRizIQa4dGDCe32QjgbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768239779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oTU5LwtV2dWfH8XfTvqPSsz/+s6te07EIYJO2xWHw2c=; b=hdEmPUOQSLTaPDujZCqA3/ACT68qc3YyL/gdUEMV30amrUMNFjd/3qqc2rK/IpnmTqCoDB deHlkZzdsjPSutLHibOXnNHzV5tgLE/Yu95OWmSRaSuL3zhhg7bAF2PbXY3hocbMkmsnOh cnwk0w+V4h49tCeZ/VsVu8+gn369pwUc5t/GKS89XO3iJsOGFksCxTra6aA/sGIOJd3JnV zPchuLULoIj0s3txU7glMEGG5TGKFhoUGZHbgZkSGPZnj9vdfZ94NZW3Y9aU7b7nJ3zDWv fkki+xVdkCnupJ7vX1mxanHU7k0rAMcQ6N/ilBqUKfcdjd1SBI+UHkaygxa3TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768239779; a=rsa-sha256; cv=none; b=nVSHKIE1wzFBL55wra0+Kd2dY/4FojpXfF/R8Yvd6o+rURw1o3zzEqRNfvq2O/iscLS7V5 Nq9Q/l+VwEJYumgqrXkZCPZDApFnFrcWW33cJjt7YUmeBGClja8MJSE0jnZlRMQ5ntlN7D rXXsKjD+vtcxEUF2mefdD6X4lf5lGujq99+yJbZFKOnJIh9r6c2ElzyMf8ufVx7bMGK8ZX jNOsNpqWJBCEEM1j3QnPnzrJXF0aCeU97lbqYN2+xUfAL22BI2D5h5ENu4+E8rggqfJCUz m3lEByRGTgf9VSm+4al0IKkc4LvadmXAjn2fdnsOVid8JQcg5ObYNOhfwEvC5w== 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 4dqfq75RL0zdCr for ; Mon, 12 Jan 2026 17:42:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39840 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:42:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Hall Subject: git: 8d87742a96f5 - stable/14 - RELNOTES: Correct commit hash in commit ec98cb56861f 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: jrhall X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8d87742a96f59008e2fb655fa4434cd397d953a5 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:42:59 +0000 Message-Id: <696532a3.39840.3eba89b9@gitrepo.freebsd.org> The branch stable/14 has been updated by jrhall: URL: https://cgit.FreeBSD.org/src/commit/?id=8d87742a96f59008e2fb655fa4434cd397d953a5 commit 8d87742a96f59008e2fb655fa4434cd397d953a5 Author: John Hall AuthorDate: 2026-01-12 17:33:39 +0000 Commit: John Hall CommitDate: 2026-01-12 17:42:00 +0000 RELNOTES: Correct commit hash in commit ec98cb56861f --- RELNOTES | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELNOTES b/RELNOTES index 838833f8db89..05423107a182 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +ec98cb56861f: + The smartpqi(4) driver was updated to vendor version 4660.0.2002 + for the SmartArry storage controllers. + 1ee62f354ab0: ps(1)'s options '-a' and '-A', when combined with any other one affecting the selection of processes except for '-X' and '-x', would From nobody Mon Jan 12 17:59:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqgBM5Hrsz6Ntg2 for ; Mon, 12 Jan 2026 17:59:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqgBM2FZbz3Gb7 for ; Mon, 12 Jan 2026 17:59:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsXLy62aGwDA8SuvZY/fv98l28KTLiOKMbbNrufH/Vo=; b=yMY478Vbp2GFVYU8h8sI2JWOAe00VPEkUc/RChZPoyBJLwLW7ozs4DKO3Yam7jvU+xz292 4tnslTtbg2oyTkLDKekrYcK/BRjp3ik2dGN6YyOerT+s2wzQvnbMwdwQV0DP2NlS6eqsb8 umBFH6Iim3wxAId0zvhoWyJdG6YQDaqRij0tZpZiPSIeVFmlLH6ktXS+kaZWufICfGvTOe /M5meVO7HWqkCi/MbJULl3MmCEcModqivLqHGka+Pdr/+mtU/3zBtzM2ZGfdaj1lguO//e XiwA/hkytLoLedVoQd9hNVrPjS3lKd39yUy0IRUU30unex0ZpODUsUhGlhKr/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240779; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsXLy62aGwDA8SuvZY/fv98l28KTLiOKMbbNrufH/Vo=; b=h+Zz/CdPVatPovNnoqmTM2bhXQaoKeDWYZPOxm73QnZOr0YfW45Kjc9i0SBBLFJWosF4/I u9AAWQmQ1bRndc0pXh0MP4bKgR2sEDb+kQShXvnhvQgluAApvuD/t19d1piE4RzmlCxLxv KyE2vNh9jfUstsRlMYqVbVJS5qdcRArOLn8PBH6mszBH8eGvZ6uggn/GenCsqWH6shsDVx O24H0mFFlgvhIXaYGGBpg0ekhvqvZcB6RtdSLOUElAqHDQhdspwVo7l15d+4CbWeYilFI4 6bBKIwhlR9X039LsLpIT/fKspqO+m+yZOiJs/JjcFKUOGASP3JHLFJ8fZTUc9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768240779; a=rsa-sha256; cv=none; b=Kz+n6ei7kGHu8czyyIReFLbz8IDz/99Lcbanleq7RFbW/ums79tMeDq1IGXAzRRBpY3oqz nU+ofxP0sa69rI9ih622G90kHBuBF+DUcD8HaevLs3F56y1mnCSr9ZR24YS0xhsOLMD7KK Iu+T9VGJdlorP8qPktz4WU1Tf4BznA1is+cvP2GLY8YtPZgGREDiSjNaEUFRlO6bm/dSd3 Tu2C8KfHOKkQ4U1uniVkeWEWO5/dMBbkbAIqyahunUTwyiYFm60aEg0lFJha11sZUQsna1 W6DZW7dt5OptPHWxM+hxpMjND+IgWyo1CiAodUt1KpXOPGSTfHcrJbXu71T05g== 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 4dqgBM1NpDzdGj for ; Mon, 12 Jan 2026 17:59:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3be0e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:59:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 74bb8b966381 - stable/15 - zfs: emit .note.GNU-stack section for all ELF targets 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 74bb8b966381e5ada69ea188f73427334f0b3b7b Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:59:39 +0000 Message-Id: <6965368b.3be0e.ea4ef41@gitrepo.freebsd.org> The branch stable/15 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=74bb8b966381e5ada69ea188f73427334f0b3b7b commit 74bb8b966381e5ada69ea188f73427334f0b3b7b Author: Dimitry Andric AuthorDate: 2026-01-08 08:35:13 +0000 Commit: Dimitry Andric CommitDate: 2026-01-12 17:58:28 +0000 zfs: emit .note.GNU-stack section for all ELF targets On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows the following warning: ld: warning: aesni-gcm-avx2-vaes.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether to emit the `.note.GNU-stack` section using: #if defined(__linux__) && defined(__ELF__) We could add `&& defined(__FreeBSD__)` to the test, but since all other `.S` files in the OpenZFS tree use: #ifdef __ELF__ it would seem more logical to use that instead. Any recent ELF platform should support these note sections by now. Reviewed by: emaste, kib, imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54578 (cherry picked from commit eb1b6ec7a79aff05f5f10e1d6b1c63a0d8dc5f2f) --- sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S | 2 +- sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S | 2 +- sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S index 3d1b045127e2..76ced8ebad3d 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S @@ -1316,7 +1316,7 @@ SET_SIZE(aes_gcm_dec_update_vaes_avx2) #endif /* !_WIN32 || _KERNEL */ /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S index 49671f1fc46a..2e0a88ec8cef 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S @@ -1275,7 +1275,7 @@ SECTION_STATIC #endif /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S index 319caa4e190b..6c5bbf0fb272 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S @@ -714,7 +714,7 @@ SET_OBJ(.Lrem_8bit) .balign 64 /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif From nobody Mon Jan 12 17:59:53 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqgBd43T5z6NtVG for ; Mon, 12 Jan 2026 17:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqgBd1RdDz3HBV for ; Mon, 12 Jan 2026 17:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+V0U4BBbk/sVGsgZ0wY15I1+MnN1eAviYBnLXcMfpI=; b=THDcmkL1FmzKT+VCw6lsYwV7WS3HPTzOWEWlhXgti1Dne5PuQF+ERTrvqNfpiDqD6NIF45 tdGKCAFqMsoKg3/QAWn2cFJqg688Gkx/8cQ3TUPerTlT//jjRtmY6Jb+wHHGrU3wUpLQsy GYU9/3yirg4VHlEVeUQTGkyo0LoQSJWmW0Lb3unBHuQ7mhORQUrxWHQugEWCyqnvEcOqj5 4iAkxDhudZCaIxsH+S6QBhiTM2swfEV3i7fp0H0FyxoPU2YJuhQz2Q8O4sGzEM2QgoHb3f wStcUe6YMdrKECDV+zRZQqVpEB7901ALvoEWAyms1XFxl2bh7CwY2SDW8ep/Ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g+V0U4BBbk/sVGsgZ0wY15I1+MnN1eAviYBnLXcMfpI=; b=P/7tv7Lk+T+Cgq5qj6pCGS1XTdGk3/2tJXOwgeppHldMnwmpuUkAPJaOou7/yGLxLG/VlH 8xMk4uFJT0ZuUugJqgVnpNVjHqIwn6DkK544Zfqziq1l/DriVHCpDejQ9PUM4+V5KNIUBG 4np6D6O3VjuMtPmquojITkC3xJrM/LVpM05PGdFdOA7LY23VmyXHGw4aQKpy6Fg0NAGGAz Cd/B1cU46FeSix3gLYaG2UMwMGe5bXd33ckTWhLJbqp+VTmp2Di1fudog+z676kS2pkJG8 WlVMSJYBgF5PmgLcL1sLAb+PV8Slkm3I9UtZk59hkEeMVg6gY20bnP05PViYIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768240793; a=rsa-sha256; cv=none; b=V+nKms+QmDm7nquJVQ4P/wDkn0yLJfbVxVYUyoM24EYyrIDWXewa4zkFv1cjGWm/KzbYEr zivls6RRgPkORrrOoQ8lpZ8u3w1lk4nbYgN8wN+VmFOMW5lYo4L/5Y+EFPpt2o3zHP6e8v NhdMTHnblm8UjW2NKIC2ihx/+hBsYPtnqcdxmg3FvVn9PN2TUgw8CubzJge1et+qEs/q4n nDGU4tLTv5X9NhDpnIvAshiWesq91jxcYOMK6fU6Ukhg7qbAx3YWzYFNSynVf1aJRzXhzI qADqd7Pbw1wsY4BQpFnKri1YNidczRQa5w+lgzVyvsvMsPZ18VAYrBKPU+WOfA== 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 4dqgBd0cXSzdGk for ; Mon, 12 Jan 2026 17:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b590 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 17:59:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 0e80562f15e3 - stable/14 - zfs: emit .note.GNU-stack section for all ELF targets 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0e80562f15e3a634a2039cd88784957cb0f682c3 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 17:59:53 +0000 Message-Id: <69653699.3b590.6233e904@gitrepo.freebsd.org> The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=0e80562f15e3a634a2039cd88784957cb0f682c3 commit 0e80562f15e3a634a2039cd88784957cb0f682c3 Author: Dimitry Andric AuthorDate: 2026-01-08 08:35:13 +0000 Commit: Dimitry Andric CommitDate: 2026-01-12 17:59:04 +0000 zfs: emit .note.GNU-stack section for all ELF targets On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows the following warning: ld: warning: aesni-gcm-avx2-vaes.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether to emit the `.note.GNU-stack` section using: #if defined(__linux__) && defined(__ELF__) We could add `&& defined(__FreeBSD__)` to the test, but since all other `.S` files in the OpenZFS tree use: #ifdef __ELF__ it would seem more logical to use that instead. Any recent ELF platform should support these note sections by now. Reviewed by: emaste, kib, imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54578 (cherry picked from commit eb1b6ec7a79aff05f5f10e1d6b1c63a0d8dc5f2f) --- sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S | 2 +- sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S index cb75043a49a7..a164526a04ff 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S @@ -1274,7 +1274,7 @@ SECTION_STATIC #endif /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S index f62e056d4b64..06dbf43d407d 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S @@ -713,7 +713,7 @@ SET_OBJ(.Lrem_8bit) .balign 64 /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif From nobody Mon Jan 12 18:00:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqgBv6V2Nz6Ntp9 for ; Mon, 12 Jan 2026 18:00: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 4dqgBv3tm9z3HLs for ; Mon, 12 Jan 2026 18:00:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8D3YyNl28/hHJQQVKB0HbB7TnN8wsyWOFmGC2P35FcM=; b=NiGvx+ZID5w+o9MbvivJGAZLsfWkNRE1iX64QMf98+UUapP2+0VAr00vwy1TJwvlID14H0 tbj+aBTlIMO/w0s2KoSKr0LtwhtvwCfQh3c6RaHbFPc+2EEv/jQ+SiHf2luB93yH0E9yt7 o+rbbkM29pJO+e9Y01Yk6hDexV/iJ3N7lTLP+UNpCiTA+Q8GegbO45Mw2iWYFgTQ6dTBqg ksK1nHiO2UXjjVSo0v3HMBwbg+KQ08LsDAJHXrPMEZdhW2z/lHFZOpY0orm0NnWbIziUh3 Gote9FvXjcWyUNFJDw94JHdxDWLY7z96khfdwjqjoXP/2izIEPFuI0w4uP7izQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8D3YyNl28/hHJQQVKB0HbB7TnN8wsyWOFmGC2P35FcM=; b=DVSQ+LhmJSkoprlQxM8DbpvMf4v0ktGoESDjGWxk0+nyTj+mqsmdjlj+PT9rj2Q5pDJ7Qu v8fCQ7BMCkd2XGS1d0kmR4LAprnGbamX2KqTc/cmqWijjYvRBXR3xhy6rGP0TR6sNuXVTJ MUis1CPhxuxcUdseZeKM8BVXzynsDwZI3Kb0LDvbwx12Oc2DBAO2BvfIa3xSFIMKqE8AB7 NG8cwgFk/ZINoCG8ndLV+F7b+ivlrJamncVlHh2fIwbDMLWGE+Od/N7ELxJ3wc7krNAdfR 1lDvNgU0miV8f1995AhhUmzmEVB50kGonch42oMCqkE2v/gNBfgE+CdnW7th2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768240807; a=rsa-sha256; cv=none; b=I/xOTYBNTpOpzPXZFluCuA5Aewj4QYp7QmgXoi3yu/z9qogRPwGBxYTvylhC0sbWE5DnwD FkxbSmb7+x12bHW++s3OHqmvXTWoZJmVmG+O1ZTpsDSim0TYeWTA3fTBGnwsh6oL7h4YhY bEK6l5FRk2aguCxjLaI3p6kUvio6aZrFNX1s2rBO1JzZ4lOBs2cIGhAm52HsGeFBiPT9ZW EBYnmkIEMCF1ldcSDdRho4Qsr6KABu+oXqEBu98Jual0iQuwlep4O4WMj2jtHkzrjaFM5p njX2u/x60DHnKmFvjPR29rkhQhEkBpZ6TST2BfavFFfX0WN1O8yOJAcPe+vqZQ== 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 4dqgBv3Lxfzd0L for ; Mon, 12 Jan 2026 18:00:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b3cd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 18:00:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a7d9d1b19608 - stable/13 - zfs: emit .note.GNU-stack section for all ELF targets 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a7d9d1b19608b5e1224e8b687aa2b91d714a71ed Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 18:00:07 +0000 Message-Id: <696536a7.3b3cd.7cea4b26@gitrepo.freebsd.org> The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a7d9d1b19608b5e1224e8b687aa2b91d714a71ed commit a7d9d1b19608b5e1224e8b687aa2b91d714a71ed Author: Dimitry Andric AuthorDate: 2026-01-08 08:35:13 +0000 Commit: Dimitry Andric CommitDate: 2026-01-12 17:59:17 +0000 zfs: emit .note.GNU-stack section for all ELF targets On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows the following warning: ld: warning: aesni-gcm-avx2-vaes.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether to emit the `.note.GNU-stack` section using: #if defined(__linux__) && defined(__ELF__) We could add `&& defined(__FreeBSD__)` to the test, but since all other `.S` files in the OpenZFS tree use: #ifdef __ELF__ it would seem more logical to use that instead. Any recent ELF platform should support these note sections by now. Reviewed by: emaste, kib, imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54578 (cherry picked from commit eb1b6ec7a79aff05f5f10e1d6b1c63a0d8dc5f2f) --- sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S | 2 +- sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S index cf17b3768712..9cdc2febf418 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S @@ -1264,7 +1264,7 @@ atomic_toggle_boolean_nv: .popsection /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S index bf3724a23eae..57442e92155c 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S @@ -717,7 +717,7 @@ gcm_ghash_avx: .popsection /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif From nobody Mon Jan 12 18:01:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqgDX4Ldrz6NtgW for ; Mon, 12 Jan 2026 18:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqgDX3dRhz3HZY for ; Mon, 12 Jan 2026 18:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jyncAnUtg48j4WC6ic9AAabB+3WLd5iMOoeq7OvtiLo=; b=AEu2UngbZGg9tYSuBJ1KMl/9JjiDjupd3rv38aZ7iftVFRoRcpjSVFQh77gIcT0cgDXV8P 4kWpVbS6zwH6fuqhMhbIYCqGbBeipJ0gSxndmVFbz64oQVI1wX4MT01E90U0LRRvR49th8 SVw2Rt7WBrxWGVQaWpH6/nXoowR1bFlWi1vgnNxEp80fwdL8zmpthkXPEsHfl3fkSKcK8I Pasi3Z3ZDojqkk6FRB00GBcw/CLQAxsLZn/W5exfWuQ+LbYmEcVX4OQeZfzUMDar9ftQ4b 1DK5etd0py+kzTqD2FUo4q5/ngJIRl0NZXanvoaxUiaItJp+VGTaclu+7jkjIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768240892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jyncAnUtg48j4WC6ic9AAabB+3WLd5iMOoeq7OvtiLo=; b=uNAPbxu65oJ0zRTNRoePbktjozs95nt5TwLnJ2JNv2wUWoA3CXNnLEvDwXId2drsFGg1kQ t/3/7fpKAmb2aIElh1ea+YAdRi3VlSbrPOqdTOqtuFCIIwpAlYFJfDRyqrMYHeEucrRJ/X NJXnUq30R1e3IxO/4AQ1IygwP1c4N/z/tDEPzMroWUepUsJcA2m43vyi0xBx9Nsn+Lbsmh LdNjhOUUv9En1+7mcVlcdULGivZTxHxyk1Gg6diXxiyZwJFi9rM43nv53ZoRnE89szxA0K fjKcbC0//TjvkYJY3pBu2tb1TLUIUyLhQxgpp1W3PgSq9XGp14jnSaBGx20Mkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768240892; a=rsa-sha256; cv=none; b=a8HP+mpsdppcwG4WuLeTu4jnpmIXL74mZ0XLSXNcla4AWlno+naw0RAX9fwDc1/FdBlDFu bLZ6CXvUFf9KhpZiCHp5M3Y6a3pbgNdar8mwlwpPJzxB+pDtgj9Z9Ie/RRXy+0cCWBatYV pdkqzMnz0fcbfvdQM2D1VvEMCOrdJraGkpvFhcRrYEdvbKUwnF+aAnu4YTmDxvV2TDnY3B SuftPUD1+0bm7Y2NXSFIXC6A2Sl1O2Rfsf53s20CLP/UCA7vDuRJVGOau/p+Z2wqLbApJ+ KkXHKdWxlVRsrrt0tbEoixa2cBu852BdgOrAhdFUZMLGtZRShMv3kj+hUuPjVw== 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 4dqgDX3F2bzdQf for ; Mon, 12 Jan 2026 18:01:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c453 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 18:01:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Hall Subject: git: 237ce0afe7fe - stable/15 - RELNOTES: Add entry for 256d05617c71 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: jrhall X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 237ce0afe7feecb39e607831ba203cc361602aae Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 18:01:32 +0000 Message-Id: <696536fc.3c453.705fd29@gitrepo.freebsd.org> The branch stable/15 has been updated by jrhall: URL: https://cgit.FreeBSD.org/src/commit/?id=237ce0afe7feecb39e607831ba203cc361602aae commit 237ce0afe7feecb39e607831ba203cc361602aae Author: John Hall AuthorDate: 2026-01-12 16:28:27 +0000 Commit: John Hall CommitDate: 2026-01-12 18:01:11 +0000 RELNOTES: Add entry for 256d05617c71 --- RELNOTES | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELNOTES b/RELNOTES index a04f0bc26f62..02bc5b96f080 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +256d05617c71: + The smartpqi(4) driver was updated to vendor version 4660.0.2002 + for the SmartArry storage controllers. + 929f5966a9fd, b9b0e105c357, 5105e1ebecc7, cb3eac927b5d, ce9c325a2e92, 18a870751b03, 89c82750da1a, 0c13e9c3c464, 10eecc467f32, 619feb9dd00e, 7d2cfb27d62f, e26259f48afe, a245dc5d68c7, 9a726ef24134, 383e7290c0b5, c791ea80b5f7, 543b875a8ee4, 40a5abfc3f66, 73ed0c7992fd, 04764f21855a, 624b7beed5ac, 7b68893ffa9b, 6c4771c73470, dd0ec030f8fd, fb1ccc04adfe, b98d0566b2bd, ca9ccf0ce9ad, 6b28571cb6ba, 98d46e05ab08, 2a454b05f2c1, 110111a6cca1, 5f8493bbf479, e447c252d0ec, 4680e7fcc70a, 188138106b9f, 4cb1baa7d85c, 805498e49ae4, f58febc4cefa, ae07a5805b19, 0559f30a882d, cbb6e747af98, 0d1496f0f1e7, 60f970b85e44, 0b9a631e0724, ee3960cba106: Replaced Heimdal 1.5.2 with MIT KRB5 (1.21.3, 1.22.0, 1.22.1). Heimdal 1.5.2 can still be built using the WITHOUT_MITKRB5 flag. From nobody Mon Jan 12 19:09:36 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqhl420nSz6NyFt for ; Mon, 12 Jan 2026 19:09:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqhl41DSNz3R1x for ; Mon, 12 Jan 2026 19:09:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768244976; h=from:from:reply-to:subject:subject: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=T/tTPLbmarWAg8AZToTw3oPOS1eyRLkCrTxQ4bjJf9A=; b=IhHVIEE3omHJMqBbBZoc64mtuyQ2xq33KQ7xZ5O3jdAdkguOUYTMqd3x+uVEs5J8QeOixH Vj3jwtEMJ7HLFcDKpOMZXDLEPAkSVlqq9S6bGXepkrkN1A+SnTDVNmXmiUeQeSkmhc7aeY 6REqOm2kOEOD12H/dktVjzEBIpG515fkW+3TpwNyyqGbHKX+Umw5oygK+sA0HVhZPySYxl 0PwodgxWDgkT+lE9E5m7f8i9eaRuHHVxCj8hzd+tbRMXOmw0aCW/MT8NeCDw4WSfEBc5ms 7DyCuMXM0fto3EouW15bxvTWFZr8sbsX4CsF0fc7ej4NGPpHk5RN5aafjgjI6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768244976; h=from:from:reply-to:subject:subject: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=T/tTPLbmarWAg8AZToTw3oPOS1eyRLkCrTxQ4bjJf9A=; b=Osi7w8t5gTm87R7e2woOGbcqIUKxCBSjyizESELJK1UO3aryxCjOf19OiZZXj+0r4GbJXs 1L0ybuSxDF73rwjMc4UDSp6H95H/coUu3sCLPjeBmI/bQMMP2Gu5l1WOQxB27laCR03aSB 6JHh1RA/gGpV3pYoi7/Zu2RiS42rKcLHry05UE8jikA9Y+RjNnvd+j3q0NKF9dYZRiPns8 wzbPgo+XMJaExndGsoNQL1bhHDzg1NsMyfUt/liRIyGA3qWxDDlQILeZjipxC7MJ3aA8A8 UflUOCADNcbg203vmIWR2ECuzG4rVN/QCePIX8JlSyV91lFF94BK6Hn8MGjIsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768244976; a=rsa-sha256; cv=none; b=XDD2qH30zOFKp6GsOCoa1LKPD/no+gVTm7Cx8sfN9V39Gel8Q7rGaezSkivOnfynbmsvil 5OKEgEGRvNxdHnBUFEaqyyhdbCNqsd+3vA7QhtpoqV266hk51W7LOwQ02H8bWH/RCZpsQc ATnsObKgW/Cz8XvDPv4gz/AXOqj6XjoxtW2pspQoKj3IAbkLHHnFspJBSD8fU+Es5KH5a1 JNPlDwKHNxfoCybN5Bh6nvb5ehTJSrPtEnIDjwHF4NWsszCJzM3Ei0U+zhnnvjXcm6/p1C oWl68m7aQZKpVPm3mczTeqbd8bwKnHhHCLHl6bJ0CxUYgDKpa1UyThPglRLJ7A== 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 4dqhl40XCPzfQQ for ; Mon, 12 Jan 2026 19:09:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 416d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 19:09:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Minsoo Choo From: Ed Maste Subject: git: 82d5cee2a0b8 - stable/15 - mips: remove mips leftovers 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 82d5cee2a0b810da13d2748e4dd2cca40d50daf8 Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 19:09:36 +0000 Message-Id: <696546f0.416d2.7106fa5a@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=82d5cee2a0b810da13d2748e4dd2cca40d50daf8 commit 82d5cee2a0b810da13d2748e4dd2cca40d50daf8 Author: Minsoo Choo AuthorDate: 2025-12-01 02:48:05 +0000 Commit: Ed Maste CommitDate: 2026-01-12 19:09:14 +0000 mips: remove mips leftovers Signed-off-by: Minsoo Choo Pull-request: https://github.com/freebsd/freebsd-src/pull/1909 (cherry picked from commit 6c6e00b7f16f3bda1b56da6a57d65ff6e26ae3e7) --- lib/libkldelf/Makefile | 1 - lib/libkldelf/ef_mips.c | 116 --------------------- .../opensolaris/uts/mips/dtrace/fasttrap_isa.c | 30 ------ .../opensolaris/uts/mips/sys/fasttrap_isa.h | 48 --------- usr.sbin/kldxref/Makefile | 1 - 5 files changed, 196 deletions(-) diff --git a/lib/libkldelf/Makefile b/lib/libkldelf/Makefile index 0d1716f17fca..9b0a08352633 100644 --- a/lib/libkldelf/Makefile +++ b/lib/libkldelf/Makefile @@ -11,7 +11,6 @@ SRCS= ef.c \ ef_arm.c \ ef_amd64.c \ ef_i386.c \ - ef_mips.c \ ef_powerpc.c \ ef_riscv.c WARNS?= 2 diff --git a/lib/libkldelf/ef_mips.c b/lib/libkldelf/ef_mips.c deleted file mode 100644 index 99790e11a9c3..000000000000 --- a/lib/libkldelf/ef_mips.c +++ /dev/null @@ -1,116 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2019 John Baldwin - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory (Department of Computer Science and - * Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of the - * DARPA SSITH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#include -#include -#include - -#include "kldelf.h" - -/* - * Apply relocations to the values obtained from the file. `relbase' is the - * target relocation address of the section, and `dataoff/len' is the region - * that is to be relocated, and has been copied to *dest - */ -static int -ef_mips_reloc(struct elf_file *ef, const void *reldata, Elf_Type reltype, - GElf_Addr relbase, GElf_Addr dataoff, size_t len, void *dest) -{ - char *where; - GElf_Addr addr, addend; - GElf_Size rtype, symidx; - const GElf_Rel *rel; - const GElf_Rela *rela; - - switch (reltype) { - case ELF_T_REL: - rel = (const GElf_Rel *)reldata; - where = (char *)dest + (relbase + rel->r_offset - dataoff); - addend = 0; - rtype = GELF_R_TYPE(rel->r_info); - symidx = GELF_R_SYM(rel->r_info); - break; - case ELF_T_RELA: - rela = (const GElf_Rela *)reldata; - where = (char *)dest + (relbase + rela->r_offset - dataoff); - addend = rela->r_addend; - rtype = GELF_R_TYPE(rela->r_info); - symidx = GELF_R_SYM(rela->r_info); - break; - default: - return (EINVAL); - } - - if (where < (char *)dest || where >= (char *)dest + len) - return (0); - - if (reltype == ELF_T_REL) { - if (elf_class(ef) == ELFCLASS64) { - if (elf_encoding(ef) == ELFDATA2LSB) - addend = le64dec(where); - else - addend = be64dec(where); - } else { - if (elf_encoding(ef) == ELFDATA2LSB) - addend = le32dec(where); - else - addend = be32dec(where); - } - } - - switch (rtype) { - case R_MIPS_64: /* S + A */ - addr = EF_SYMADDR(ef, symidx) + addend; - if (elf_encoding(ef) == ELFDATA2LSB) - le64enc(where, addr); - else - be64enc(where, addr); - break; - case R_MIPS_32: /* S + A */ - addr = EF_SYMADDR(ef, symidx) + addend; - if (elf_encoding(ef) == ELFDATA2LSB) - le32enc(where, addr); - else - be32enc(where, addr); - break; - default: - warnx("unhandled relocation type %d", (int)rtype); - } - return (0); -} - -ELF_RELOC(ELFCLASS32, ELFDATA2LSB, EM_MIPS, ef_mips_reloc); -ELF_RELOC(ELFCLASS32, ELFDATA2MSB, EM_MIPS, ef_mips_reloc); -ELF_RELOC(ELFCLASS64, ELFDATA2LSB, EM_MIPS, ef_mips_reloc); -ELF_RELOC(ELFCLASS64, ELFDATA2MSB, EM_MIPS, ef_mips_reloc); diff --git a/sys/cddl/contrib/opensolaris/uts/mips/dtrace/fasttrap_isa.c b/sys/cddl/contrib/opensolaris/uts/mips/dtrace/fasttrap_isa.c deleted file mode 100644 index a31eac8cf0b8..000000000000 --- a/sys/cddl/contrib/opensolaris/uts/mips/dtrace/fasttrap_isa.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ - -/* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - - -/* - * XXX: Placeholder for MIPS fasttrap code - */ diff --git a/sys/cddl/contrib/opensolaris/uts/mips/sys/fasttrap_isa.h b/sys/cddl/contrib/opensolaris/uts/mips/sys/fasttrap_isa.h deleted file mode 100644 index eb99752ce415..000000000000 --- a/sys/cddl/contrib/opensolaris/uts/mips/sys/fasttrap_isa.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#ifndef _FASTTRAP_ISA_H -#define _FASTTRAP_ISA_H - -#pragma ident "%Z%%M% %I% %E% SMI" - -#include - -#ifdef __cplusplus -extern "C" { -#endif -/* - * XXXDTRACE: placehodler for MIPS fasttrap stuff - */ - -typedef uint32_t fasttrap_instr_t; -#define FASTTRAP_SUNWDTRACE_SIZE 64 - -#ifdef __cplusplus -} -#endif - -#endif /* _FASTTRAP_ISA_H */ diff --git a/usr.sbin/kldxref/Makefile b/usr.sbin/kldxref/Makefile index ab7b373a45cc..0a409ec20265 100644 --- a/usr.sbin/kldxref/Makefile +++ b/usr.sbin/kldxref/Makefile @@ -21,7 +21,6 @@ KLDELF_SRCS= ef.c \ ef_arm.c \ ef_amd64.c \ ef_i386.c \ - ef_mips.c \ ef_powerpc.c \ ef_riscv.c SRCS+= ${KLDELF_SRCS} From nobody Mon Jan 12 19:18:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqhx85QBkz6NyYy for ; Mon, 12 Jan 2026 19:18: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 4dqhx84w80z3SY0 for ; Mon, 12 Jan 2026 19:18:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768245500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZthL43FKEEh7AuyPmJZFi3zJxaEvTheNT6C+3MXi49E=; b=P2rUAR5hncQwJ+1CZbt0VpPoK69jzQVm43G8L5vfx+V0MgZW/zGPGc3oNpPSx/fLSxsKqp EOxNe60T38ETvbbAXmn4BRDIAJeKeg2M2MdqSICYZGEBUW1kf15rbCZx06u4W1GCuO4ElR 8P197q7nK0fGsaQrmueYmvSFy+RqFQPj5L6fe/V2jmq/nZnO18Oejdjq1Nx02QQuWnA+y1 z80YQ9H3Iy+ZYA4CSOJlsYWlV7zfxo543Hl7OUPPYGrUX/cTw0pVaCn03z56aZ3qxbUOv0 8wc4whEAADa5BqzATkN5gUZdzshVifh+hpsRJNgXHQnw999byXNfM90FEEpeuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768245500; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZthL43FKEEh7AuyPmJZFi3zJxaEvTheNT6C+3MXi49E=; b=gxdqJSUoDXU9C2aMU2ghseTLABmzXnePznCa2EK54VVmCrUc5HDIxyOo5emgC86JX3IxtJ wqe5hHUt6Cb23lUiivhk/tRxLL+6lsEMqI3ygx+do+i2IZMULMrcEz+a8lo+mx8lxzCq4K H2omhBk7fNjgYbVSqXEpffoZcQ376iMYoqNN9R7Zbm6KfqDo+sisFUU03CUh6KA3oYjxDa Ij/mnDwAik23JKyxToCYk8OQxvGnhDkjwWD73O1I15oMmhJTggGDC7w2SzALI14+n4TGSP S5goYRrZju7lAgoPKew04CA7lWyYCQoTeIZNhGDlmHl2SiEKD1exIVg+AcpP2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768245500; a=rsa-sha256; cv=none; b=XUhE/lg7kCnM7a0ezijKIQxrMno+ay+LK/0xHRqv4TH0Y4523pt1RSy26bFp77tg5MxG8V ZCYOMVgQGB6RBBCSSubdSaCoYDCPkQJjIwss1OauPbQqUdR2pxu7ZtMvxI9QoCuv7j7AoB vUlQLIYKVKZcSrknlbYIQyDqHSGrrbK+r03AiMBmkItHZgKbcLqS1rlUUrVPgEp6AF6YA1 BKZl3FgEavm3atnXv+ERlULb5wRWsbhiJC4DCUsw3jFm1BMpsz+rxA8NFax5ETSCpgvhWe d/q/rns7jrE6Fx1xKnKfGHklHFXkDnmr/43a+ktj6VwJs4Zt/Jk/zjG4uaD3Qw== 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 4dqhx843dczgW5 for ; Mon, 12 Jan 2026 19:18:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4377c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 19:18:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 215d16e4102b - stable/14 - openssh: Add detail on client side VersionAddendum 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 215d16e4102b3c03c6bde13c78f57922b94ad74e Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 19:18:20 +0000 Message-Id: <696548fc.4377c.727d0694@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=215d16e4102b3c03c6bde13c78f57922b94ad74e commit 215d16e4102b3c03c6bde13c78f57922b94ad74e Author: Ed Maste AuthorDate: 2025-08-26 20:29:28 +0000 Commit: Ed Maste CommitDate: 2026-01-12 19:17:58 +0000 openssh: Add detail on client side VersionAddendum FreeBSD introduced VersionAddendum for the server as a local change in 2001 in commit 933ca70f8f88 and later extended it to the client in commit 9e2cbe04ff4f. In 2012 upstream added support for server VersionAddendum, in commit 23528816dc10. They did not add client support. We removed the client support from main in commit bffe60ead024 ("ssh: retire client VersionAddendum"). As of the 10.0p2 release upstream has added client-side VersionAddendum. Make note of this in FREEBSD-upgrade's patches section. Sponsored by: The FreeBSD Foundation (cherry picked from commit b55439338dc40d1954fd37281d48786148483190) --- crypto/openssh/FREEBSD-upgrade | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/crypto/openssh/FREEBSD-upgrade b/crypto/openssh/FREEBSD-upgrade index d8fc986b71ca..fde25bf7d6f9 100644 --- a/crypto/openssh/FREEBSD-upgrade +++ b/crypto/openssh/FREEBSD-upgrade @@ -166,8 +166,15 @@ 9) Retired patches - We no longer have client-side VersionAddendum, but we recognize and ignore - the configuration options to avoid breaking existing configurations. + We added support for client-side VersionAddendum in 2002 (commit + 9e2cbe04ff4f) and provided a default value (e.g. FreeBSD-20220415). + Support was removed in commit bffe60ead024 ("ssh: retire client + VersionAddendum") to reduce the size of our patch set. Upstream later + added the same functionality in the 10.0p2 release. We have not restored + setting a default value on FreeBSD. + + We recognize and ignore the configuration options to avoid breaking + existing configurations. 10) PrintLastLog bugfix From nobody Mon Jan 12 21:29:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqlrl5CB0z6P6Pj for ; Mon, 12 Jan 2026 21:29: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 4dqlrl4Vcnz3l7J for ; Mon, 12 Jan 2026 21:29:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768253383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wYV9PJVJXiaP3bTQ/mHKJnWDBzp+ls4Oc8rJvhqV+sg=; b=AF37iVCMfTE9XMIX1cyjLs4Z0aMTsPY4t9ZN6lR72L5SAct9h9DczT2GvQXV97TiZ2YOPl YWoqhDE8+gfY/5VNgkmgK0ARmKXFpeb3s55QRpKpVFobHMUMFLQf+c+hk+UfXfQMwtg1BZ DTRoO2CL/cFfOLRd7SrIfR2DT1rO+oGCxVpGyKvNGufgCvtvlDfvYPpWMzQ7ihq5K01sH1 mR3PXY6bGBJG8TN25j7decXhL5RqCzkya6OIjD6Q7k7dV85UXe32Pe7QMr6GoYMbuJ/Vad KfESWM4lzVDa0YleTIJz3az8bpTewNPQLEVE7CgHJroNMFfSDAoyCPy6bq7ZYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768253383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wYV9PJVJXiaP3bTQ/mHKJnWDBzp+ls4Oc8rJvhqV+sg=; b=Yezg5TKuV5ZRv2JJv9yczheQsjxpQyhmoG427FleIL3wPtSDu2viRsCVL1f/USek6yxJze dTdh+Yvcgy0pD7PURCoWcYIZzDx9b6O1KQokoEbvFSQMJDwulaNy+Om9dUNcJAswZ2bNDR Apv4UjnAH9FHkGu7q+oH5u2XFXXSUzfG6ZdFbrOIX8jL9TJEyB4t2pE8Y7dWK23Oz1eVDd j0rDwT4g5jgf75ed1bgbUZ25yCYG2SRZtQY+A/AJgOZe9AbeFYVFdUoRZ2wOmzLuDXPsTg plpNQNu4naqvP/nszr7g9pnpUZF998XGaXAXX2mkiduokJPsmUsgscHxcTMdIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768253383; a=rsa-sha256; cv=none; b=hW7NdAA2vLxLWTs+Ftpq8OKlPJ5amBEXhKqYK1PFaGK0srN7qQYMHi9ZxWSeJbnzeFpcIl pY+ZQIIvitWDu3FROi3kP35EXamxU1pozzj7zoNHsnZSGTAqnhC3q44wiVQYvhuOFj8SFi B/e9RpkhDl/FHQkM4X9TV3eRWrnuoxsGgvEIMXeT+H1cd5jx4bwKW1FAeO5SHDj0ZJMXvG eLsXV6CWtkPctO8ZR9oy62ZxIOTbtb/kRfdCcpnAxJDZiC3PNboz1QHQlkK4C6QiVucNy8 RSuXod7lzWmXcxAHehFdpizdrjOz6y7W38T2b2xk7MZYxHWfZve+YVkLYYWCDA== 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 4dqlrl3WlfzkZl for ; Mon, 12 Jan 2026 21:29:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id eee5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 21:29:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Gallatin Subject: git: ef8c912aadad - stable/15 - iflib: document new sysctls 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: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: ef8c912aadadbdf40416cfde9241c56a08528e9a Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 21:29:43 +0000 Message-Id: <696567c7.eee5.20c0fe7c@gitrepo.freebsd.org> The branch stable/15 has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=ef8c912aadadbdf40416cfde9241c56a08528e9a commit ef8c912aadadbdf40416cfde9241c56a08528e9a Author: Andrew Gallatin AuthorDate: 2026-01-06 22:43:24 +0000 Commit: Andrew Gallatin CommitDate: 2026-01-12 21:02:18 +0000 iflib: document new sysctls Document the new tx related sysctls I've added to iflib in the last few months: tx_reclaim_ticks & tx_reclaim_thresh Sponsored by: Netflix Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D54564 MFC after: 3 days (cherry picked from commit 83e6f0d7807b4ebc74bc58e6f03adde56db942bf) --- share/man/man4/iflib.4 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/share/man/man4/iflib.4 b/share/man/man4/iflib.4 index 2040698f0087..66395bfe5dfc 100644 --- a/share/man/man4/iflib.4 +++ b/share/man/man4/iflib.4 @@ -94,6 +94,16 @@ If set to a non-zero value, task returns immediately and the transmit ring is serviced by a different task. This returns control to the caller faster and under high receive load, may result in fewer dropped RX frames. +.It Va tx_reclaim_thresh +Controls the threshold in packets before iflib will ask the driver +how many transmitted packets can be reclaimed. +Determining how many many packets can be reclaimed can be expensive +on some drivers. +.It Va tx_reclaim_ticks +Controls the time in ticks before iflib will ask the driver +how many transmitted packets can be reclaimed. +Determining how many many packets can be reclaimed can be expensive +on some drivers. .It Va rx_budget Sets the maximum number of frames to be received at a time. Zero (the default) indicates the default (currently 16) should be used. From nobody Mon Jan 12 21:29:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqlrm5K31z6P6Pl for ; Mon, 12 Jan 2026 21:29: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 4dqlrm4Hz2z3l29 for ; Mon, 12 Jan 2026 21:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768253384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wiEOoedOvG6ETYLtR7tfI8fYhrE70oAm71btEDh0QN8=; b=coYc9kfWOj12ZbFVUxql590GbBkz9Lnq1wGuAfGv4SUYte1sSkoe4T3mRfLBo4On2kkco3 lKYptG7Q1K/h5Fon95OAJV0pHFUG/n+KTe3GNUL9tTYvSz/gVaFPNFUsdKvRBplQ6Fp38j ZUU83jIfGfFC4znbFgXQjZQelCmgLuoDckvfavTDFlKAjQNDijsUpSU+sqbhnF2dRvgHdx pOhEMZois7YcFxlC59hUglSiANscdR+iNvYf1M301Dcb6/c2rjExwtS3nJnrLI89cF86bs +ogPqH4zsqyrS8DMYSZH7EDMmA1VccEONh1bwZdF8oa+zJIahB7Rq7QAwjywgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768253384; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wiEOoedOvG6ETYLtR7tfI8fYhrE70oAm71btEDh0QN8=; b=TImBcOTwaHn3lpYfWUy3AWigrH+pvZ3IKXdRc2Y8MoE2gimANQwo/wKTaw4fELAT23P5wT cyu1S5V34E9Ss+hbF7hXGL6uSXtcpFu3/I4mdvUac9wtk4+PJ7wIw+QEm6mgNR45m/8dOM cga43ClaYj0TZBFMzGWO2MK55XP/nVUC1iKl25s5Q1Jnoh6xixdKRrxxHvs7MxFPlgxtht OZvSeY7YNu70qoymxzw0gYWTi9PRnpOXGUkVBdoAVzKtgwWesIJgDvDFyowqcHhPsTFQaj TdPBUmQPvFtzSkZw/kWBZwofft11RWCS7zG31SM+pQN53Gwf6C/LDo9QLozCQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768253384; a=rsa-sha256; cv=none; b=IIG4AXY9pNV3qFBeC3sSHkkfv4cGGDzQtuq5XskGjRsm0ddqlXN1NhocesbFeAXwDJxKch Q/agSMK9UKhhdLZgBzTTalGoUjBNlcoUR0P7bHRfalCcxy4yfiFDEbLSus2h18hOufFh5Y SysxxRa1RGddsUa2d5bEYv/y7iulcBbPNVgy4Y4QAN5wxFNxjpI84SXe9Vi4K91gSXWlr8 m+DtY0gS9eDqyDpsaZAkCQ8PBNjqpKC8PMIAriRq9q5bj1SjKvdkhjGiZQPIpsEAIRslv/ 4EMu08Vugfm5F3mumyjg+lTundquWUokB1bJsIHAeYIcAVE2mizr6LcQHYHSaQ== 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 4dqlrm3lZgzkRW for ; Mon, 12 Jan 2026 21:29:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id eac6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 12 Jan 2026 21:29:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Gallatin Subject: git: 202dd86ec01f - stable/15 - bnxt: fix i2c read to allow access to different addresses 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: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 202dd86ec01f958d06485c6b6a35c84f1ccffe6a Auto-Submitted: auto-generated Date: Mon, 12 Jan 2026 21:29:44 +0000 Message-Id: <696567c8.eac6.6e4f92b5@gitrepo.freebsd.org> The branch stable/15 has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=202dd86ec01f958d06485c6b6a35c84f1ccffe6a commit 202dd86ec01f958d06485c6b6a35c84f1ccffe6a Author: Andrew Gallatin AuthorDate: 2026-01-08 13:49:38 +0000 Commit: Andrew Gallatin CommitDate: 2026-01-12 21:02:18 +0000 bnxt: fix i2c read to allow access to different addresses Allow reading of i2c addresses other than A0. A0 does provide most information, but doesn't provide things like module temps, and optical signal levels. Sponsored by: Netflix Reviewed by: sumit.saxena_broadcom.com Differential Revision: https://reviews.freebsd.org/D54590 MFC after: 3 days (cherry picked from commit b72cb305899ed30daf103b92818c199ccfc52378) --- sys/dev/bnxt/bnxt_en/if_bnxt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 471e26a4b252..fa37d04e0884 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -4295,7 +4295,7 @@ bnxt_i2c_req(if_ctx_t ctx, struct ifi2creq *i2c) return -EOPNOTSUPP; - rc = bnxt_read_sfp_module_eeprom_info(softc, I2C_DEV_ADDR_A0, 0, 0, 0, + rc = bnxt_read_sfp_module_eeprom_info(softc, i2c->dev_addr, 0, 0, 0, i2c->offset, i2c->len, data); return rc; From nobody Tue Jan 13 14:02:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dr9tZ2BwRz6Nxll for ; Tue, 13 Jan 2026 14:02: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 4dr9tZ1WXjz3ymV for ; Tue, 13 Jan 2026 14:02:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768312966; h=from:from:reply-to:subject:subject: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=Tm0nSCBMuvNtpAYvvEEoiZQ/d3FzHmhgwzUgYVWZ1Lg=; b=nX1DbFRMJhgAGYQfrpdcDKrOed1lopbETFMXEpO59NWP3Duziv+yGC0SYuWvcu75bZByFw /mHo7vSV4SubI6AfSg0zUM3ooRc2T/xiE0qmGiomDi3GkTU+J7WenX6rUG7mvV63ugWHuu p+Hu5sshZFN6uXzN9cqNtiPQzZMmeWJMoqUr2cz9ZnmuAd7D0uL5eVnhY+qdTQ9N9KLgqI JYJTHQr0mill08qEiJymgkcKFE4wAVSW+uGk8JLePXWIxm+ydjq6YtnoK4JatLousYM0po LAVsTjl2YH5kN0RUYbzEJAFDhz2byKFo0GBv+Iq2mKhgNOwaLS0BL68t7Rk9rQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768312966; h=from:from:reply-to:subject:subject: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=Tm0nSCBMuvNtpAYvvEEoiZQ/d3FzHmhgwzUgYVWZ1Lg=; b=OKl+5R6OLIFE6uvt3PukvO8V1iMz9Hngvi5WISCaFuul5nc1AfPbJkt5wycDuZjUiVeb6N BceZl79kZTCwi6HIdXUsOFOKlrEDoUYaMbpZAlwA5/MSwP1PQKqgax1Yc4hKG82bHqXDga 5p6+mcKoAGYeQtOPNJ6Q8f8nRNNvMbq1xS9eF/VdkWVb3+jVZU8EmdRZvJtDHb37L2lVw5 SPqSQZQMHT3lLYrNdfz2bDMjy1gu9tSOKMHrt+1rOlIfSp+S0jmaGUFyGfSs55F2ol1LPM SSDl/SVYGmFV1E/m59wRu79+sqnfMBZ/3aEB84W8PPobq5TD7AxUWHyY+hh4tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768312966; a=rsa-sha256; cv=none; b=Kw1GzLjFcH25bb/qZMQhReNEJbbsQn8qN7bJOHrsF2tCRrF9YrMAYNTVE3a/FQnOpzIq6h HIKzpWatvkM/soCAXKY763luhpQHcNuRql8HM1cniMOYZr2M6DvgsBaex0I4rCKFG12jbw e0bch7l8lecpgTxSzRdJ090ddUd3iN3qycWDUmg2B8sqvfdNp7NQtTLUH6hicBhtCh5Y5R Sr9LPusjJenkGPX0tHshJwXstIM0/dAmOrr+2Lrty0xw1SYLImRktSsPRdclPiPHfkKqUh KOPfyJAAP3jCpK8WV0kTzgJZVXg5i4P8EG4vUJVsnXqq1Us0ISfcdNLckgEu3A== 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 4dr9tZ0xmZz1GM for ; Tue, 13 Jan 2026 14:02:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a119 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 14:02:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Minsoo Choo From: Ed Maste Subject: git: 5656d0f7453e - stable/15 - stdbool.h: Update for C23 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5656d0f7453e0c315e57a6ad28300dcabb04c2b3 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 14:02:46 +0000 Message-Id: <69665086.a119.530f1a35@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5656d0f7453e0c315e57a6ad28300dcabb04c2b3 commit 5656d0f7453e0c315e57a6ad28300dcabb04c2b3 Author: Minsoo Choo AuthorDate: 2026-01-06 19:57:27 +0000 Commit: Ed Maste CommitDate: 2026-01-13 14:01:56 +0000 stdbool.h: Update for C23 When a compiler with C23 or higher is detected, builtin bool, true, and false are used to conform the C23 standard. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44664 (cherry picked from commit f441a225c4eb56deff1edc2402fe85a0ae263ebd) --- include/stdbool.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/stdbool.h b/include/stdbool.h index a03835ca6962..968967a4cfa6 100644 --- a/include/stdbool.h +++ b/include/stdbool.h @@ -26,15 +26,19 @@ * SUCH DAMAGE. */ +#ifndef __STDC_VERSION_STDBOOL_H__ +#define __STDC_VERSION_STDBOOL_H__ 202311L + #ifndef __bool_true_false_are_defined #define __bool_true_false_are_defined 1 -#ifndef __cplusplus +#if (__STDC_VERSION__ < 202311L) && !defined(__cplusplus) #define false 0 #define true 1 #define bool _Bool -#endif /* !__cplusplus */ +#endif /* (__STDC_VERSION__ < 202311L) && !defined(__cplusplus) */ #endif /* __bool_true_false_are_defined */ +#endif /* __STDC_VERSION_STDBOOL_H__ */ From nobody Tue Jan 13 16:27:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5G4V3Mz6NMcC for ; Tue, 13 Jan 2026 16:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5G3fbbz3KLG for ; Tue, 13 Jan 2026 16:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6zq8OBDEmLnN7XGf8DTaop8CFG5Zs0YU9JUNXWK/Hok=; b=Fa9cdDxsN5c1Tr59VavgnASGS4Plw6nNxpnHzM7hTBh8rsTczAzSCRusjcL1VbInkY/hT6 k3qUEVF+fwN2HWfyWVZzzyG81TtAR8zXg3Nc6K3S+38jKhE5bDg0k1waXOPVkZZf+vUNIj ImKNXIXcXpV3jR/aDpEdHZYBpFHfTLq1BAb/xd7UtGQ4GIW3ocfc47ucOFcN4ZY996t551 8g+fc/c21Adxn021/8DwV+jayygRq+YL0l4lcvcKaZXBcBWOhrPRkpL5Tqeg8vANR4kttp AK54xEze7bhzGTyLhfjzL1xlPQnB0u/VOGDOmRoVvfwGaQREnkoea3hYbfVnmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6zq8OBDEmLnN7XGf8DTaop8CFG5Zs0YU9JUNXWK/Hok=; b=IzlxdPnOBeYSAaReektdJ3n53t+gatuglVTE9WvvouaqZQKXVaktt9T5Qd17WovaudBptM aOuj0oaTzS2P42zistmIPu3QgjmNDjKNW+opJ67KCcn9pjPN/jYksJdwIsJfQDB1k9SK36 LroBQT7+SmS/e84hi/rzEkXNrZwNdKopwki4SCQSxX6HiEH3X05SSVoAP6CjoD/pTXefT3 FEHl1XZWYc7ASSgHV81nd20GJkDSG3zLADEbYQix8izZtCC+f0VQ2T3uiBDFwCwmcChiEM h6ANaytEhydiOQIaFCTrCVCcm8wlijLPRxPNQoOe+WFQ/I9tYhw0CIy6zT0GQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321634; a=rsa-sha256; cv=none; b=PYZSbddzTiob8YcBdI9+9rvjxIMbEkRpAdlUGoap/KY03/x8s3f5tqR5wTm1YWTYJphAkz fxVBmQ4jEK/e2ED6nvxnek33uCRmX7tODfRv7Rx34vATmcxj/SAI+A90O8SarJflfcLao0 93Spp7PIgppphL33sXWD+7i824yW+Ia5U8zeGeOn52uaV6/btes8hzIAZanaZ8IvIuk965 LxBOh49TSp42WZP0PCz95L/5viuXrI/9UrM8YogCK93MJCc4S1I0/6xGatp8FwIbdAwMuZ 7mjyukS0NmNkgLFbktn0pkOJUsQHdvzEJRN/rfGrRS+F4WAu8wzPAvHyEgI+kg== 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 4drF5G3ChLz46l for ; Tue, 13 Jan 2026 16:27:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31305 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: c373926c8b8c - stable/15 - arm64: Set the endian without a memory access 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c373926c8b8c29b57bf537899a886800862eb6b4 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:14 +0000 Message-Id: <69667262.31305.61acc58@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c373926c8b8c29b57bf537899a886800862eb6b4 commit c373926c8b8c29b57bf537899a886800862eb6b4 Author: Andrew Turner AuthorDate: 2025-09-19 10:05:47 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64: Set the endian without a memory access Early in the kernel we set the endian through the sctlr_el1 and sctlr_el2 registers. To get the value to put into these registers we load them from memory. As this will depend on the endian to get the fields in the correct order then it will fail if the endian is not what the kernel expects. Add a macro to load a 64-bit value into a register without a memory access and use this to set the register. As instructions are not affected by the endian set in sctlr this is safe. It is unlikely this will be hit as UEFI requires the processor to be in little endian mode, however when booting using the Linux ABI the kernel may start in big-endian, and secondary CPUs could be big-endian. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51012 (cherry picked from commit 0706d3464f4ef375fc31ecc7fa0733a13eca9d19) --- sys/arm64/arm64/locore.S | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 4a10a2b4f2d3..50a3eda846da 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -39,6 +39,23 @@ #define VIRT_BITS 48 +/* + * Loads a 64-bit value into reg using 1 to 4 mov/movk instructions. + * This can be used early on when we don't know the CPUs endianness. + */ +.macro mov_q reg, val + mov \reg, :abs_g0_nc:\val +.if (\val >> 16) & 0xffff != 0 + movk \reg, :abs_g1_nc:\val +.endif +.if (\val >> 32) & 0xffff != 0 + movk \reg, :abs_g2_nc:\val +.endif +.if (\val >> 48) & 0xffff != 0 + movk \reg, :abs_g3:\val +.endif +.endm + #if PAGE_SIZE == PAGE_SIZE_16K /* * The number of level 3 tables to create. 32 will allow for 1G of address @@ -324,15 +341,23 @@ LENTRY(enter_kernel_el) cmp x23, #(CURRENTEL_EL_EL2) b.eq 1f - ldr x2, =SCTLR_MMU_OFF + /* + * Ensure there are no memory operations here. If the boot loader + * enters the kernel in big-endian mode then loading sctlr will + * be incorrect. As instructions are the same in both endians it is + * safe to use mov instructions. + */ + mov_q x2, SCTLR_MMU_OFF msr sctlr_el1, x2 - /* SCTLR_EOS is set so eret is a context synchronizing event so we + /* + * SCTLR_EOS is set to make eret a context synchronizing event. We * need an isb here to ensure it's observed by later instructions, * but don't need it in the eret below. */ isb - /* Ensure SPSR_EL1 and pstate are in sync. The only wat to set the + /* + * Ensure SPSR_EL1 and pstate are in sync. The only way to set the * latter is to set the former and return from an exception with eret. */ mov x2, #(PSR_DAIF | PSR_M_EL1h) @@ -346,11 +371,19 @@ LENTRY(enter_kernel_el) * Set just the reserved bits in sctlr_el2. This will disable the * MMU which may have broken the kernel if we enter the kernel in * EL2, e.g. when using VHE. + * + * As with sctlr_el1 above use mov instructions to ensure there are + * no memory operations. */ - ldr x2, =(SCTLR_EL2_RES1 | SCTLR_EL2_EIS | SCTLR_EL2_EOS) + mov_q x2, (SCTLR_EL2_RES1 | SCTLR_EL2_EIS | SCTLR_EL2_EOS) msr sctlr_el2, x2 isb + /* + * The hardware is now in little-endian mode so memory operations + * are safe. + */ + /* Configure the Hypervisor */ ldr x2, =(HCR_RW | HCR_APK | HCR_API) msr hcr_el2, x2 From nobody Tue Jan 13 16:27:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5H5JGJz6NMrF for ; Tue, 13 Jan 2026 16:27:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5H4KrRz3KW6 for ; Tue, 13 Jan 2026 16:27:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qKn7u1j/DmDujWqD+/sIiRiaif/MOYzJvdESzZi8eBE=; b=yy2lLCTjAc/4WW8O9HNBmMjXhfjUgFcbDp98LuwXPRp3zUXtW5aKG7zAc0LSqygxPqkGe3 vgvjgsZmJEAPueP08ZYuA1qTYEn/lWjvGiNxkrobsYSuOFX+P/H2SbobIxS9fgF83kjNDR IeOarX+nO2tBlbnB4/CPGYYYb4x1xzn86GwFCvrCkAiOoU9VaZ7E6bYosIxvjuUqe0q/Xr WhIqac9Lu37qN7Eot8oYtoOaMWABEUbuIiGHmvxEowVPI3R+K88B5ZD5veJ0q9oBC9Ok0g zZ527/5TFTWZVIs2QiTlZmlVZT+hVp6WlxZYDMDlfRtoAzL1TyS7RwMe9kxonQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qKn7u1j/DmDujWqD+/sIiRiaif/MOYzJvdESzZi8eBE=; b=jDiFGa6/Z3x7hHAQPx2y1mTftp/KirRbDTSQCGh3SfKS3vqrXPAyRxUHFRcn4CfHGIADkf 8QHPpU9Wx5GXLDfnIZslPPU641jgN8DI6MlGduoWMxClPLzxkQFkvtJgNWAziv/ZFM5pUH YakCE2aU3xYozoiugKNgUcpMCWuwtVK1+VdOOolfOR+hWdT0NERejU5/PvLq1gPkcE4beT EL/md+pnP9RXCneuCbBbqiHKs+r04PabXzIVlde2Bds08QEBJNbAnB3Ja7dFxve/LWZVyJ QjGpRxvfIGTbk5PMXEgl/DfWqf0ESo+alPUraurUxsCqc2ZGISSV5qTdg3EWsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321635; a=rsa-sha256; cv=none; b=pjxCOZ9cA5x3Tqk1julX4IHJ5MJQlyjIJhOGAhd33dBtc7Du/nYkTn5pPvTrPdZBUq0gDg sO/orBuEoJ76uz/rU6D2ON6O6NLzUgQIhK3/JCyIJMKrui6GXrCz8/n6UD6h6Kd2kJAbv5 +yuaEM8uhA5EyuIT8h8Bo9l63gJyI5bqOeupdDqTEQWF9EBhZNYQMzjinaNGfKG6m6LfNQ C3nHi+OroueKvyTmaDc0f/scpSVW9H5PcetN+ljl/5WztuVQ2nkLWZHbi8iNeIsGpo+3jb kxhl8PL60JxckcxqjA/YJ3ctyoeGzQWbbSn95V7uvyd4usRL+GwaieysuEknFA== 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 4drF5H3xk8z4cV for ; Tue, 13 Jan 2026 16:27:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30cc0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 84d6c08584a5 - stable/15 - arm64: Enable EPAN and IESB 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 84d6c08584a563565bb9190053dbf5670dd3ac72 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:15 +0000 Message-Id: <69667263.30cc0.7fa74d2a@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=84d6c08584a563565bb9190053dbf5670dd3ac72 commit 84d6c08584a563565bb9190053dbf5670dd3ac72 Author: Andrew Turner AuthorDate: 2025-09-19 10:05:48 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64: Enable EPAN and IESB These are both safe to enable. EPAN only affects PAN when it's enabled, and IESB makes exception entry and exit an Implicit Error Synchronization event. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51013 (cherry picked from commit 68b3d0cbe03467abac0523bbeea0cfc34efd9b05) --- sys/arm64/include/armreg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 401a963e2ba9..9d263b4edc09 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2617,10 +2617,12 @@ (SCTLR_LSMAOE | SCTLR_nTLSMD | SCTLR_EIS | SCTLR_TSCXT | SCTLR_EOS) #define SCTLR_MMU_ON \ (SCTLR_MMU_OFF | \ + SCTLR_EPAN | \ SCTLR_BT1 | \ SCTLR_BT0 | \ SCTLR_UCI | \ SCTLR_SPAN | \ + SCTLR_IESB | \ SCTLR_nTWE | \ SCTLR_nTWI | \ SCTLR_UCT | \ From nobody Tue Jan 13 16:27:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5K0xDbz6NMn5 for ; Tue, 13 Jan 2026 16:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5J5FbBz3KRH for ; Tue, 13 Jan 2026 16:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SzoeZjWghMnoG7vgxWY1g/rrzKlAKym/GlA18CCR35o=; b=PjPr3CNlXgz9PmgWquRGonySJVTZ6ZGTHmf1psViF22mv8UAZObdk6yl87LmIYgAP2TM1j E3w25kRwrSvYpjYxrTwTEaD0y9AfXvLKZywHllZeLjPHA4ShcIZcowJlGaaSoy/hWSJA6X qeizoeaITWaGrI8Bzpnk525UsSwKiqgPyTzTChIq0g/7xBw0Y2425bXFjVoyh0LAwg4Wsd +++1gv4rmbvulY+md6X5BHWUpK1FcxfgmgBTeMFRp0To/951Tq49VxwlW7ZpuTz7ABPcd4 G9T/jXSZiTe8O1Zr5iQHcO5ji3aJhNbq7txoxLdIBGnfIgd6Rtsb//ywfgvjJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SzoeZjWghMnoG7vgxWY1g/rrzKlAKym/GlA18CCR35o=; b=K7G6gejx7AjYwdGsb/hr6jTCtdRdhxgv/GGLXBNGmXyMJvFHDaF1Luy8bvATajkBvtK+wt aecRn6iPOMvCCYpwNniyYmvV8Kjff/jX7qJhAEdZDFMcRAlIUaIvN135YKVPoca9dJtvi+ TOT5XofzRVTddNPWz/yyFt8shNdU1EbVh4t0vTuZ8XPDP0Rj+mebsMT9Q+s9vDYIhHmEyd EdoqkQfbczHYE7C0WfHAgks0Bju6KGmsiMWmUHaQQcty8uqMYfa4l7dxJ0BZhbpro5pkbI w41EKmWcIEAoBh88wVUogCxyqJIFaNeaEqLLHaTkXGSSj2zn3Q5MJ0//MApkPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321636; a=rsa-sha256; cv=none; b=U1//S/ZrebNQ5+2c9b/5avHYiV9Pxn7kRbvUt5OiLhCv2QJaFTlwYPrNCiBqrtdP2LHDWe EcU4PlNqDPuvgKXt7qKjTzqb8MEnPUsagtUsrB289kuxXG457VIhutIE00UYyxmEeTniXj QhmmvpjXNiiZepgB+pFmo84cUVKl/zc//GkxC9vS9gGgk35hkM2h17SDox+LXzUqFuaTiP lMpiU3P4626TtIQm0pBN69GEUQfyZM7hCbGUljQsvKo7w/JBj9kI6LsX94LsgvFe5T2mh5 uNXtFq7dQojJUjVzHIP5/Sq8w2g9j0eXinJbBMpM0SOirD1cw3sJJCOmvHBeBg== 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 4drF5J4jGzz46n for ; Tue, 13 Jan 2026 16:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30392 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 09ea88fde992 - stable/15 - arm64/vmm: Add a feature flag and use it for HCRX 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 09ea88fde992cfe52ac9e03e36e0088a98ebd44c Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:16 +0000 Message-Id: <69667264.30392.bf8ebcc@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=09ea88fde992cfe52ac9e03e36e0088a98ebd44c commit 09ea88fde992cfe52ac9e03e36e0088a98ebd44c Author: Andrew Turner AuthorDate: 2025-09-22 17:07:57 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64/vmm: Add a feature flag and use it for HCRX Add a field to hold the features the hardware supports that need to be handled when switching to a guest and use it to handle FEAT_HCX that adds the HRX_EL2 register. This reduces the number of times we read ID registers in guest switching which may be trapped when running under nested virtualisation. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51816 (cherry picked from commit 0f455824d0abdcf09d2e96cf97f99c542bbde877) --- sys/arm64/vmm/arm64.h | 2 ++ sys/arm64/vmm/vmm_arm64.c | 6 ++++++ sys/arm64/vmm/vmm_hyp.c | 28 +++++++++++++++------------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/sys/arm64/vmm/arm64.h b/sys/arm64/vmm/arm64.h index 20cb3c312df5..c0bcbe822ec0 100644 --- a/sys/arm64/vmm/arm64.h +++ b/sys/arm64/vmm/arm64.h @@ -128,6 +128,8 @@ struct hyp { uint64_t vmid_generation; uint64_t vttbr_el2; uint64_t el2_addr; /* The address of this in el2 space */ + uint64_t feats; /* Which features are enabled */ +#define HYP_FEAT_HCX (0x1ul << 0) bool vgic_attached; struct vgic_v3 *vgic; struct hypctx *ctx[]; diff --git a/sys/arm64/vmm/vmm_arm64.c b/sys/arm64/vmm/vmm_arm64.c index e4deb052d396..8e3d8d5220ec 100644 --- a/sys/arm64/vmm/vmm_arm64.c +++ b/sys/arm64/vmm/vmm_arm64.c @@ -517,6 +517,7 @@ vmmops_init(struct vm *vm, pmap_t pmap) { struct hyp *hyp; vm_size_t size; + uint64_t idreg; size = el2_hyp_size(vm); hyp = malloc_aligned(size, PAGE_SIZE, M_HYP, M_WAITOK | M_ZERO); @@ -524,6 +525,11 @@ vmmops_init(struct vm *vm, pmap_t pmap) hyp->vm = vm; hyp->vgic_attached = false; + if (get_kernel_reg(ID_AA64MMFR1_EL1, &idreg)) { + if (ID_AA64MMFR1_HCX_VAL(idreg) >= ID_AA64MMFR1_HCX_IMPL) + hyp->feats |= HYP_FEAT_HCX; + } + vtimer_vminit(hyp); vgic_vminit(hyp); diff --git a/sys/arm64/vmm/vmm_hyp.c b/sys/arm64/vmm/vmm_hyp.c index 636247c48080..eb066e23363b 100644 --- a/sys/arm64/vmm/vmm_hyp.c +++ b/sys/arm64/vmm/vmm_hyp.c @@ -264,14 +264,6 @@ vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest) hypctx->hcr_el2 = READ_SPECIALREG(hcr_el2); hypctx->vpidr_el2 = READ_SPECIALREG(vpidr_el2); hypctx->vmpidr_el2 = READ_SPECIALREG(vmpidr_el2); - -#ifndef VMM_VHE - /* hcrx_el2 depends on feat_hcx */ - uint64_t mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); - if (ID_AA64MMFR1_HCX_VAL(mmfr1) >> ID_AA64MMFR1_HCX_SHIFT) { - hypctx->hcrx_el2 = READ_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2)); - } -#endif } static void @@ -282,11 +274,9 @@ vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest) /* Restore the special registers */ WRITE_SPECIALREG(hcr_el2, hypctx->hcr_el2); - if (guest_or_nonvhe(guest)) { - uint64_t mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); - if (ID_AA64MMFR1_HCX_VAL(mmfr1) >> ID_AA64MMFR1_HCX_SHIFT) { - WRITE_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2), hypctx->hcrx_el2); - } + if (guest) { + if ((hyp->feats & HYP_FEAT_HCX) != 0) + WRITE_SPECIALREG(HCRX_EL2_REG, hypctx->hcrx_el2); } isb(); @@ -513,11 +503,18 @@ vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) struct hypctx host_hypctx; uint64_t cntvoff_el2; uint64_t ich_hcr_el2, ich_vmcr_el2, cnthctl_el2, cntkctl_el1; +#ifndef VMM_VHE + uint64_t hcrx_el2; +#endif uint64_t ret; uint64_t s1e1r, hpfar_el2; bool hpfar_valid; vmm_hyp_reg_store(&host_hypctx, NULL, false); +#ifndef VMM_VHE + if ((hyp->feats & HYP_FEAT_HCX) != 0) + hcrx_el2 = READ_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2)); +#endif /* Save the host special registers */ cnthctl_el2 = READ_SPECIALREG(cnthctl_el2); @@ -595,6 +592,11 @@ vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) vmm_hyp_reg_restore(&host_hypctx, NULL, false); +#ifndef VMM_VHE + if ((hyp->feats & HYP_FEAT_HCX) != 0) + WRITE_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2), hcrx_el2); +#endif + /* Restore the host special registers */ WRITE_SPECIALREG(ich_hcr_el2, ich_hcr_el2); WRITE_SPECIALREG(ich_vmcr_el2, ich_vmcr_el2); From nobody Tue Jan 13 16:27:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5L00lfz6NMNr for ; Tue, 13 Jan 2026 16:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5K62xkz3KJN for ; Tue, 13 Jan 2026 16:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oygkiBkuxBjQm7G592ulkzcbTs52sFEx4IMJClt1m84=; b=RccWSFlCr8xHthJ+UjkIzFVXK2OSUqQWbWMN2gaUMvYYVrzGYIwvM0owYbrQojmPP3UtG8 9ihceSntK5fDs0loyWqqUl9HWh0TYtoI8tr9EVRjamfspSwsSL643eW9TF8XIcYXmF7dd9 /3EJYYw78slWUcIyWt8wS6WcMkDzuw3VytRIWraRiWOpH9WKjaEx6in+cJlSsAGB/4Px65 6Ftn8F0TbhZKNgcf9XY6uw6ORr14Qlh3SxWVtPbJ1kO1KuA/i9gfbrscKmYVsFVIvs3JvG /sT49F5fOiUSt9mt54B8gvjsCZ85toQrH/NiENb7hGhObppHbjm+FYXsvpQpyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oygkiBkuxBjQm7G592ulkzcbTs52sFEx4IMJClt1m84=; b=ZEbu9AYzteQwhA7LEZZbDs9JYXEedYBNTmLkLOriJaVgyV21oq/SIo/MeKAHHBFRHzNz1y 01z39F/3UFeE0RWjuR02HnOIaSFAyGp27GJQ+4c/z9m46BMlAK5ITYqifI1pLy1QkN/ZbV oESPmASiQ7fUU0vXZ+2FevyIktLZ4ub1q99Wzr+jWw2A79g51iXYEdsj+cXVX+tF3soQFK SnEbxLeZtSGKNgw7HXiK41aPSf1oPq5J00wDJVD3i/+h37xiXeZIsdYF9iS0oYw0pbAGXq 56bBQNyca4xwk9Q2e5sIG/ZupTupZK5XEL/QoFuBFyP4DgBX6nCbZH1cv9IbNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321637; a=rsa-sha256; cv=none; b=Gaifj6sbT93AJimwTsCwafH2+KCivgKWO9VPW2X5vqJDpIwi9Ca0o+IgsxxLuhCE1rvyti 5xIXNXZydizGDHvj4RtjYazbDvNEktzCB0PVRNoYXWVp0eCyAElcxWVgRY5VHnbnapKBEZ 2pEPX/ULRqUAgp+qVM0M16RaXyYbJ+TtgeGPT9FDDSlTU6AoSR7aGxIPe34iK/R1VP7Fi2 b26ZP4EGwM3/hPiRPBaI1YxLmM8/mziR1YsZg2GQfkGpF8cGCIlmtxrCgYkAGs/Ytc3C5e MhQjRtEfSlONVb6J/bZwu2rYxQUVMZhkAblB9idhjiVdCjNR3C/JjME5/OiecA== 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 4drF5K5Kwsz4cW for ; Tue, 13 Jan 2026 16:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30bc0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 13d9a9e7647b - stable/15 - arm64/vmm: Clean up enabling guest timer access 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 13d9a9e7647b69405bc5b2671fa0895cbfff7983 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:17 +0000 Message-Id: <69667265.30bc0.4e0f19b1@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=13d9a9e7647b69405bc5b2671fa0895cbfff7983 commit 13d9a9e7647b69405bc5b2671fa0895cbfff7983 Author: Andrew Turner AuthorDate: 2025-09-22 17:08:06 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64/vmm: Clean up enabling guest timer access Clean up the name of CNTHCTL_EL2 field macros and expand to include more fields. This makes it easier to see which accesses are trapped or not trapped. While here set the register directly. We already set it in locore.S so there is no need to read that and modify it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51817 (cherry picked from commit f38792ffc2db67ca82026eb4861f37fe7ac7c38e) --- sys/arm64/arm64/locore.S | 4 +-- sys/arm64/include/hypervisor.h | 79 ++++++++++++++++++++++++++++++++++++------ sys/arm64/vmm/io/vtimer.c | 31 ++++++++++------- 3 files changed, 88 insertions(+), 26 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 50a3eda846da..d35e334905a7 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -418,7 +418,7 @@ LENTRY(enter_kernel_el) msr SCTLR_EL12_REG, x2 mov x2, xzr /* CPTR_EL2 is managed by vfp.c */ - ldr x3, =(CNTHCTL_E2H_EL1PCTEN | CNTHCTL_E2H_EL1PTEN) + ldr x3, =(CNTHCTL_E2H_EL1PCTEN_NOTRAP | CNTHCTL_E2H_EL1PTEN_NOTRAP) ldr x5, =(PSR_DAIF | PSR_M_EL2h) b .Ldone_vhe @@ -429,7 +429,7 @@ LENTRY(enter_kernel_el) msr vbar_el2, x2 ldr x2, =(CPTR_RES1) - ldr x3, =(CNTHCTL_EL1PCTEN | CNTHCTL_EL1PCEN) + ldr x3, =(CNTHCTL_EL1PCTEN_NOTRAP | CNTHCTL_EL1PCEN_NOTRAP) ldr x5, =(PSR_DAIF | PSR_M_EL1h) .Ldone_vhe: diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 6e96ce7f1a7d..8feabd2b981b 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -36,20 +36,77 @@ */ /* CNTHCTL_EL2 - Counter-timer Hypervisor Control register */ -#define CNTHCTL_EVNTI_MASK (0xf << 4) /* Bit to trigger event stream */ /* Valid if HCR_EL2.E2H == 0 */ -#define CNTHCTL_EL1PCTEN (1 << 0) /* Allow physical counter access */ -#define CNTHCTL_EL1PCEN (1 << 1) /* Allow physical timer access */ +#define CNTHCTL_EL1PCTEN_SHIFT 0 +#define CNTHCTL_EL1PCTEN_MASK (0x1ul << CNTHCTL_E2H_EL1PCTEN_SHIFT) +#define CNTHCTL_EL1PCTEN_TRAP (0x0ul << CNTHCTL_E2H_EL1PCTEN_SHIFT) +#define CNTHCTL_EL1PCTEN_NOTRAP (0x1ul << CNTHCTL_EL1PCTEN_SHIFT) +#define CNTHCTL_EL1PCEN_SHIFT 1 +#define CNTHCTL_EL1PCEN_MASK (0x1ul << CNTHCTL_EL1PCEN_SHIFT) +#define CNTHCTL_EL1PCEN_TRAP (0x0ul << CNTHCTL_EL1PCEN_SHIFT) +#define CNTHCTL_EL1PCEN_NOTRAP (0x1ul << CNTHCTL_EL1PCEN_SHIFT) /* Valid if HCR_EL2.E2H == 1 */ -#define CNTHCTL_E2H_EL0PCTEN (1 << 0) /* Allow EL0 physical counter access */ -#define CNTHCTL_E2H_EL0VCTEN (1 << 1) /* Allow EL0 virtual counter access */ -#define CNTHCTL_E2H_EL0VTEN (1 << 8) -#define CNTHCTL_E2H_EL0PTEN (1 << 9) -#define CNTHCTL_E2H_EL1PCTEN (1 << 10) /* Allow physical counter access */ -#define CNTHCTL_E2H_EL1PTEN (1 << 11) /* Allow physical timer access */ +#define CNTHCTL_E2H_EL0PCTEN_SHIFT 0 +#define CNTHCTL_E2H_EL0PCTEN_MASK (0x1ul << CNTHCTL_E2H_EL0PCTEN_SHIFT) +#define CNTHCTL_E2H_EL0PCTEN_TRAP (0x0ul << CNTHCTL_E2H_EL0PCTEN_SHIFT) +#define CNTHCTL_E2H_EL0PCTEN_NOTRAP (0x1ul << CNTHCTL_E2H_EL0PCTEN_SHIFT) +#define CNTHCTL_E2H_EL0VCTEN_SHIFT 1 +#define CNTHCTL_E2H_EL0VCTEN_MASK (0x1ul << CNTHCTL_E2H_EL0VCTEN_SHIFT) +#define CNTHCTL_E2H_EL0VCTEN_TRAP (0x0ul << CNTHCTL_E2H_EL0VCTEN_SHIFT) +#define CNTHCTL_E2H_EL0VCTEN_NOTRAP (0x1ul << CNTHCTL_E2H_EL0VCTEN_SHIFT) +#define CNTHCTL_E2H_EL0VTEN_SHIFT 8 +#define CNTHCTL_E2H_EL0VTEN_MASK (0x1ul << CNTHCTL_E2H_EL0VTEN_SHIFT) +#define CNTHCTL_E2H_EL0VTEN_TRAP (0x0ul << CNTHCTL_E2H_EL0VTEN_SHIFT) +#define CNTHCTL_E2H_EL0VTEN_NOTRAP (0x1ul << CNTHCTL_E2H_EL0VTEN_SHIFT) +#define CNTHCTL_E2H_EL0PTEN_SHIFT 9 +#define CNTHCTL_E2H_EL0PTEN_MASK (0x1ul << CNTHCTL_E2H_EL0PTEN_SHIFT) +#define CNTHCTL_E2H_EL0PTEN_TRAP (0x0ul << CNTHCTL_E2H_EL0PTEN_SHIFT) +#define CNTHCTL_E2H_EL0PTEN_NOTRAP (0x1ul << CNTHCTL_E2H_EL0PTEN_SHIFT) +#define CNTHCTL_E2H_EL1PCTEN_SHIFT 10 +#define CNTHCTL_E2H_EL1PCTEN_MASK (0x1ul << CNTHCTL_E2H_EL1PCTEN_SHIFT) +#define CNTHCTL_E2H_EL1PCTEN_TRAP (0x0ul << CNTHCTL_E2H_EL1PCTEN_SHIFT) +#define CNTHCTL_E2H_EL1PCTEN_NOTRAP (0x1ul << CNTHCTL_E2H_EL1PCTEN_SHIFT) +#define CNTHCTL_E2H_EL1PTEN_SHIFT 11 +#define CNTHCTL_E2H_EL1PTEN_MASK (0x1ul << CNTHCTL_E2H_EL1PTEN_SHIFT) +#define CNTHCTL_E2H_EL1PTEN_TRAP (0x0ul << CNTHCTL_E2H_EL1PTEN_SHIFT) +#define CNTHCTL_E2H_EL1PTEN_NOTRAP (0x1ul << CNTHCTL_E2H_EL1PTEN_SHIFT) /* Unconditionally valid */ -#define CNTHCTL_EVNTDIR (1 << 3) /* Control transition trigger bit */ -#define CNTHCTL_EVNTEN (1 << 2) /* Enable event stream */ +#define CNTHCTL_EVNTEN_SHIFT 2 +#define CNTHCTL_EVNTEN_MASK (0x1ul << CNTHCTL_EVNTEN_SHIFT) +#define CNTHCTL_EVNTEN_DIS (0x0ul << CNTHCTL_EVNTEN_SHIFT) +#define CNTHCTL_EVNTEN_EN (0x1ul << CNTHCTL_EVNTEN_SHIFT) +#define CNTHCTL_EVNTDIR_SHIFT 3 +#define CNTHCTL_EVNTDIR_MASK (0x1ul << CNTHCTL_EVNTDIR_SHIFT) +#define CNTHCTL_EVNTDIR_HIGH (0x0ul << CNTHCTL_EVNTDIR_SHIFT) +#define CNTHCTL_EVNTDIR_LOW (0x1ul << CNTHCTL_EVNTDIR_SHIFT) +#define CNTHCTL_EVNTI_SHIFT 4 +#define CNTHCTL_EVNTI_MASK (0xful << CNTHCTL_EVNTI_SHIFT) +#define CNTHCTL_ECV_SHIFT 12 +#define CNTHCTL_ECV_MASK (0x1ul << CNTHCTL_ECV_SHIFT) +#define CNTHCTL_ECV_DIS (0x0ul << CNTHCTL_ECV_SHIFT) +#define CNTHCTL_ECV_EN (0x1ul << CNTHCTL_ECV_SHIFT) +#define CNTHCTL_EL1TVT_SHIFT 13 +#define CNTHCTL_EL1TVT_MASK (0x1ul << CNTHCTL_EL1TVT_SHIFT) +#define CNTHCTL_EL1TVT_NOTRAP (0x0ul << CNTHCTL_EL1TVT_SHIFT) +#define CNTHCTL_EL1TVT_TRAP (0x1ul << CNTHCTL_EL1TVT_SHIFT) +#define CNTHCTL_EL1TVCT_SHIFT 14 +#define CNTHCTL_EL1TVCT_MASK (0x1ul << CNTHCTL_EL1TVCT_SHIFT) +#define CNTHCTL_EL1TVCT_NOTRAP (0x0ul << CNTHCTL_EL1TVCT_SHIFT) +#define CNTHCTL_EL1TVCT_TRAP (0x1ul << CNTHCTL_EL1TVCT_SHIFT) +#define CNTHCTL_EL1NVPCT_SHIFT 15 +#define CNTHCTL_EL1NVPCT_MASK (0x1ul << CNTHCTL_EL1NVPCT_SHIFT) +#define CNTHCTL_EL1NVPCT_NOTRAP (0x0ul << CNTHCTL_EL1NVPCT_SHIFT) +#define CNTHCTL_EL1NVPCT_TRAP (0x1ul << CNTHCTL_EL1NVPCT_SHIFT) +#define CNTHCTL_EL1NVVCT_SHIFT 16 +#define CNTHCTL_EL1NVVCT_MASK (0x1ul << CNTHCTL_EL1NVVCT_SHIFT) +#define CNTHCTL_EL1NVVCT_NOTRAP (0x0ul << CNTHCTL_EL1NVVCT_SHIFT) +#define CNTHCTL_EL1NVVCT_TRAP (0x1ul << CNTHCTL_EL1NVVCT_SHIFT) +#define CNTHCTL_EVNTIS_SHIFT 17 +#define CNTHCTL_EVNTIS_MASK (0x1ul << CNTHCTL_EVNTIS_SHIFT) +#define CNTHCTL_CNTVMASK_SHIFT 18 +#define CNTHCTL_CNTVMASK_MASK (0x1ul << CNTHCTL_CNTVMASK_SHIFT) +#define CNTHCTL_CNTPMASK_SHIFT 19 +#define CNTHCTL_CNTPMASK_MASK (0x1ul << CNTHCTL_CNTPMASK_SHIFT) /* CNTPOFF_EL2 - Counter-timer Physical Offset Register */ #define CNTPOFF_EL2_REG MRS_REG_ALT_NAME(CNTPOFF_EL2) diff --git a/sys/arm64/vmm/io/vtimer.c b/sys/arm64/vmm/io/vtimer.c index f59d7ebc1ad4..51b21110d42c 100644 --- a/sys/arm64/vmm/io/vtimer.c +++ b/sys/arm64/vmm/io/vtimer.c @@ -137,33 +137,38 @@ vtimer_vminit(struct hyp *hyp) if (in_vhe()) { /* * CNTHCTL_E2H_EL0PCTEN: trap EL0 access to CNTP{CT,CTSS}_EL0 - * CNTHCTL_E2H_EL1VCTEN: don't trap EL0 access to - * CNTV{CT,CTSS}_EL0 + * CNTHCTL_E2H_EL0VCTEN: don't trap EL0 access to + * CNTV{CT,CTXX}_EL0 * CNTHCTL_E2H_EL0VTEN: don't trap EL0 access to * CNTV_{CTL,CVAL,TVAL}_EL0 * CNTHCTL_E2H_EL0PTEN: trap EL0 access to * CNTP_{CTL,CVAL,TVAL}_EL0 - * CNTHCTL_E2H_EL1PCEN: trap EL1 access to - CNTP_{CTL,CVAL,TVAL}_EL0 * CNTHCTL_E2H_EL1PCTEN: trap access to CNTPCT_EL0 + * CNTHCTL_E2H_EL1PTEN: trap access to + * CNTP_{CTL,CVAL,TVAL}_EL0 + * CNTHCTL_E2H_EL1VCTEN: don't trap EL0 access to + * CNTV{CT,CTSS}_EL0 + * CNTHCTL_E2H_EL1PCEN: trap EL1 access to + * CNTP_{CTL,CVAL,TVAL}_EL0 * * TODO: Don't trap when FEAT_ECV is present */ - hyp->vtimer.cnthctl_el2 &= ~CNTHCTL_E2H_EL0PCTEN; - hyp->vtimer.cnthctl_el2 |= CNTHCTL_E2H_EL0VCTEN; - hyp->vtimer.cnthctl_el2 |= CNTHCTL_E2H_EL0VTEN; - hyp->vtimer.cnthctl_el2 &= ~CNTHCTL_E2H_EL0PTEN; - - hyp->vtimer.cnthctl_el2 &= ~CNTHCTL_E2H_EL1PTEN; - hyp->vtimer.cnthctl_el2 &= ~CNTHCTL_E2H_EL1PCTEN; + hyp->vtimer.cnthctl_el2 = + CNTHCTL_E2H_EL0PCTEN_TRAP | + CNTHCTL_E2H_EL0VCTEN_NOTRAP | + CNTHCTL_E2H_EL0VTEN_NOTRAP | + CNTHCTL_E2H_EL0PTEN_TRAP | + CNTHCTL_E2H_EL1PCTEN_TRAP | + CNTHCTL_E2H_EL1PTEN_TRAP; } else { /* * CNTHCTL_EL1PCEN: trap access to CNTP_{CTL, CVAL, TVAL}_EL0 * from EL1 * CNTHCTL_EL1PCTEN: trap access to CNTPCT_EL0 */ - hyp->vtimer.cnthctl_el2 &= ~CNTHCTL_EL1PCEN; - hyp->vtimer.cnthctl_el2 &= ~CNTHCTL_EL1PCTEN; + hyp->vtimer.cnthctl_el2 = + CNTHCTL_EL1PCTEN_TRAP | + CNTHCTL_EL1PCEN_TRAP; } now = READ_SPECIALREG(cntpct_el0); From nobody Tue Jan 13 16:27:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5M1cmmz6NMcS for ; Tue, 13 Jan 2026 16:27: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 4drF5L6LJxz3Kbf for ; Tue, 13 Jan 2026 16:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ueA2bOzlxnT5cRXwEFenjUZxFOrioxmsd2PobAwIqMA=; b=DwzJJTjSmd0QeaxoTOkjE7SNAsbhNrozA79Vxjhli7f6CJ7cQwgWwKweSaCH7L/hdpM8Tx t+rn9oVAuyZh4pBkMtWYagBIXI2u59At4J7M+mFQ/Om1bWtRsvevFmf7srIRwkc4CxyMD0 XVxaiNYKNKzW0pncEJoaFMFumUOSg/MYU9MVwnXzVoJDeZ5mjJym3AHLSn2Or82aDt1S4s 90odyJ+GXCXta6knnQaeWlkpHm4TOtcrI2w3xWEO8PDURkwGu0Vqq7RV6CLfOZN/1QKIWb qSXbUBYobXt161BTkRl25eCImyTGdAJ1cDkA+PbC23JIYA5cB+Vy2k3VqEt16w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ueA2bOzlxnT5cRXwEFenjUZxFOrioxmsd2PobAwIqMA=; b=bXt0GbpuE+GNhlaQjPkZFqrVRpGyvZDE5l7i/qAIUNIRZDKsz6dA6N7M7GJHs8I73Hobol Ba7ApfF+0cmiNnE3VmzVLGz2UGhCiZ6F8mA52WTV4lj0yhYqPvuYoQuHodCjqJTRiNKLZK 638rrvVwlA5rqjRKUCYUrMnk0pTOKgiN0QNK77U6JMu43AhVzAO1MEFhjazUkDlwPTqJY0 zXVZgbMSabmjqctRYY5RMu2Bl2oaCHyZaEpHZ7cCV6mSregLA1hyuL8HV8N8eV2eedM50K jPZGd/ziDr/+KsV/RR07tSJHa4kstf/7Wcz/wzdIMz9kpwqdUeigOuMlXuTp7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321638; a=rsa-sha256; cv=none; b=b5TDxoWa/yePK+dkcdfOX/ggIGAd1zSibabszHwqRxVySkdzN+2ux+PZyBu04FVxKnVH7i 42CT3SpJcKdkblwuDbym9f8IrHG4rLYpsdft6B8eYPNc1jePL+8gEuUN/W49iJKk0V3wH9 J/x4pVTowCVgP7WwDNySOtqoFW24hcPIAnZjLw1FsS8xOXh9oKbrbCS7UQ+nJ5w12z/IaO SpzszrwIi4WzdtjxOc9fCZUKx8QyBSDQOlrq9PBWyD07FzuOSjE6A2qUc1+OVBFG6I+CAa rfdfQgS0gIuYps7N2zwYaREiVIhjA5nJ/yR6HtVA0O9oo0zpTS4Ru6ZOMe7h5A== 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 4drF5L5vc4z4P5 for ; Tue, 13 Jan 2026 16:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3050d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 2b22c6f9cdf6 - stable/15 - arm64/vmm: Remove support for reading CNTHCTL_EL2 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2b22c6f9cdf6c32dbdc905d746f42281a315adc4 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:18 +0000 Message-Id: <69667266.3050d.1f4fa4d3@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2b22c6f9cdf6c32dbdc905d746f42281a315adc4 commit 2b22c6f9cdf6c32dbdc905d746f42281a315adc4 Author: Andrew Turner AuthorDate: 2025-09-22 17:08:14 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64/vmm: Remove support for reading CNTHCTL_EL2 This is now unused as we just set the register value directly. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51818 (cherry picked from commit b3d30be6ed7108b97ed628f7ec9497a112d49fd6) --- sys/arm64/vmm/hyp.h | 1 - sys/arm64/vmm/io/vtimer.c | 5 +---- sys/arm64/vmm/io/vtimer.h | 2 +- sys/arm64/vmm/vmm_arm64.c | 4 +--- sys/arm64/vmm/vmm_hyp.c | 2 -- 5 files changed, 3 insertions(+), 11 deletions(-) diff --git a/sys/arm64/vmm/hyp.h b/sys/arm64/vmm/hyp.h index 0b2977c73960..0c8d0fb28b18 100644 --- a/sys/arm64/vmm/hyp.h +++ b/sys/arm64/vmm/hyp.h @@ -80,7 +80,6 @@ #define HYP_ENTER_GUEST 0x00000002 #define HYP_READ_REGISTER 0x00000003 #define HYP_REG_ICH_VTR 0x1 -#define HYP_REG_CNTHCTL 0x2 #define HYP_CLEAN_S2_TLBI 0x00000004 #define HYP_DC_CIVAC 0x00000005 #define HYP_EL2_TLBI 0x00000006 diff --git a/sys/arm64/vmm/io/vtimer.c b/sys/arm64/vmm/io/vtimer.c index 51b21110d42c..ddc9e6e840a5 100644 --- a/sys/arm64/vmm/io/vtimer.c +++ b/sys/arm64/vmm/io/vtimer.c @@ -55,7 +55,6 @@ #define timer_enabled(ctl) \ (!((ctl) & CNTP_CTL_IMASK) && ((ctl) & CNTP_CTL_ENABLE)) -static uint64_t cnthctl_el2_reg; static uint32_t tmr_frq; #define timer_condition_met(ctl) ((ctl) & CNTP_CTL_ISTATUS) @@ -111,9 +110,8 @@ out: } int -vtimer_init(uint64_t cnthctl_el2) +vtimer_init(void) { - cnthctl_el2_reg = cnthctl_el2; /* * The guest *MUST* use the same timer frequency as the host. The * register CNTFRQ_EL0 is accessible to the guest and a different value @@ -129,7 +127,6 @@ vtimer_vminit(struct hyp *hyp) { uint64_t now; - hyp->vtimer.cnthctl_el2 = cnthctl_el2_reg; /* * Configure the Counter-timer Hypervisor Control Register for the VM. diff --git a/sys/arm64/vmm/io/vtimer.h b/sys/arm64/vmm/io/vtimer.h index 71a20344d05e..92ce025968d2 100644 --- a/sys/arm64/vmm/io/vtimer.h +++ b/sys/arm64/vmm/io/vtimer.h @@ -66,7 +66,7 @@ struct vtimer_cpu { uint32_t cntkctl_el1; }; -int vtimer_init(uint64_t cnthctl_el2); +int vtimer_init(void); void vtimer_vminit(struct hyp *); void vtimer_cpuinit(struct hypctx *); void vtimer_cpucleanup(struct hypctx *); diff --git a/sys/arm64/vmm/vmm_arm64.c b/sys/arm64/vmm/vmm_arm64.c index 8e3d8d5220ec..3736e8406712 100644 --- a/sys/arm64/vmm/vmm_arm64.c +++ b/sys/arm64/vmm/vmm_arm64.c @@ -238,7 +238,6 @@ vmmops_modinit(int ipinum) vm_offset_t next_hyp_va; vm_paddr_t vmm_base; uint64_t id_aa64mmfr0_el1, pa_range_bits, pa_range_field; - uint64_t cnthctl_el2; int cpu, i; bool rv __diagused; @@ -444,10 +443,9 @@ vmmops_modinit(int ipinum) vmem_add(el2_mem_alloc, next_hyp_va, HYP_VM_MAX_ADDRESS - next_hyp_va, M_WAITOK); } - cnthctl_el2 = vmm_read_reg(HYP_REG_CNTHCTL); vgic_init(); - vtimer_init(cnthctl_el2); + vtimer_init(); return (0); } diff --git a/sys/arm64/vmm/vmm_hyp.c b/sys/arm64/vmm/vmm_hyp.c index eb066e23363b..7b5968cb4fb4 100644 --- a/sys/arm64/vmm/vmm_hyp.c +++ b/sys/arm64/vmm/vmm_hyp.c @@ -626,8 +626,6 @@ VMM_HYP_FUNC(read_reg)(uint64_t reg) switch (reg) { case HYP_REG_ICH_VTR: return (READ_SPECIALREG(ich_vtr_el2)); - case HYP_REG_CNTHCTL: - return (READ_SPECIALREG(cnthctl_el2)); } return (0); From nobody Tue Jan 13 16:27:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5P4tZVz6NLr1 for ; Tue, 13 Jan 2026 16:27: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 4drF5P0lkwz3Kc5 for ; Tue, 13 Jan 2026 16:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9xw+0XlCYZUfvWQHsS0SFF9kdtDh/xk4BHhY3shZ80Y=; b=NXAB9NMwybRgeodW8LvY3Fh+5odrcgAzpQu6an1zWiKMhgi3K6/zlgJ0SGdh7qdby9h0Tr EXldmJv3S1BnOgH6WGzr1xqbRZg6Fv3yqLuug33+buZnGIEnRen7ploCsTaIlGT4vBQduM fiXCoahyFtZstZ6js/hhTDP3lV4ZBjYEj/+nZDF+RzyMX/aulDBOUZxAJ6UX5KA7N9qaBr wUfTMxhP/ROxPzJs7erTz13WpGoEyPFiQHocLFgKgAlT2P8WT618X1cSAB18OagPvtj+dV 21AYr9NiugUrGuXxbfMvd8kBqpPqnPTv2Xrdc9m784cPK9KR/Xb7mI9Ro2WwWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9xw+0XlCYZUfvWQHsS0SFF9kdtDh/xk4BHhY3shZ80Y=; b=dtykIWE72d7gTTtfUgQcIEFc3lmAIz1r9pMraL6ui1jBV+lNSWSzC/LSCLbkSEAkDD9zjr MZ9gjnL7cgCPtzo2mKjb8lflIjxEAoKTVy8qRfkVXv8j4y6K3XPxFpUsGH+3AysEnRf3W4 jmy6To/jw9k/WlKWt2mrzWi70eNojdrauH2i6fljYg+Q4faOay+gMfawVOIK4IvZff8DEr fTU2R5IAD+uhYYhspZ6lVW/tYt0Sm5pqSza8KbFnGCdFra6aU51rX3+h15Dac2aTz2Sd6m Yx6GbpzCSNpgqqI0MD+gNVdQtCJ13M85UESynEHwHsoHyxo440T4hVR/3RxbtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321641; a=rsa-sha256; cv=none; b=pCrui4uKmwukMrXGNCJV9wIYk7ND+xoWfV0JwYc+O82vtOBQ7MhdqD89i/fFMiedo8VQTR iVaQIu+iMooEj4LCbGqYQRAEfDclX6BwFEwWoG0MQmsk4NjLgFq5/gaSV7UBK0DP0qPE/R HZxUM6w2MK7cBHBnK5pOEC9rkbm/2x1Ga445c9SjWBC7CZJ1wgautG+gI3D16H3FjUPPV2 9L3LRcqXK8Okap9HOUpJpGVQQBpsf2W/MVLqwF9y4+LUzRWLZ1COnYvmKTQHAU2N/rKO6k K1afJpcwvrT6iiRcKoI2Xt1tFhsVezstfEu9vgnvR7lo2OpSYZus4ZfgK/AU4Q== 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 4drF5N73nzz4lr for ; Tue, 13 Jan 2026 16:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27248 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 0aef3b56caad - stable/15 - arm: Use the Self-Synchronized counter registers 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0aef3b56caadc5e5939362cbf4238c719a1433a1 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:20 +0000 Message-Id: <69667268.27248.1e0efef7@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0aef3b56caadc5e5939362cbf4238c719a1433a1 commit 0aef3b56caadc5e5939362cbf4238c719a1433a1 Author: Andrew Turner AuthorDate: 2025-09-22 17:08:47 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm: Use the Self-Synchronized counter registers When FEAT_ECV is implemented on arm64 a Self-Synchronized view of the counter registers are available. These don't need an isb before reading the count as they are not able to be speculatively executed. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51820 (cherry picked from commit 0efa0fe26b9d980b2862bb58f8484f0123cff19f) --- sys/arm/arm/generic_timer.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index c4a1f44a0079..e3ba56a6f6ac 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -231,6 +231,25 @@ get_cntxct(bool physical) return (val); } +#ifdef __aarch64__ +/* + * Read the self-syncronized counter. These cannot be read speculatively so + * don't need an isb before them. + */ +static uint64_t +get_cntxctss(bool physical) +{ + uint64_t val; + + if (physical) + val = READ_SPECIALREG(CNTPCTSS_EL0_REG); + else + val = READ_SPECIALREG(CNTVCTSS_EL0_REG); + + return (val); +} +#endif + static int set_ctrl(uint32_t val, bool physical) { @@ -631,6 +650,7 @@ arm_tmr_attach(device_t dev) pcell_t clock; #endif #ifdef __aarch64__ + uint64_t id_aa64mmfr0_el1; int user_phys; #endif int error; @@ -641,6 +661,11 @@ arm_tmr_attach(device_t dev) return (ENXIO); sc->get_cntxct = &get_cntxct; +#ifdef __aarch64__ + if (get_kernel_reg(ID_AA64MMFR0_EL1, &id_aa64mmfr0_el1) && + ID_AA64MMFR0_ECV_VAL(id_aa64mmfr0_el1) >= ID_AA64MMFR0_ECV_IMPL) + sc->get_cntxct = &get_cntxctss; +#endif #ifdef FDT /* Get the base clock frequency */ node = ofw_bus_get_node(dev); From nobody Tue Jan 13 16:27:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5P0TSXz6NMtD for ; Tue, 13 Jan 2026 16:27: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 4drF5N0mcHz3KV2 for ; Tue, 13 Jan 2026 16:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iULVasV2fNdReZ65fesyRteDzXkbiLZdiVPuizQMC8g=; b=p8VUXGdXKCgNwy8apABCpaF6uyxEe0QDMyeFdLIxOfSQM92vVR3kIAjR3F4NciB2uMM0n+ 0XQP8uS2Gzp1D+leOnVks782PotZM0FOIUDA4NnxaayBEBv0OZX1aMTnywxkwbZQ3Cz8iM 0mpXixm3yT9eJtcKiKZ3vIO/Mdm7XuQAfz2B2HL3dDwlpt7V0JyW3gZ2CTmoDzx5LLJhve CyGHkSB9LzLR09jfDQQuOfRrgjeKTiPXkxBpCKnW7N03wtba53GWgWYRUvFBVtcp/1khot vEw2NjJd5+DG03WdoIkOBb0EW6a5o1BxCdqgVBESL5b1Ov0aljsM1jLo3A+oLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iULVasV2fNdReZ65fesyRteDzXkbiLZdiVPuizQMC8g=; b=fm3ZDm3nBVy1mw+7u8esmMxPULudD1SoaGpaLxBaKkLjrIwdXrZxxMR89xPu065WBJ8ENH V1A7yhscl3njWgsPhp2z4O57VG8GnfvWNHZ8iLTBZWSMX2weylbd8zlMdB6CePgWSzZn/A G9LXgmnkimfo2ubOU6UrVokWZylxAQPtrtwtxiK5K37IWsoNnnLm3J8oIW79lTCJD2dxRG xVpQvyyIkzGSnb8L4cF8CQyYwDP+rtcSIJxJdFtX/NVNMDyY9ryyZ1C/QUAbUVxFGtRGqz RT7HCbkw8jxCT7D2XJlhCGKviBF8uKPS8uuqfEBY8tcI6KGn1P44k6lCsOIBTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321640; a=rsa-sha256; cv=none; b=sZT9SAnmFnU+xKY+0KBAQzdPkLdb0MabytSGZgR1r2K4G+4IJJNlt5Zurz+d/IzNfSmibt wKzB5JHdEMcjDBIFBK2SLg7fy4aNncEw3khUS37GgVY2cTz39H2zFcz/FLFJxcJkoNKoY+ sv4hqfjmPOzvdF6FmYv8+UXH6DHYrT2iF+rpRT5WcGY8lwfVlHj8P+qTrhk5Q0MK9gYamJ trI7FjhtWGRKuJzRVqGlC4QKfhN0NfSJQJMfaXME9C8hS5muksfzDPnghJHCdCAnVSXy4C XcMnDQMzIhurGXexf4bsMFT0oc6T7/9VQxKT87CuUIP8mrJyyVXJ9cqYgna4VQ== 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 4drF5M6h5Nz4lB for ; Tue, 13 Jan 2026 16:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3093c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 93416f1df71a - stable/15 - arm64: Add more counter/timer registers 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 93416f1df71a6c4b7b3949d553edd9f19fd21881 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:19 +0000 Message-Id: <69667267.3093c.11a15cfd@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=93416f1df71a6c4b7b3949d553edd9f19fd21881 commit 93416f1df71a6c4b7b3949d553edd9f19fd21881 Author: Andrew Turner AuthorDate: 2025-09-22 17:08:25 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64: Add more counter/timer registers These will be used to support the Enhanced Counter Virtualization Extensions: FEAT_ECV and FEAT_ECV_POFF. The former adds Self-Synchronized registers, and the latter adds support for an offset for the physical counter. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51819 (cherry picked from commit e38e04a0ba3fdcdc2f3238bf4d962f65fadf527f) --- sys/arm64/include/armreg.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 9d263b4edc09..393d6d89da0c 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -232,6 +232,14 @@ #define CNTP_CTL_IMASK (1 << 1) #define CNTP_CTL_ISTATUS (1 << 2) +/* CNTP_CTL_EL02 - Counter-timer Physical Timer Control register */ +#define CNTP_CTL_EL02_REG MRS_REG_ALT_NAME(CNTP_CTL_EL02) +#define CNTP_CTL_EL02_op0 3 +#define CNTP_CTL_EL02_op1 5 +#define CNTP_CTL_EL02_CRn 14 +#define CNTP_CTL_EL02_CRm 2 +#define CNTP_CTL_EL02_op2 1 + /* CNTP_CVAL_EL0 - Counter-timer Physical Timer CompareValue register */ #define CNTP_CVAL_EL0_op0 3 #define CNTP_CVAL_EL0_op1 3 @@ -239,6 +247,14 @@ #define CNTP_CVAL_EL0_CRm 2 #define CNTP_CVAL_EL0_op2 2 +/* CNTP_CVAL_EL02 - Counter-timer Physical Timer CompareValue register */ +#define CNTP_CVAL_EL02_REG MRS_REG_ALT_NAME(CNTP_CVAL_EL02) +#define CNTP_CVAL_EL02_op0 3 +#define CNTP_CVAL_EL02_op1 5 +#define CNTP_CVAL_EL02_CRn 14 +#define CNTP_CVAL_EL02_CRm 2 +#define CNTP_CVAL_EL02_op2 2 + /* CNTP_TVAL_EL0 - Counter-timer Physical Timer TimerValue register */ #define CNTP_TVAL_EL0_op0 3 #define CNTP_TVAL_EL0_op1 3 @@ -254,6 +270,14 @@ #define CNTPCT_EL0_CRm 0 #define CNTPCT_EL0_op2 1 +/* CNTPCTSS_EL0 - Counter-timer Self-Synchronized Physical Count register */ +#define CNTPCTSS_EL0_REG MRS_REG_ALT_NAME(CNTPCTSS_EL0) +#define CNTPCTSS_EL0_op0 3 +#define CNTPCTSS_EL0_op1 3 +#define CNTPCTSS_EL0_CRn 14 +#define CNTPCTSS_EL0_CRm 0 +#define CNTPCTSS_EL0_op2 5 + /* CNTV_CTL_EL0 - Counter-timer Virtual Timer Control register */ #define CNTV_CTL_EL0_op0 3 #define CNTV_CTL_EL0_op1 3 @@ -282,6 +306,14 @@ #define CNTV_CVAL_EL02_CRm 3 #define CNTV_CVAL_EL02_op2 2 +/* CNTVCTSS_EL0 - Counter-timer Self-Synchronized Virtual Count register */ +#define CNTVCTSS_EL0_REG MRS_REG_ALT_NAME(CNTVCTSS_EL0) +#define CNTVCTSS_EL0_op0 3 +#define CNTVCTSS_EL0_op1 3 +#define CNTVCTSS_EL0_CRn 14 +#define CNTVCTSS_EL0_CRm 0 +#define CNTVCTSS_EL0_op2 6 + /* CONTEXTIDR_EL1 - Context ID register */ #define CONTEXTIDR_EL1_REG MRS_REG_ALT_NAME(CONTEXTIDR_EL1) #define CONTEXTIDR_EL1_op0 3 From nobody Tue Jan 13 16:27:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5Q4Mq5z6NMq0 for ; Tue, 13 Jan 2026 16:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5Q1FcNz3KfK for ; Tue, 13 Jan 2026 16:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ifcm0Bh+E7aUwEwP+x+oZtlODbg2hkh8VyRVPFu1eU=; b=dhOAGQDoHDedExZNVJPW4G8Bhhzs0dszP6n2qvbPuh5CfOru9jrsJhFhIYA7QkxIa6Mr9P W+0fCDwpvK3P2WlSx63QXlZWXisJnxobrDEghw/VcF2M44IcFT6jU3qJRz2lqLExwHOL0D lPldegzdGFbUo5MrvvnwGy7cU5UYRlgUqvJjnXL3yTy6ZNPtPE4VRV6nf5WwGp1VrONON1 jr07eop7Z0FgZZUatKIckxKuvldyerAxRtRpAd5prMHaBB/VhRHO/icdhl8HJCDjdXBbrQ DezWyqwKtiN9/8ObpjQzgrTbnsKQVIWyUD2lRHzMpY3K8eZvEPCbpA4LMoektw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4ifcm0Bh+E7aUwEwP+x+oZtlODbg2hkh8VyRVPFu1eU=; b=fteRBFKDEJBNQJgZvSjsgAZksRnTk+pXRKrNxBT0m0L6iT+AjEn1gNGed1jbuUW8Htu50B FKtY6VSH/yILEEz8T/oNF13NYS6Bu1fXbPjXXVNQqY2tVrBWkCbJbAE6oS2tiIEAIsNUg+ 5vy7yELem0ef7KW8VWq8Fd7NP0GvEXx0M/ZZlm+WumGKapO8Ig4KhbGaxsQLoX9sfo9CgX Uy1kdO6FNRFOYQHo3oEmoPhNS727//pCF8aXnd4RZxjvirB7Gl5t2n75cKMnN0cOiyeAdt tJ7yn1A75QSFdhqCyqZqJHeAG46aiDoay+vSlKVvhO4ESWi4E485ehaqCRyhMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321642; a=rsa-sha256; cv=none; b=bb43+IQpcUx/3oRMawpnlrZHoIQElltego5mieZj4o3/J22GXfK1D2eYpDb3iQOIZ5Lys2 dRhdm7pJ8dGK1fh52aEFeCaIy5gx6y2f3UX5kw7LuURthz1KfBOpb6kR23NDgmmCO35SLN gSxjBidGfv+2mERmeD/QABsZMiFI1sUoVP9HCxMX3k352boipud8NvfgXoZyoVg9z7i9ed FXqrTVmsMemfs5JCd2o9uFm4kIXa2RZ4jmIEGnrfPnfQhPLW4IY0i6VgTW+JVYy7tdpm8h hmN8u9WnExABGF3WOq26atla0v+FWujnkw9GPf0MhBW9F9brC+bYi98dEwF2pQ== 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 4drF5Q0pX7z43x for ; Tue, 13 Jan 2026 16:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30940 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: df5bd8380dbb - stable/15 - arm64/vmm: Use FEAT_ECV_POFF to support a timer 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: df5bd8380dbb9e51086542336c34a91a184aff66 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:22 +0000 Message-Id: <6966726a.30940.30ed39c7@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=df5bd8380dbb9e51086542336c34a91a184aff66 commit df5bd8380dbb9e51086542336c34a91a184aff66 Author: Andrew Turner AuthorDate: 2025-09-22 17:09:54 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 arm64/vmm: Use FEAT_ECV_POFF to support a timer Support guest access to the physical timer when FEAT_ECV_POFF is supported. In this case we can set an offset for the physical timer. We can reuse the virtual timer support to also support the physical timer, with a few more registers needing to be handled when switching to a guest. As it is not clear how this will affect performance when the guest doesn't use it hide enabling it behind a sysctl. It is expected this will be useful when Nested Virtualisation is supported as guests are expected to use the physical timer registers. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51821 (cherry picked from commit fbe076b2c837f396f96d4725a43745e741557df1) --- sys/arm64/vmm/arm64.h | 1 + sys/arm64/vmm/io/vtimer.c | 74 +++++++++++++++++++++++++++++++++++++---------- sys/arm64/vmm/vmm_arm64.c | 5 ++++ sys/arm64/vmm/vmm_hyp.c | 54 +++++++++++++++++++++++++++++----- 4 files changed, 110 insertions(+), 24 deletions(-) diff --git a/sys/arm64/vmm/arm64.h b/sys/arm64/vmm/arm64.h index c0bcbe822ec0..f530dab05331 100644 --- a/sys/arm64/vmm/arm64.h +++ b/sys/arm64/vmm/arm64.h @@ -130,6 +130,7 @@ struct hyp { uint64_t el2_addr; /* The address of this in el2 space */ uint64_t feats; /* Which features are enabled */ #define HYP_FEAT_HCX (0x1ul << 0) +#define HYP_FEAT_ECV_POFF (0x1ul << 1) bool vgic_attached; struct vgic_v3 *vgic; struct hypctx *ctx[]; diff --git a/sys/arm64/vmm/io/vtimer.c b/sys/arm64/vmm/io/vtimer.c index ddc9e6e840a5..da0f0d96c431 100644 --- a/sys/arm64/vmm/io/vtimer.c +++ b/sys/arm64/vmm/io/vtimer.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -59,6 +60,14 @@ static uint32_t tmr_frq; #define timer_condition_met(ctl) ((ctl) & CNTP_CTL_ISTATUS) +SYSCTL_DECL(_hw_vmm); +SYSCTL_NODE(_hw_vmm, OID_AUTO, vtimer, CTLFLAG_RW, NULL, NULL); + +static bool allow_ecv_phys = false; +SYSCTL_BOOL(_hw_vmm_vtimer, OID_AUTO, allow_ecv_phys, CTLFLAG_RW, + &allow_ecv_phys, 0, + "Enable hardware access to the physical timer if FEAT_ECV_POFF is supported"); + static void vtimer_schedule_irq(struct hypctx *hypctx, bool phys); static int @@ -126,7 +135,12 @@ void vtimer_vminit(struct hyp *hyp) { uint64_t now; + bool ecv_poff; + + ecv_poff = false; + if (allow_ecv_phys && (hyp->feats & HYP_FEAT_ECV_POFF) != 0) + ecv_poff = true; /* * Configure the Counter-timer Hypervisor Control Register for the VM. @@ -151,23 +165,41 @@ vtimer_vminit(struct hyp *hyp) * TODO: Don't trap when FEAT_ECV is present */ hyp->vtimer.cnthctl_el2 = - CNTHCTL_E2H_EL0PCTEN_TRAP | CNTHCTL_E2H_EL0VCTEN_NOTRAP | - CNTHCTL_E2H_EL0VTEN_NOTRAP | - CNTHCTL_E2H_EL0PTEN_TRAP | - CNTHCTL_E2H_EL1PCTEN_TRAP | - CNTHCTL_E2H_EL1PTEN_TRAP; + CNTHCTL_E2H_EL0VTEN_NOTRAP; + if (ecv_poff) { + hyp->vtimer.cnthctl_el2 |= + CNTHCTL_E2H_EL0PCTEN_NOTRAP | + CNTHCTL_E2H_EL0PTEN_NOTRAP | + CNTHCTL_E2H_EL1PCTEN_NOTRAP | + CNTHCTL_E2H_EL1PTEN_NOTRAP; + } else { + hyp->vtimer.cnthctl_el2 |= + CNTHCTL_E2H_EL0PCTEN_TRAP | + CNTHCTL_E2H_EL0PTEN_TRAP | + CNTHCTL_E2H_EL1PCTEN_TRAP | + CNTHCTL_E2H_EL1PTEN_TRAP; + } } else { /* * CNTHCTL_EL1PCEN: trap access to CNTP_{CTL, CVAL, TVAL}_EL0 * from EL1 * CNTHCTL_EL1PCTEN: trap access to CNTPCT_EL0 */ - hyp->vtimer.cnthctl_el2 = - CNTHCTL_EL1PCTEN_TRAP | - CNTHCTL_EL1PCEN_TRAP; + if (ecv_poff) { + hyp->vtimer.cnthctl_el2 = + CNTHCTL_EL1PCTEN_NOTRAP | + CNTHCTL_EL1PCEN_NOTRAP; + } else { + hyp->vtimer.cnthctl_el2 = + CNTHCTL_EL1PCTEN_TRAP | + CNTHCTL_EL1PCEN_TRAP; + } } + if (ecv_poff) + hyp->vtimer.cnthctl_el2 |= CNTHCTL_ECV_EN; + now = READ_SPECIALREG(cntpct_el0); hyp->vtimer.cntvoff_el2 = now; @@ -233,15 +265,10 @@ vtimer_cleanup(void) { } -void -vtimer_sync_hwstate(struct hypctx *hypctx) +static void +vtime_sync_timer(struct hypctx *hypctx, struct vtimer_timer *timer, + uint64_t cntpct_el0) { - struct vtimer_timer *timer; - uint64_t cntpct_el0; - - timer = &hypctx->vtimer_cpu.virt_timer; - cntpct_el0 = READ_SPECIALREG(cntpct_el0) - - hypctx->hyp->vtimer.cntvoff_el2; if (!timer_enabled(timer->cntx_ctl_el0)) { vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), timer->irqid, false); @@ -255,6 +282,21 @@ vtimer_sync_hwstate(struct hypctx *hypctx) } } +void +vtimer_sync_hwstate(struct hypctx *hypctx) +{ + uint64_t cntpct_el0; + + cntpct_el0 = READ_SPECIALREG(cntpct_el0) - + hypctx->hyp->vtimer.cntvoff_el2; + vtime_sync_timer(hypctx, &hypctx->vtimer_cpu.virt_timer, cntpct_el0); + /* If FEAT_ECV_POFF is in use then we need to sync the physical timer */ + if ((hypctx->hyp->vtimer.cnthctl_el2 & CNTHCTL_ECV_EN) != 0) { + vtime_sync_timer(hypctx, &hypctx->vtimer_cpu.phys_timer, + cntpct_el0); + } +} + static void vtimer_inject_irq_callout_phys(void *context) { diff --git a/sys/arm64/vmm/vmm_arm64.c b/sys/arm64/vmm/vmm_arm64.c index 3736e8406712..c8bb128c26f7 100644 --- a/sys/arm64/vmm/vmm_arm64.c +++ b/sys/arm64/vmm/vmm_arm64.c @@ -523,6 +523,11 @@ vmmops_init(struct vm *vm, pmap_t pmap) hyp->vm = vm; hyp->vgic_attached = false; + if (get_kernel_reg(ID_AA64MMFR0_EL1, &idreg)) { + if (ID_AA64MMFR0_ECV_VAL(idreg) >= ID_AA64MMFR0_ECV_POFF) + hyp->feats |= HYP_FEAT_ECV_POFF; + } + if (get_kernel_reg(ID_AA64MMFR1_EL1, &idreg)) { if (ID_AA64MMFR1_HCX_VAL(idreg) >= ID_AA64MMFR1_HCX_IMPL) hyp->feats |= HYP_FEAT_HCX; diff --git a/sys/arm64/vmm/vmm_hyp.c b/sys/arm64/vmm/vmm_hyp.c index 7b5968cb4fb4..b8c6d2ab7a9a 100644 --- a/sys/arm64/vmm/vmm_hyp.c +++ b/sys/arm64/vmm/vmm_hyp.c @@ -42,11 +42,11 @@ struct hypctx; uint64_t VMM_HYP_FUNC(do_call_guest)(struct hypctx *); static void -vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest) +vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest, + bool ecv_poff) { uint64_t dfr0; - /* Store the guest VFP registers */ if (guest) { /* Store the timer registers */ hypctx->vtimer_cpu.cntkctl_el1 = @@ -55,7 +55,20 @@ vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest) READ_SPECIALREG(EL0_REG(CNTV_CVAL)); hypctx->vtimer_cpu.virt_timer.cntx_ctl_el0 = READ_SPECIALREG(EL0_REG(CNTV_CTL)); + } + if (guest_or_nonvhe(guest) && ecv_poff) { + /* + * If we have ECV then the guest could modify these registers. + * If VHE is enabled then the kernel will see a different view + * of the registers, so doesn't need to handle them. + */ + hypctx->vtimer_cpu.phys_timer.cntx_cval_el0 = + READ_SPECIALREG(EL0_REG(CNTP_CVAL)); + hypctx->vtimer_cpu.phys_timer.cntx_ctl_el0 = + READ_SPECIALREG(EL0_REG(CNTP_CTL)); + } + if (guest) { /* Store the GICv3 registers */ hypctx->vgic_v3_regs.ich_eisr_el2 = READ_SPECIALREG(ich_eisr_el2); @@ -267,7 +280,8 @@ vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest) } static void -vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest) +vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest, + bool ecv_poff) { uint64_t dfr0; @@ -451,6 +465,29 @@ vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest) WRITE_SPECIALREG(cnthctl_el2, hyp->vtimer.cnthctl_el2); WRITE_SPECIALREG(cntvoff_el2, hyp->vtimer.cntvoff_el2); + if (ecv_poff) { + /* + * Load the same offset as the virtual timer + * to keep in sync. + */ + WRITE_SPECIALREG(CNTPOFF_EL2_REG, + hyp->vtimer.cntvoff_el2); + isb(); + } + } + if (guest_or_nonvhe(guest) && ecv_poff) { + /* + * If we have ECV then the guest could modify these registers. + * If VHE is enabled then the kernel will see a different view + * of the registers, so doesn't need to handle them. + */ + WRITE_SPECIALREG(EL0_REG(CNTP_CVAL), + hypctx->vtimer_cpu.phys_timer.cntx_cval_el0); + WRITE_SPECIALREG(EL0_REG(CNTP_CTL), + hypctx->vtimer_cpu.phys_timer.cntx_ctl_el0); + } + + if (guest) { /* Load the GICv3 registers */ WRITE_SPECIALREG(ich_hcr_el2, hypctx->vgic_v3_regs.ich_hcr_el2); WRITE_SPECIALREG(ich_vmcr_el2, @@ -508,9 +545,10 @@ vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) #endif uint64_t ret; uint64_t s1e1r, hpfar_el2; - bool hpfar_valid; + bool ecv_poff, hpfar_valid; - vmm_hyp_reg_store(&host_hypctx, NULL, false); + ecv_poff = (hyp->vtimer.cnthctl_el2 & CNTHCTL_ECV_EN) != 0; + vmm_hyp_reg_store(&host_hypctx, NULL, false, ecv_poff); #ifndef VMM_VHE if ((hyp->feats & HYP_FEAT_HCX) != 0) hcrx_el2 = READ_SPECIALREG(MRS_REG_ALT_NAME(HCRX_EL2)); @@ -524,7 +562,7 @@ vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) ich_hcr_el2 = READ_SPECIALREG(ich_hcr_el2); ich_vmcr_el2 = READ_SPECIALREG(ich_vmcr_el2); - vmm_hyp_reg_restore(hypctx, hyp, true); + vmm_hyp_reg_restore(hypctx, hyp, true, ecv_poff); /* Load the common hypervisor registers */ WRITE_SPECIALREG(vttbr_el2, hyp->vttbr_el2); @@ -540,7 +578,7 @@ vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) /* Store the exit info */ hypctx->exit_info.far_el2 = READ_SPECIALREG(far_el2); - vmm_hyp_reg_store(hypctx, hyp, true); + vmm_hyp_reg_store(hypctx, hyp, true, ecv_poff); hpfar_valid = true; if (ret == EXCP_TYPE_EL1_SYNC) { @@ -590,7 +628,7 @@ vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) } } - vmm_hyp_reg_restore(&host_hypctx, NULL, false); + vmm_hyp_reg_restore(&host_hypctx, NULL, false, ecv_poff); #ifndef VMM_VHE if ((hyp->feats & HYP_FEAT_HCX) != 0) From nobody Tue Jan 13 16:27:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5T0fKHz6NMwg for ; Tue, 13 Jan 2026 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5S3d2kz3KZZ for ; Tue, 13 Jan 2026 16:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yJKdakxRAJuOXtVE7bpdv0zBHAhhGW2XZJI5EhrDf18=; b=K6KVGYZENGIgHno4CRkEdw0X1eHd7kP1vOiAGDRkPIA95z2p70ndu9HyYxNVTmC7ef1byp fg2r00fPIYIz/svOWkHYQ2ooBWoYh6sW0IE/5EBy8oeT2Uy/jBJ7i8PpGDtS/ognRalFbt vd+YZq5X/KhN8cGKlBsEboZCamjXqak+kqde1ansyyiJFQ06/n7KPsdNH13F7YDshfr40Q pdN7p446c2up3ZvACHJ438z+ivVHG8ltrCSVq6jnKY/m4YUFrDp5Y1Tdi6X/VorohmKTQY W6gwt2wy+0eaGEh2HO7Vb4leMW2i6bBZcGfIdHm+bertkc6egSjElXtskz5rrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yJKdakxRAJuOXtVE7bpdv0zBHAhhGW2XZJI5EhrDf18=; b=CHB3I7w/8QQF4T5361foRghMU5kAhn9H6bSXnpLxlB0SKQH9v+7N03qspE2Nn/stn1sJRe MYQYi5r9/ovHm+EHopm90qLWhjEyUp/JgiXCG2DS+msb3gTtIGYfPaCqnRNrTeLl1MpwF3 eukhdA3GQb1f8Zn702RYsQP1SyYBY8dmGIvSTzwSbF5jXonmSEZ5gZ2QldxIoz2pI5rHyY 81MoZXaYtttr4AjAjL7lLdyViV6+t7diKDbdM7R1poQ2G/wofwqsJle3SVaLVmt8UWu6Oe w0ASmnB8P+AYvjACmNDjnFTpYGBtx9Ud00B00VuBPFccD8/y2Rl34DANKt3YEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321644; a=rsa-sha256; cv=none; b=SOl90AvRxTtExDsugGH/FjG1dqdMqcgadQeKRE2j7ioWv+js/BSlQRP8u8/MFqkChyWwSr OfTxHLIEv6lZ0veat40/VhfCjXr2Wte/rVzmBskiUUr0ueIFuvVEMBD19Vz3a0lEbP6ydL VumB3EYoEn8azUYU3N2+QEYVJgIG4tl8DLgRbjwv+R1oPATNxuwD8uQVnlRhMGa6aROSD7 j3sobDsPltAX6kTmiiQrdZG9OI0NgzsWbR4ggH1JIj3H0tqcBlRhJC0S8ancAtQHM+xmyx vA9POpBs52/HaLe5ywFXgczrD+NsCT7buHo4eOKOM5v4paMZBImu5IIZzdxYVw== 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 4drF5S2KT0z4lv for ; Tue, 13 Jan 2026 16:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30d12 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 45ceabd2ab61 - stable/15 - arm64: Mark EFI memory as userspace non-executable 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 45ceabd2ab61e0257df90e52c26cdaaa06757736 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:24 +0000 Message-Id: <6966726c.30d12.1cb8cb3f@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=45ceabd2ab61e0257df90e52c26cdaaa06757736 commit 45ceabd2ab61e0257df90e52c26cdaaa06757736 Author: Andrew Turner AuthorDate: 2025-09-26 15:06:42 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64: Mark EFI memory as userspace non-executable FEAT_PAN3 adds the SCTLR_EL1.EPAN field. This tells the hardware to raise a permission abort when userspace could execute a page, i.e. the ATTR_S1_UXN field is clear in the page table. This causes issues for the EFI runtime as we only mark non-executable pages with this flag leading to a permission fault when accessing it. Fix this by marking all EFI mappings with ATTR_S1_UXN. The kernel already had this field set so was already safe. Reported by: tuexen Reviewed by: tuexen Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52750 (cherry picked from commit cee4802d0e2a4f55cecb270f3ab00febe4c220db) --- sys/arm64/arm64/efirt_machdep.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c index 0301eb91c9ef..f814d45f5dd0 100644 --- a/sys/arm64/arm64/efirt_machdep.c +++ b/sys/arm64/arm64/efirt_machdep.c @@ -218,8 +218,9 @@ efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz) p->md_phys, mode, p->md_pages); } - l3_attr = ATTR_AF | pmap_sh_attr | ATTR_S1_IDX(mode) | - ATTR_S1_AP(ATTR_S1_AP_RW) | ATTR_S1_nG | L3_PAGE; + l3_attr = ATTR_S1_UXN | ATTR_AF | pmap_sh_attr | + ATTR_S1_IDX(mode) | ATTR_S1_AP(ATTR_S1_AP_RW) | + ATTR_S1_nG | L3_PAGE; if (mode == VM_MEMATTR_DEVICE || p->md_attr & EFI_MD_ATTR_XP) l3_attr |= ATTR_S1_XN; From nobody Tue Jan 13 16:27:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5T6G5Nz6NMRC for ; Tue, 13 Jan 2026 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5T3zCSz3Kg1 for ; Tue, 13 Jan 2026 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JanbJTKRrCZnhf7//4llnwLP9QwoCQ/pPyzOyyAmug=; b=mDBFKo+9Oh+6ARGjWyIVn/WjIfyrL5wwQxhX4vjzjwihUgQqP/WyvwZh2CZdQPfJg3U8aS DndYp/ZLFki5kFFEOUUryQSSo29qqCWQjHwr1vSlhvFnjYW2IIz0Wy+8OrO9c1upG1iNVf FltYVSF2ihZT9H5+BVVdP+6ENow6zdM8UcehlUQ/NOYcWI/CYeDa/ldDRis3RyyBpu7uLm VQWsmC5ANfaEzzheM0013Gy63/DGnTm16A+AbZXqIyBRWncppQu1zTJv7u6VIjwzAJSpSB 99cMlibC7uy7LDPhaGrxZi3RH2QafWhguqguLWLy99r+rBt42Y9bk1KL2mOA6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JanbJTKRrCZnhf7//4llnwLP9QwoCQ/pPyzOyyAmug=; b=qwSMoytK6lE9cAMQT2iMmO9khLHCXTlkO7tpCODTl1v4ZV6TPngPJWwckndSMjeRxgxnoJ S63O0B4UUFXCBewzgx5IoleXBXhVzqDclffd4/dOjvu/T9pWT2BDcLeV98RgeDQhPWGvjf 4FX0C+vjDPe8RXAvQ0Wz93m2n8B96OHy1O5TP9NbpeBHOdt8VouG5JPdrSx3xR5d29KS9v UyTwBsI5dNAFkX0E3plrsb1upVfCbWQ+CklXhxQowg4gWdELQX35ea76ywIvRqxaLGvfVd lB4/JVFvWqZ10XzEXkUd+AvmSeKoil8Jq8N2iXP89i0msWo+uy6hSn8JXBMy5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321645; a=rsa-sha256; cv=none; b=Ofx5NGftFjWjgZjfKkVNqCG1LejBjuAERCgj5Xl5HYI1YLsBJEaSd5YhxDkQj62u0CeO5P X/tEYKwTKtgYvJpRscKYuxWe6BFEtIfRWiXI99+AgSUXh4XHzutUakR9rAxsW2sLniSiOF v/ruG1dqv1xa2TVU2yF51JIi8NPFTrfM9Jte9jXIu4Xo3kOE2xyEMQ0nRnsl8cJi85ggxg 20/2zf81UkVZT1lydm/apqWYFSDwEulcajPdEa1TdPNXuv7qCwvjnFxeaTgVdGpQDoARpv 8TOdTlX9BfN0jFRF91Fre7GNhMeMSCPGnknLBX4PcVe9+LqTEKEdonIWAkIWbw== 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 4drF5T2qchz4P7 for ; Tue, 13 Jan 2026 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31309 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: f7a1a16225a2 - stable/15 - arm64: Add table attributes to the EFI maps 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f7a1a16225a268ed787f5d7d6e8a00c569beab32 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:25 +0000 Message-Id: <6966726d.31309.3a0de7e6@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f7a1a16225a268ed787f5d7d6e8a00c569beab32 commit f7a1a16225a268ed787f5d7d6e8a00c569beab32 Author: Andrew Turner AuthorDate: 2025-09-26 15:06:58 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64: Add table attributes to the EFI maps Use table attributes to also limit unprivileged access to the EFI runtime mappings. This is mostly for parity with pmap as this is never mapped while userspace could execute. Reviewed by: tuexen Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52751 (cherry picked from commit 2554148bd85b172afcc1431df3272f920c82ebce) --- sys/arm64/arm64/efirt_machdep.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c index f814d45f5dd0..bde0d4f784dc 100644 --- a/sys/arm64/arm64/efirt_machdep.c +++ b/sys/arm64/arm64/efirt_machdep.c @@ -106,7 +106,8 @@ efi_1t1_l3(vm_offset_t va) if (*l0 == 0) { m = efi_1t1_page(); mphys = VM_PAGE_TO_PHYS(m); - *l0 = PHYS_TO_PTE(mphys) | L0_TABLE; + *l0 = PHYS_TO_PTE(mphys) | TATTR_UXN_TABLE | + TATTR_AP_TABLE_NO_EL0 | L0_TABLE; } else { mphys = PTE_TO_PHYS(*l0); } @@ -117,7 +118,8 @@ efi_1t1_l3(vm_offset_t va) if (*l1 == 0) { m = efi_1t1_page(); mphys = VM_PAGE_TO_PHYS(m); - *l1 = PHYS_TO_PTE(mphys) | L1_TABLE; + *l1 = PHYS_TO_PTE(mphys) | TATTR_UXN_TABLE | + TATTR_AP_TABLE_NO_EL0 | L1_TABLE; } else { mphys = PTE_TO_PHYS(*l1); } @@ -128,7 +130,8 @@ efi_1t1_l3(vm_offset_t va) if (*l2 == 0) { m = efi_1t1_page(); mphys = VM_PAGE_TO_PHYS(m); - *l2 = PHYS_TO_PTE(mphys) | L2_TABLE; + *l2 = PHYS_TO_PTE(mphys) | TATTR_UXN_TABLE | + TATTR_AP_TABLE_NO_EL0 | L2_TABLE; } else { mphys = PTE_TO_PHYS(*l2); } From nobody Tue Jan 13 16:27:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5V739fz6NLrB for ; Tue, 13 Jan 2026 16:27: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 4drF5V4vgFz3KXr for ; Tue, 13 Jan 2026 16:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321646; h=from:from:reply-to:subject:subject: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=uJeMIavIAQcnqErxMG/lcBjT4TEhWMbT3qdyinbivT4=; b=qcf5LlJCTaOFTmJmIPDADm5qtwvUMRvwXQIVymzNiDRVGcpQqAcOZqD0WsBlSJiOIdXc8v B+xF1HJxmnCUYcVtefraDI8mowGreHbptPTlifYWy1pe1EuEscl3Tjq17vYAyxVWc2sfZa qyl+ixHkjAZe0fBTMZxd4116io2IMFBKV4t0JtLHXonZZSwva2RVb4SJGiOWhGBin+1fy+ HOzPobndzVuDebloraAgTKu1WSeWmoBt720wetmVYONhgwzn4P+G7J/7KHr2i2v48Ado9L R+im96rg+SfhmQNlzKFWlbUXKxN0XsYJqPx0ui1FwzJ7eAUliC/Zlvj2twCkhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321646; h=from:from:reply-to:subject:subject: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=uJeMIavIAQcnqErxMG/lcBjT4TEhWMbT3qdyinbivT4=; b=HgyTlstnQVxWrzYanYkj2BE9BDEXJUX5yxP6k9ptGI2CnG5gyuEJFWhTTZRe/aRKy15y8Z UfOelfC2mNp0IXYotkW7WELMmg133a3WaveykaePgVGfSr6JITP5tBJrnYRj7YP9KTNW6H 8VkmcAKPItNgUbYPUB0GEuPucUNIyGCXJNalWGulpEPnp3+wjBq3xjCktBh3Yver1QROVJ pAcxzbFeZksaIPKNcYwBf21DRmYb4ho8r95HH2HTHv1+p9aYrbwuk69wKUsG/4n1qL2dk5 1IdIv7bwmHSWz8S/QyxEax9JdiSKojbu2K1AoM9O3cUguSffcCMe3eVfPTkzxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321646; a=rsa-sha256; cv=none; b=H6D/wOZcbEaTNAiwXrQyZV3RlOsU/gikpLbuHQaBJYxikmHQcxJhYpbIYdeetA7ar09IeD 8WqRvq8+zPYxB7eq4d7e4cZ6MhPBwewqbpKWT6FN6AtGf0s/pM9kd7D1GMWjL0XhypTWWK 8TesJui21T2Xi7c17FxfMMSzlUW2CfYern5nV8SIx1Pnk1h1VfEr/1aTboU5ld43xRBt/i h6UxZBEqwWMKRbEeN6UeXR8CHTVDRmpddlMDn753tGqLKkYuAlnfHU9L51orkTOdjw/hvy HwUCieVITFmZRf07469+Ut18gr6JVX2vca3Z/PwqLLCyxcO9cQit1ilv51WkYg== 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 4drF5V3nlCz440 for ; Tue, 13 Jan 2026 16:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30605 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 78e35c352f2e - stable/15 - arm64: Move BP hardening and SSBD workaround to CPU_FEAT framework 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 78e35c352f2e81228b03f24afbfc7d9df26db968 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:26 +0000 Message-Id: <6966726e.30605.20272177@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=78e35c352f2e81228b03f24afbfc7d9df26db968 commit 78e35c352f2e81228b03f24afbfc7d9df26db968 Author: Sarah Walker AuthorDate: 2025-10-16 16:11:51 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64: Move BP hardening and SSBD workaround to CPU_FEAT framework Port the BP hardening and SSBD workaround from cpu_quirks to the CPU_FEAT framework. Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53112 (cherry picked from commit d970d0246fdd70f65db7226104071330c83e27bd) --- sys/arm64/arm64/cpu_errata.c | 96 ---------------------- sys/arm64/arm64/spec_workaround.c | 166 ++++++++++++++++++++++++++++++++++++++ sys/conf/files.arm64 | 1 + 3 files changed, 167 insertions(+), 96 deletions(-) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index 989924bc0567..b876703a2a15 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -52,54 +52,9 @@ struct cpu_quirks { u_int flags; }; -static enum { - SSBD_FORCE_ON, - SSBD_FORCE_OFF, - SSBD_KERNEL, -} ssbd_method = SSBD_KERNEL; - -static cpu_quirk_install install_psci_bp_hardening; -static cpu_quirk_install install_ssbd_workaround; static cpu_quirk_install install_thunderx_bcast_tlbi_workaround; static struct cpu_quirks cpu_quirks[] = { - { - .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, - .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0), - .quirk_install = install_psci_bp_hardening, - .flags = CPU_QUIRK_POST_DEVICE, - }, - { - .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, - .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0), - .quirk_install = install_psci_bp_hardening, - .flags = CPU_QUIRK_POST_DEVICE, - }, - { - .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, - .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0), - .quirk_install = install_psci_bp_hardening, - .flags = CPU_QUIRK_POST_DEVICE, - }, - { - .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, - .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0), - .quirk_install = install_psci_bp_hardening, - .flags = CPU_QUIRK_POST_DEVICE, - }, - { - .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, - .midr_value = - CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0), - .quirk_install = install_psci_bp_hardening, - .flags = CPU_QUIRK_POST_DEVICE, - }, - { - .midr_mask = 0, - .midr_value = 0, - .quirk_install = install_ssbd_workaround, - .flags = CPU_QUIRK_POST_DEVICE, - }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = @@ -114,57 +69,6 @@ static struct cpu_quirks cpu_quirks[] = { }, }; -static void -install_psci_bp_hardening(void) -{ - /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ - if (!psci_present) - return; - - if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) != SMCCC_RET_SUCCESS) - return; - - PCPU_SET(bp_harden, smccc_arch_workaround_1); -} - -static void -install_ssbd_workaround(void) -{ - char *env; - - if (PCPU_GET(cpuid) == 0) { - env = kern_getenv("kern.cfg.ssbd"); - if (env != NULL) { - if (strcmp(env, "force-on") == 0) { - ssbd_method = SSBD_FORCE_ON; - } else if (strcmp(env, "force-off") == 0) { - ssbd_method = SSBD_FORCE_OFF; - } - } - } - - /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ - if (!psci_present) - return; - - /* Enable the workaround on this CPU if it's enabled in the firmware */ - if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS) - return; - - switch(ssbd_method) { - case SSBD_FORCE_ON: - smccc_arch_workaround_2(1); - break; - case SSBD_FORCE_OFF: - smccc_arch_workaround_2(0); - break; - case SSBD_KERNEL: - default: - PCPU_SET(ssbd, smccc_arch_workaround_2); - break; - } -} - /* * Workaround Cavium erratum 27456. * diff --git a/sys/arm64/arm64/spec_workaround.c b/sys/arm64/arm64/spec_workaround.c new file mode 100644 index 000000000000..7f4f86cdb48c --- /dev/null +++ b/sys/arm64/arm64/spec_workaround.c @@ -0,0 +1,166 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 Arm Ltd + * Copyright (c) 2018 Andrew Turner + * + * This software was developed by SRI International and the University of + * Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237 + * ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include +#include + +#include +#include + +static enum { + SSBD_FORCE_ON, + SSBD_FORCE_OFF, + SSBD_KERNEL, +} ssbd_method = SSBD_KERNEL; + +struct psci_bp_hardening_impl { + u_int midr_mask; + u_int midr_value; +}; + +static struct psci_bp_hardening_impl psci_bp_hardening_impl[] = { + { + .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, + .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0), + }, + { + .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, + .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0), + }, + { + .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, + .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0), + }, + { + .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, + .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0), + }, + { + .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, + .midr_value = + CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0), + } +}; + +static cpu_feat_en +psci_bp_hardening_check(const struct cpu_feat *feat __unused, u_int midr) +{ + size_t i; + + for (i = 0; i < nitems(psci_bp_hardening_impl); i++) { + if ((midr & psci_bp_hardening_impl[i].midr_mask) == + psci_bp_hardening_impl[i].midr_value) { + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return (FEAT_ALWAYS_DISABLE); + + if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) != + SMCCC_RET_SUCCESS) + return (FEAT_ALWAYS_DISABLE); + + return (FEAT_DEFAULT_ENABLE); + } + } + + return (FEAT_ALWAYS_DISABLE); +} + +static bool +psci_bp_hardening_enable(const struct cpu_feat *feat __unused, + cpu_feat_errata errata_status __unused, u_int *errata_list __unused, + u_int errata_count __unused) +{ + PCPU_SET(bp_harden, smccc_arch_workaround_1); + + return (true); +} + +CPU_FEAT(feat_csv2_missing, "Branch Predictor Hardening", + psci_bp_hardening_check, NULL, psci_bp_hardening_enable, NULL, + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); + +static cpu_feat_en +ssbd_workaround_check(const struct cpu_feat *feat __unused, u_int midr __unused) +{ + char *env; + + if (PCPU_GET(cpuid) == 0) { + env = kern_getenv("kern.cfg.ssbd"); + if (env != NULL) { + if (strcmp(env, "force-on") == 0) { + ssbd_method = SSBD_FORCE_ON; + } else if (strcmp(env, "force-off") == 0) { + ssbd_method = SSBD_FORCE_OFF; + } + } + } + + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return (FEAT_ALWAYS_DISABLE); + + /* Enable the workaround on this CPU if it's enabled in the firmware */ + if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS) + return (FEAT_ALWAYS_DISABLE); + + return (FEAT_DEFAULT_ENABLE); +} + +static bool +ssbd_workaround_enable(const struct cpu_feat *feat __unused, + cpu_feat_errata errata_status __unused, u_int *errata_list __unused, + u_int errata_count __unused) +{ + switch(ssbd_method) { + case SSBD_FORCE_ON: + smccc_arch_workaround_2(1); + break; + case SSBD_FORCE_OFF: + smccc_arch_workaround_2(0); + break; + case SSBD_KERNEL: + default: + PCPU_SET(ssbd, smccc_arch_workaround_2); + break; + } + + return (true); +} + +CPU_FEAT(feat_ssbs_missing, "Speculator Store Bypass Disable Workaround", + ssbd_workaround_check, NULL, ssbd_workaround_enable, NULL, + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 856ea3af1372..2f412fa3cb1b 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -73,6 +73,7 @@ arm64/arm64/pmap.c standard arm64/arm64/ptrace_machdep.c standard arm64/arm64/sdt_machdep.c optional kdtrace_hooks arm64/arm64/sigtramp.S standard +arm64/arm64/spec_workaround.c standard arm64/arm64/stack_machdep.c optional ddb | stack arm64/arm64/strcmp.S standard arm64/arm64/strncmp.S standard From nobody Tue Jan 13 16:27:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5X0WF3z6NMRN for ; Tue, 13 Jan 2026 16:27: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 4drF5W4qTGz3Ktf for ; Tue, 13 Jan 2026 16:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vQ4txAuqxQr0q7NBS1oS/nt+yQTyqQhO+6JWhfQfhFQ=; b=wQNnfo5boa9/rnGH8QPbQXzLkkrlMzGH8DKnjRZ81EsyRsbrrgNJJLdBcb5YnTZzSrSJ84 yAi0e4XDKnV/vS8Rr0bDFNbpakJMK+Igt7IAR/mhZp2i3NMMhQyayLzcO9nOEU6ibkA7kH 8Mvt3omaAoNKpeV6j39YLTripseXRJGfBMEJgwIhQRoirXFUeUp2fCNA/0e3CVyu4sQ43f ro+VI1Ah30hSCECcoaHvXp85lZSQIc+Hp0KYDcF7tAz6HF8EfQHbXcZhUGTs0fwFg8VScj wcuxxU95z69c54tVex/IAkCqwGYt5bb5unTPMWddaVdp9m9+TW1QikE3jl87tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vQ4txAuqxQr0q7NBS1oS/nt+yQTyqQhO+6JWhfQfhFQ=; b=GvjLyjvjdl1GshfabzcJ0MKtshQl1nRZxTLVfLNTp7ZrDw3z6Q+fk9/y2GFU9XALe6LpYL BdcBttnDWkuYyDkORKQxqoA7ikGS1mTL4hFHGaAmPlhk/tnXXRX7XwxERwXs4+bAXTKFD1 9Nk+hznh9mPnyh6jDKitF4KsuFnW4t29TN7q2p/ZN/WIEpsoxFv7gkLw7K0Qh5JHBzbizT uHJWFfVENv15PzjvWqFZ8ut69ugh1GTmA/mvUnesQueBUy/PwYrcyLmsvy2NNPY0e4Lpx3 1ihcwb+MV2inlgRcvgEBhIlZxrxwmP62QQm+LagmGdiiwnZaw3uNouDkduOEww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321647; a=rsa-sha256; cv=none; b=GKXAld15Xz2lnbFwGYNqkfG1vLDNsMeb7/jOTpuTfDpQofPJoU9t9Q+IlvcGnehP/BsenW kdYve+/IyFWKK9mw3jGpuoRYRu01r1XHjWAuyFfu7M0U4EZElP6SMsECXRdazKiO465pI/ ImWyCAuYhmq9oZFPAoR+zMf8woS/fL/jBoaO8IkXlu3K6Yv+IBSTaTCS6TZm3uLHfxI19i /qPeDtbl3w7EJkg6Nmkyb1D2ELNoF+6E4q6IWaQ7Wd+3OUITFzAdEcfOq7C0Yf7pLOR8LD 2zQfkdq8jFi1j1qSk4umUtdmY/oauwFUG3TBJP2OBYUSaVC1aAaCcmLtYKzLKg== 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 4drF5W4L2lz484 for ; Tue, 13 Jan 2026 16:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30511 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 6094ce4011f8 - stable/15 - pci/n1sdp: Disable HotPlug 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6094ce4011f83d606393c1a340ab29921a625c7e Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:27 +0000 Message-Id: <6966726f.30511.70acd49d@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6094ce4011f83d606393c1a340ab29921a625c7e commit 6094ce4011f83d606393c1a340ab29921a625c7e Author: Andrew Turner AuthorDate: 2025-10-17 15:02:19 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 pci/n1sdp: Disable HotPlug Work around an issue when HotPlug is enabled where pcib3 and pcib5 continuously report the following: pcib3: HotPlug interrupt: 0x30 pcib3: Command Completed pcib3: HotPlug interrupt: 0x30 pcib3: Command Completed ... As a workaround disable HotPlug on the N1SDP as it's unlikely anyone will depend on it. Reviewed by: br Fixes: 1f5c50a86173 ("pci_host_generic:Add pcib_request_feature on ACPI") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53134 (cherry picked from commit edbbf26e2650e02cd3925dd1deaacf9b8fb2e2a0) --- sys/dev/pci/controller/pci_n1sdp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/dev/pci/controller/pci_n1sdp.c b/sys/dev/pci/controller/pci_n1sdp.c index 487041bc78e4..22f0ea27d45b 100644 --- a/sys/dev/pci/controller/pci_n1sdp.c +++ b/sys/dev/pci/controller/pci_n1sdp.c @@ -345,6 +345,17 @@ n1sdp_pcie_write_config(device_t dev, u_int bus, u_int slot, bus_space_write_4(t, h, offset & ~3, data); } +static int +n1sdp_pcie_acpi_request_feature(device_t pcib __unused, device_t dev __unused, + enum pci_feature feature __unused) +{ + /* + * HotPlug isn't supported on the N1SDP as it causes an interrupt storm + */ + return (EINVAL); +} + + static device_method_t n1sdp_pcie_acpi_methods[] = { DEVMETHOD(device_probe, n1sdp_pcie_acpi_probe), DEVMETHOD(device_attach, n1sdp_pcie_acpi_attach), @@ -352,6 +363,7 @@ static device_method_t n1sdp_pcie_acpi_methods[] = { /* pcib interface */ DEVMETHOD(pcib_read_config, n1sdp_pcie_read_config), DEVMETHOD(pcib_write_config, n1sdp_pcie_write_config), + DEVMETHOD(pcib_request_feature, n1sdp_pcie_acpi_request_feature), DEVMETHOD_END }; From nobody Tue Jan 13 16:27:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5X3rc1z6NMRQ for ; Tue, 13 Jan 2026 16:27: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 4drF5X23xQz3Ktl for ; Tue, 13 Jan 2026 16:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aUf2vcqUSW4ymyeg7LQPItmwJlzdhKB7vFoGg/X1XsI=; b=AqMaXPzio4apOHkwNKZqY5xNk7WeV9/CR9OV8hvbWeyiDi0i2SYpnWki9/2Yf8+7DAxIlw a6cyG1guVgn+HkBrMPicoTyMXV2fFS+Ntaa+zmMhW4jWF8l+RdXgtHPC+ilOQI4/f5/fRd uNxe/PmnLEHufGULlG9IoYTQdeXfiqsWC/FIpPSAJb7YKTaezLXv+LXSruYtjGI54MyQm6 oTJ+XnwgiAPA8bHDRRDQk4rIi1J3+OTs+GSmh5rbHoz6N+gka9hHtSqAI067qAkNQ90Xhk kVEB7PwmUwKv8wjX4ODBv2/bqn1bjsU7jNXbUy74tSqed9jOLwO2/vFo1AKiTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aUf2vcqUSW4ymyeg7LQPItmwJlzdhKB7vFoGg/X1XsI=; b=KSEnZhIDzwgwljcJU5J5EovjzoyXmoMA8LhTevriANobXKVnwquyesYrzv1eol3q05jbDk yC0ljtnlLxEyIRedM+USVu0S7MTzDQvRtaWsccUVQTbEBssm9WVDuFps0Z6O8iP/GuLRS9 rTRKuH+F1q/oWP9qBsfR6uEhjS6K1x/b3ax/TI5Pju6EEfBFZMbibK48qw/UeznHbY+QMm edvWF7THQoMUPFhvH4BHdF2Ekn1rjlluhLFEUEajsMdcMLEFzC6kqCPe8MBAFTMk4mzMnH ONHigTFgQq4iIlsGnvTP+PuyiRDXlklLKApeDAtFy4BU0K16ugOR+WtmCK3dDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321648; a=rsa-sha256; cv=none; b=gflyXAD+MAOWSQb/LA6W8P3bjLXJGzOaNhw8jEhO7rumEsNeI4DZUy0qnxIrMGqennYRbq gbx5cRC8gl2JtWXf/DE0cQCYRXZWEFHlJYvbqBKPHwSshdrqwZanvNQixdmjsSxY5oYRua g++2oCYH0hgoc/5lE5yALZGTGTE3emJXoUC8ZwA6R5QllPEbOafXS6tbgNwODXwwU4XpwL MfjacWCN/AfDtMLWdtwotfy0yAGUuckIXn6wVLq5O8wC5DnLjGwhyQfCKEUobJLutGnqko PBa7fAGpcxzAEOz7KxhR9xJywUUyFLEE7m40eSKudrZYkDFcYDG9vRO/m1DFkw== 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 4drF5R1bcXz3lv for ; Tue, 13 Jan 2026 16:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30cc4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 859b585f4bae - stable/15 - sys/conf: Fix arm64 vmm_nvhe dependencies 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 859b585f4bae779751be664ef415562805ee683c Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:23 +0000 Message-Id: <6966726b.30cc4.8fe690d@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=859b585f4bae779751be664ef415562805ee683c commit 859b585f4bae779751be664ef415562805ee683c Author: Andrew Turner AuthorDate: 2025-09-22 17:10:12 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:18 +0000 sys/conf: Fix arm64 vmm_nvhe dependencies These files include a vmm_hyp equivalent file but don't have a dependency recorded. Fix this by manually adding this dependency. This is only a problem in a non-GENERIC configuration as normally vmm is loaded as vmm.ko. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51822 (cherry picked from commit fe1d344bf416aa921b4bf233668dda7cf4e27444) --- sys/conf/files.arm64 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 45966fea8041..856ea3af1372 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -127,9 +127,11 @@ arm64/vmm/vmm_reset.c optional vmm arm64/vmm/vmm_handlers.c optional vmm arm64/vmm/vmm_call.S optional vmm arm64/vmm/vmm_nvhe_exception.S optional vmm \ + dependency "$S/arm64/vmm/vmm_hyp_exception.S" \ compile-with "${NOSAN_C} -fpie" \ no-obj arm64/vmm/vmm_nvhe.c optional vmm \ + dependency "$S/arm64/vmm/vmm_hyp.c" \ compile-with "${NOSAN_C} -fpie" \ no-obj vmm_hyp_blob.elf.full optional vmm \ From nobody Tue Jan 13 16:27:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5b2czsz6NMrV for ; Tue, 13 Jan 2026 16:27: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 4drF5b01Krz3Kq2 for ; Tue, 13 Jan 2026 16:27:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AHYDJ4rxR+X4uuoZ81FpsMIK4YJwas3NR3cR7eNGW3w=; b=Vucp15Z5KRKAVPhYooVqrFk8Qx18NnmVNUMPRYReNrcMJ/2IFURKzCj2RzDDnhyarhHHK8 kdvpxmZRg5DQtg2d0Eio/HCYwmqq+90yEpgcnaSw40vDlLaMWFTZaCsqb3fibGJLhsnClw UbSCgKhPKWXakNXccOENLACqdN8iwTnfx3pWG3S8mWPxy879CXa5Y04YOVFVOFIHvjXgWJ cSGqTJdkVh4VnE5LQnoxrJ6pdVLBHJufsoGXHS8t1LOkiFNgF4jU1Ad4HaBdwmVlHj3tLX 3uCrUVjcsOAHzOATigDr66XYRhiVfUgn8PF0kdHgq//pDNgbB45a+isODRX1mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321651; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AHYDJ4rxR+X4uuoZ81FpsMIK4YJwas3NR3cR7eNGW3w=; b=dbRvxWqmte5ggfGO9KQLBfxjrU1sWdMLk4/EFpfMJamqplfmsYpB59LqaFl5qf1bPRyxgj wAZKtPHu5/GtOOs/O76m0Q+l2aZDxGh7xHSB9ZAkVY439mciyML+o5Qe07koohQqUy+5x0 lxOxxwuNQhyVehwCAs9OJGKjiRuSJljzFUP8d0+xECGqpPywwmUX1rl1OoKkpHMw9i2yAP 1x/rbGTaTcju7VhGG+DTn1tP5I1v2Kv/LWQO6C79EJ2df0+up24i+np0qEatbYaSu78/El r4fHc/u+ThvJWA1pxcfssbPDvJfApf0oLk/F0X8xfx5HVvrxQKmOOD9lzQud6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321651; a=rsa-sha256; cv=none; b=ve8Md37ZY+UtCiZrfkAwR/Ho8nupFSlvLJ4urPt7xWtIXhjcJEblbIcFMIfKmNVcpwOOun f/xp/sXkMfzAYRJHqkYvTuYLD7H8mbXPHqB3DFyEnfLqh5Z+qpAYFm345Wd09cP5sHBWQl ELJ3s7XsOVWCOqEjhNdknwPgvDqhhsrcjk0IuICs5yF1JGfGfWiBJTy114XtAGg1lGOuFY qGMHYSoIXmS9zblEwZtZsAFzuiIU9TMtuQqO7A/aCfq0JCJ6XhZBNZ2wBQx85fkQz42x2W qZDMNRNA/etzlu7gL7b1LDFS2ZAsPvEpxPImeNKejP7zYyDWp6BXcz9EczVAFQ== 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 4drF5Z6JR7z4lw for ; Tue, 13 Jan 2026 16:27:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3041b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: d23df709f957 - stable/15 - arm64/vmm: Remove armreg.h when not needed 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d23df709f9572d801f6f78b8df936d8371d93009 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:30 +0000 Message-Id: <69667272.3041b.3340e03f@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d23df709f9572d801f6f78b8df936d8371d93009 commit d23df709f9572d801f6f78b8df936d8371d93009 Author: Andrew Turner AuthorDate: 2025-10-27 10:55:10 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64/vmm: Remove armreg.h when not needed Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53321 (cherry picked from commit fddf48eb012c8c7dd640c1fea5c0766f8d85f0c4) --- sys/arm64/vmm/io/vgic_v3.c | 1 - sys/arm64/vmm/io/vtimer.c | 1 - sys/arm64/vmm/vmm.c | 1 - sys/arm64/vmm/vmm_arm64.c | 1 - sys/arm64/vmm/vmm_hyp.c | 1 - sys/arm64/vmm/vmm_reset.c | 1 - 6 files changed, 6 deletions(-) diff --git a/sys/arm64/vmm/io/vgic_v3.c b/sys/arm64/vmm/io/vgic_v3.c index 67afb3374815..023406c64182 100644 --- a/sys/arm64/vmm/io/vgic_v3.c +++ b/sys/arm64/vmm/io/vgic_v3.c @@ -47,7 +47,6 @@ #include -#include #include #include #include diff --git a/sys/arm64/vmm/io/vtimer.c b/sys/arm64/vmm/io/vtimer.c index da0f0d96c431..7c7fbb49e691 100644 --- a/sys/arm64/vmm/io/vtimer.c +++ b/sys/arm64/vmm/io/vtimer.c @@ -44,7 +44,6 @@ #include #include #include -#include #include diff --git a/sys/arm64/vmm/vmm.c b/sys/arm64/vmm/vmm.c index b1133be8fa3d..31d2fb3f516b 100644 --- a/sys/arm64/vmm/vmm.c +++ b/sys/arm64/vmm/vmm.c @@ -50,7 +50,6 @@ #include #include -#include #include #include #include diff --git a/sys/arm64/vmm/vmm_arm64.c b/sys/arm64/vmm/vmm_arm64.c index c8bb128c26f7..aa1361049f49 100644 --- a/sys/arm64/vmm/vmm_arm64.c +++ b/sys/arm64/vmm/vmm_arm64.c @@ -47,7 +47,6 @@ #include #include -#include #include #include #include diff --git a/sys/arm64/vmm/vmm_hyp.c b/sys/arm64/vmm/vmm_hyp.c index b8c6d2ab7a9a..0ad7930e9a87 100644 --- a/sys/arm64/vmm/vmm_hyp.c +++ b/sys/arm64/vmm/vmm_hyp.c @@ -32,7 +32,6 @@ #include #include -#include #include "arm64.h" #include "hyp.h" diff --git a/sys/arm64/vmm/vmm_reset.c b/sys/arm64/vmm/vmm_reset.c index 1240c3ed16ec..0e4910ea87b4 100644 --- a/sys/arm64/vmm/vmm_reset.c +++ b/sys/arm64/vmm/vmm_reset.c @@ -31,7 +31,6 @@ #include #include -#include #include #include From nobody Tue Jan 13 16:27:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5Z2Mxpz6NMXY for ; Tue, 13 Jan 2026 16:27: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 4drF5Y6Lzyz3Kgv for ; Tue, 13 Jan 2026 16:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321649; h=from:from:reply-to:subject:subject: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=RUQbj21X04ODDg38lgY0aPdyhUVCgT5WZRMjd3SZ+d8=; b=ap72c9LwzioKHjPz2d0pi7oRoNzErMwLliiujzidiDClHpFAWUhPvjImvWVZamXZj9oyMw uDwlpUo0XIF5/OGsf6fHCejft/2623IvYgmhN1qsi4Y7DGQAkpeZwmIogUS0MTuHXnnEgo Qv0D3TT0JHeuXB/pnpv3rx3snWAo0e1/BmWH+R4OICLbisBRNzwHADPtCQNlaU0r+PImOW AfdNlnWGIgPb137jOTLUFKvNUYIgyyeyxuZDPoSvdWUT/ZVnVVdxVjh2uucuWesHDUPptY LLG/D2uBTWOoFQ6LrHXWVvrB4o+sUmo5zCvg+zxTAFD43aysJX3ER9dSVY+yzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321649; h=from:from:reply-to:subject:subject: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=RUQbj21X04ODDg38lgY0aPdyhUVCgT5WZRMjd3SZ+d8=; b=ivU4Qx9+zZzlaR1qeXfBQiiiHJSURe4KrIaOT56/SK5EPfUOAGkeMZmCrpu+ZIRjJQBnsV czi3YXFsa+rt29CV0OyVPgdwCpKOBsHnO/6tpIYa33K1T7qPLBwPRAxWc7r7DOAwJo5258 0LEZ8oKJ2XcvIfn3R/AO901GgzNapk1wYpU0vfQgh8i6UbKPeYQ7vVRl0DxkLsy2XgBWiR z52AxBFloaJkP9IKCIuLPunjvHpywThQgKzOndtWdKrfZ/1c9CYEKZF/j6qJXN9Oy9BRbF 4LK7A+Ilpk8LQqvvqrA/9gWPA6M2cVbHoCyM8DvVMll/YuT8ZZX+7bRubOQ7Ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321649; a=rsa-sha256; cv=none; b=u310GwDQfVx6SEVGEJPOJBiBA6K+ZGkCGdjRjN2iAlzwoc3pSlUfwS9b9gcOPctqOvjUnt oaytVzCviaz8LuH0iO3t4Skr0+yJJBVDWovHzncYIU7M8bsyAc1BvZvsYYD8SJGsmSGcdV EDa1/qWN8EVSnXP365N5uFigmkAzdQ3aHw66b7OA2JfaYAoqKQdtO0vJJR2gqGjssCCb+T 9IxVfFojZI3I/e/VcSFLjNR2Zi71H5UO1P8Lt0LWZB3m4qhtzSuuMpLRlMdgb7m4JAzAyO fzIacz60xUu5xFuF6XT0jyxjc7QVtIAtTiu2Js2OVd1MdoI/Qwd+4schB5nxnw== 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 4drF5Y5fydz4p2 for ; Tue, 13 Jan 2026 16:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30944 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: a90391c1e078 - stable/15 - arm64: Add additional fields for PMBSR and PMSIDR 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: a90391c1e078b34e0a247b7fd09b506b0758de38 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:29 +0000 Message-Id: <69667271.30944.460939a1@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a90391c1e078b34e0a247b7fd09b506b0758de38 commit a90391c1e078b34e0a247b7fd09b506b0758de38 Author: Sarah Walker AuthorDate: 2025-10-23 10:39:33 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64: Add additional fields for PMBSR and PMSIDR Reviewed by: andrew Sponsored by: Arm Ltd (cherry picked from commit f4f638eb23d770e19ede167908d8145b8851f835) --- sys/arm64/include/armreg.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 393d6d89da0c..aca3d4c07450 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2278,6 +2278,11 @@ #define PMBSR_DL (UL(0x1) << PMBSR_DL_SHIFT) #define PMBSR_EC_SHIFT 26 #define PMBSR_EC_MASK (UL(0x3f) << PMBSR_EC_SHIFT) +#define PMBSR_EC_VAL(x) (((x) & PMBSR_EC_MASK) >> PMBSR_EC_SHIFT) +#define PMBSR_EC_OTHER_BUF_MGMT 0x00 +#define PMBSR_EC_GRAN_PROT_CHK 0x1e +#define PMBSR_EC_STAGE1_DA 0x24 +#define PMBSR_EC_STAGE2_DA 0x25 /* PMCCFILTR_EL0 */ #define PMCCFILTR_EL0_op0 3 @@ -2513,6 +2518,15 @@ #define PMSIDR_FnE (UL(0x1) << PMSIDR_FnE_SHIFT) #define PMSIDR_Interval_SHIFT 8 #define PMSIDR_Interval_MASK (UL(0xf) << PMSIDR_Interval_SHIFT) +#define PMSIDR_Interval_VAL(x) (((x) & PMSIDR_Interval_MASK) >> PMSIDR_Interval_SHIFT) +#define PMSIDR_Interval_256 0 +#define PMSIDR_Interval_512 2 +#define PMSIDR_Interval_768 3 +#define PMSIDR_Interval_1024 4 +#define PMSIDR_Interval_1536 5 +#define PMSIDR_Interval_2048 6 +#define PMSIDR_Interval_3072 7 +#define PMSIDR_Interval_4096 8 #define PMSIDR_MaxSize_SHIFT 12 #define PMSIDR_MaxSize_MASK (UL(0xf) << PMSIDR_MaxSize_SHIFT) #define PMSIDR_CountSize_SHIFT 16 From nobody Tue Jan 13 16:27:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5c3Ssxz6NLrQ for ; Tue, 13 Jan 2026 16:27: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 4drF5c0Tdjz3KhG for ; Tue, 13 Jan 2026 16:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9HbKuL0As5d6so7yFHu1vLGpZUKaR225uif0MRaLnA=; b=uvL6R+1GOGWK0cgbRmZTX34qY0UY7VrFlFhr4exYDMYMA6KA6A+W3FehVliN2hsWRQkeCa v+o2Fqp48d2bxPyCa1vmB52Kli1+5FuiGmuuYrmGDMz1X+Nypvs+PfMYAfxN6hSJzG85hw /uUh4bgmP48X86OvWY8rsF833vlup+48RVjVXXw1+H95gpSE3Gz02BPC3Y0k6bYYml9CeC ki7rxBd2LLfk8Ygt6g2Jne4rBtvwGxrN6RZ4fYLcO+XhEmtDu1DT5pvGf8/IqoLfPkQdY7 kxShN1ppqXHoy/r1IF0SjR4ZiaPejJy2AHPrRr9GKLcYxdF2jkS/SOJvJE8VbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9HbKuL0As5d6so7yFHu1vLGpZUKaR225uif0MRaLnA=; b=BLZpRwp/xVmUL3muCOXt7FWGmFVB585fLreuwq4teg9Fw8eMiTrySSxUQkmSAjtmq50HjQ HOsqrV7gogHHdssN6rVuLfq9MpvSUIArSoMh/6q7wZVuvv8wl4qzxDQA5tKMosQkR0YQxG qkBO9wEPgvV1pALv+CuJpYGeH3NGJl+vWBFmuKhif+a/2TKi26YDWg2Hi+JO4oZXwsNJPy I6Wi1NphOGXf6C7IZdefSmYGCJgC/HDZ5iftCImpjDBLcmVnBFgD+zdfpcQuyc1s7yDSko fUORZmS21k0dHEYhVFJfc/lOxILCqiyf4epJ3ALFxLX1AeSxPj9Klyon6fjTSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321652; a=rsa-sha256; cv=none; b=Y7x8eaieLSGuAzvAqXDFjE6uGywNr2jKXwEiHl7zaYQGHNjZlmjsQAEGreXkwe0fLOn2ZW yZA1cOpnlwUptPQEq68mQZk2fAbJpldfN+PAZOB7FJrrVj6drxDbGvCXVqL9E41qKH+p1y OgtHt4mivu+7ksPf6fE71dVNGcrZmmy7sgnIh0hroG3RgvdfYu8//b2iyHYN2rgYdt9Klz x5XV0RFxHwKV1vDl3LazbX5MQx8hdkDEe5gp0xiscZ9MdBBCwTwOBH6GKq4J5uDMT6siwx +Ei1yxi5JFIPOcAT/gqtT28DZfWtmtZiAQfS45rI9T3T2LEHRbrbLyYxlUoGVw== 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 4drF5c04Brz4ly for ; Tue, 13 Jan 2026 16:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30cc8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 3444c71ce288 - stable/15 - arm64: Include armreg.h in db_disasm.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3444c71ce2884d11414a814dfbc9ad0a97afc532 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:32 +0000 Message-Id: <69667274.30cc8.5feee769@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3444c71ce2884d11414a814dfbc9ad0a97afc532 commit 3444c71ce2884d11414a814dfbc9ad0a97afc532 Author: Andrew Turner AuthorDate: 2025-10-27 10:55:57 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64: Include armreg.h in db_disasm.c It is needed for INSN_SIZE. Include it directly rather than depending on header pollution. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53322 (cherry picked from commit aa22b68ec76699527de04c99425716ab45c9b8c2) --- sys/arm64/arm64/db_disasm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/arm64/db_disasm.c b/sys/arm64/arm64/db_disasm.c index ab1002560b20..14ae2acc2ce6 100644 --- a/sys/arm64/arm64/db_disasm.c +++ b/sys/arm64/arm64/db_disasm.c @@ -31,6 +31,7 @@ #include #include +#include #include static u_int db_disasm_read_word(vm_offset_t); From nobody Tue Jan 13 16:27:34 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5f5LGcz6NN5D for ; Tue, 13 Jan 2026 16:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5f2C8Bz3Kvp for ; Tue, 13 Jan 2026 16:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Wze2Lk31WkWxSZiHyMxpwUD+qdco05n031JBhOpN50=; b=CMqU5Sw8rKhEEXvKXPDfBBiONbbawHppHk6zdw9y9V98Lbm7mNaDnXRIi+b1eGJoA36vOa EiLGegwoF1N0aYvBF4FLfMzpQgqHjrsTj906Q7x3xDmUMNT8XILY4h045+hRpb7ui7zC4g TeKYiMBihxNHplQJ3in22ihOrZRAceSIxDd6+x3CEi8ZowTtVStQ58zdLwaqlkOJvGIfYm u773vlyDx6b4pLBmyOLKoBRiAfLthRZ4V6TnorLcGwonPUnsu+xniJcwYQlIxskwF42On7 YPr0lvunehoGOIRvXzwp/qxPbQyGUNzIM4KFyuEbWxng8k3F3BJ3otPHF6Q/Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Wze2Lk31WkWxSZiHyMxpwUD+qdco05n031JBhOpN50=; b=du9UdEnClkwUrManKgic50VvYyoj20xOez9cAk59eX0k0Ubgc4BzlKB1L1KR+l6xroIa+Y qvOdSjCo0X4iqUof/2QIyD7Y+Uz/PPOqoj2Rhnf73Ci2IrLF2O/9kwPUT8e1ifDAtey9dP j/kw/yFsyoUSCoheMF2SKJsAUZU34m9rc2XwrX385WUdQmVWuwugfntdzvYolfz256xBvG 1LJLgZeTAZlCMIgp9DRmsWFQ25OeEgX77OH7YxLLhr+85g8Umkq237qEcBPP2sq0Watl0M VyLl2ZjX8Z0C+fUu+qhqeddfhWjrNx8lKNfptCtA8TmsSs3+n/BmtKZiUAj0mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321654; a=rsa-sha256; cv=none; b=kS8UVS9SdKA+duJiu4Q7TqnCz0rWVUsTjRQrJmk8FjQM0a+3+le3Yn1wolW47BfkaJSkgp LK8aySfq/BzoRt1HlrUpUPLMxBUoScc6PMsU3kPoTx35ZTdysrzfOw0cQML3FlzSibkdh4 axPb0YUTgi4+idrzyMortEIr/rVntOsgJ3S7uZm2mg/bGnvEPoL7/NHTexTtvgYikr5QFB 5tO0fvpWB1tz2pOQIWbau4Z3MPt7LaMEH2RvMLIN4132KVUOiRatD1ucDMQDLbUF8XOp4M odHCalCLlt0ET0/JUvnQcvPlTU8PAkLTpyS7XxVttfZSoYEjnmu+sU4xDDDwDA== 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 4drF5f1Zt2z4lH for ; Tue, 13 Jan 2026 16:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30949 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: bbd57dcdeed7 - stable/15 - arm64: Split out accessing special registers 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: bbd57dcdeed7d524252f0680a5f0c3752d8a203b Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:34 +0000 Message-Id: <69667276.30949.23f2f8e4@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=bbd57dcdeed7d524252f0680a5f0c3752d8a203b commit bbd57dcdeed7d524252f0680a5f0c3752d8a203b Author: Andrew Turner AuthorDate: 2025-10-27 10:56:17 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 arm64: Split out accessing special registers We shouldn't need to include armreg.h just to access special registers that are not defined in this file. Split out the parts that should be common with arm64.h and hypervisor.h. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53324 (cherry picked from commit b57a571a001958febec042e15c571c5074ce44ce) --- sys/arm64/include/_armreg.h | 56 ++++++++++++++++++++++++++++++++++++++++++ sys/arm64/include/armreg.h | 20 ++------------- sys/arm64/include/hypervisor.h | 2 ++ 3 files changed, 60 insertions(+), 18 deletions(-) diff --git a/sys/arm64/include/_armreg.h b/sys/arm64/include/_armreg.h new file mode 100644 index 000000000000..7aa3c358b327 --- /dev/null +++ b/sys/arm64/include/_armreg.h @@ -0,0 +1,56 @@ +/*- + * Copyright (c) 2013, 2014 Andrew Turner + * Copyright (c) 2015,2021 The FreeBSD Foundation + * + * Portions of this software were developed by Andrew Turner + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * 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. + */ + +#if !defined(_MACHINE_ARMREG_H_) && \ + !defined(_MACHINE_HYPERVISOR_H_) +#error Do not include this file directly +#endif + +#ifndef _MACHINE__ARMREG_H_ +#define _MACHINE__ARMREG_H_ + +#define __MRS_REG_ALT_NAME(op0, op1, crn, crm, op2) \ + S##op0##_##op1##_C##crn##_C##crm##_##op2 +#define _MRS_REG_ALT_NAME(op0, op1, crn, crm, op2) \ + __MRS_REG_ALT_NAME(op0, op1, crn, crm, op2) +#define MRS_REG_ALT_NAME(reg) \ + _MRS_REG_ALT_NAME(reg##_op0, reg##_op1, reg##_CRn, reg##_CRm, reg##_op2) + + +#define READ_SPECIALREG(reg) \ +({ uint64_t _val; \ + __asm __volatile("mrs %0, " __STRING(reg) : "=&r" (_val)); \ + _val; \ +}) +#define WRITE_SPECIALREG(reg, _val) \ + __asm __volatile("msr " __STRING(reg) ", %0" : : "r"((uint64_t)_val)) + +#define UL(x) UINT64_C(x) + +#endif /* !_MACHINE__ARMREG_H_ */ diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index aca3d4c07450..aa9b672ad85a 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -34,25 +34,9 @@ #ifndef _MACHINE_ARMREG_H_ #define _MACHINE_ARMREG_H_ -#define INSN_SIZE 4 - -#define __MRS_REG_ALT_NAME(op0, op1, crn, crm, op2) \ - S##op0##_##op1##_C##crn##_C##crm##_##op2 -#define _MRS_REG_ALT_NAME(op0, op1, crn, crm, op2) \ - __MRS_REG_ALT_NAME(op0, op1, crn, crm, op2) -#define MRS_REG_ALT_NAME(reg) \ - _MRS_REG_ALT_NAME(reg##_op0, reg##_op1, reg##_CRn, reg##_CRm, reg##_op2) - +#include -#define READ_SPECIALREG(reg) \ -({ uint64_t _val; \ - __asm __volatile("mrs %0, " __STRING(reg) : "=&r" (_val)); \ - _val; \ -}) -#define WRITE_SPECIALREG(reg, _val) \ - __asm __volatile("msr " __STRING(reg) ", %0" : : "r"((uint64_t)_val)) - -#define UL(x) UINT64_C(x) +#define INSN_SIZE 4 /* AFSR0_EL1 - Auxiliary Fault Status Register 0 */ #define AFSR0_EL1_REG MRS_REG_ALT_NAME(AFSR0_EL1) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 8feabd2b981b..7d405e63cd8d 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -30,6 +30,8 @@ #ifndef _MACHINE_HYPERVISOR_H_ #define _MACHINE_HYPERVISOR_H_ +#include + /* * These registers are only useful when in hypervisor context, * e.g. specific to EL2, or controlling the hypervisor. From nobody Tue Jan 13 16:27:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5f0BMzz6NN0J for ; Tue, 13 Jan 2026 16:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5X5Qlvz3Ktr for ; Tue, 13 Jan 2026 16:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vcn0gSlR14usduSoolRg6MFapdHc0OBoaMb8kYN4P8o=; b=WPEMvkNHUNLhz1u/NU5Jx1Z5AOgVf26jRfj3jV2ZfqOaTgrDJ8U4R4MyivdbOy3uc1zbEn UejAOHMwRJl6KbMJtKFKZ4SUoM3IBYhngZtWezGb18fthgicZZHxbPe21rArvC6VLpiCt9 FlzOZ2zbT636kpUZvyriZbp7XnTbqA9SLlYrXfE9Vx/QWU1GRSR2YfiyJzLPREnXX7xzeF QAI/aWmg3jerCHszCOvzLtT5HUxvEPvBGqB2Ls8xYJwHZ77Fq8G4Ou448cDG7VK12fINVn H8zRQ6Lr612J2gBkc5wzK8FPL2yXciC0Vcf14Y8Wsa/kSHmjXTbk9Dry+7lELQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vcn0gSlR14usduSoolRg6MFapdHc0OBoaMb8kYN4P8o=; b=d90jEx8TP4fb7SRpFFY4U8aFqwETJCak1tM/r033lvCSjYMEf/HP/lnyd448lSQCZ1KONU WGXuudnrhSakMcPdXaT2CM1BD0e3DW85mjDksA4oblg5Gp4WEtuHyy6vSy/2aR3XnWjSFh vT8etNxvnhqpXfhz36M7AhTUL7hToDLOMzEwuM2OmJNCrSgSAX2fYaJ+nJSVpQ8rg+ft70 /aZG1Behlg3I7a+bU9fgI+jdjMqSxgXyMB2Dj/swEp/InA1uBaLj/8W3M2oxRe71UAkAGh ZcilaCR2YgurNxfALVKtHCpzyzOqahRDUzmd+z2GVSXaJR/X2zMdY4kbsb45BA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321648; a=rsa-sha256; cv=none; b=O3ZsETbI/LE4eGlQMcGpWlmHT8ljybCTtfo5/Jyf7fi5aIGCJ98Nr6pH54Vd5d2fTie0n2 qh9xaDBvHNeawp2KW+AeORVCZhelz7gohqkf1paNMc7DXGdGoiSeCififvTnpNPJYnaqcv InsZAdpG1hr9BtPfIzlR4rZhrL9NR6PxrzFwhd6T0uPsys0XYoleygKf0xugz8dJBJ1ilm ge1oNexzaCe+/DeMl6LrekDv7UyqMsbl6adad/TJd6QF6D/s9Cdg4pXRnkMEu7hPZu+jVr 4zAKR2/SQksin7jsGCPz2c/vCxDW65BbiwUTw2DqwlXDt1QPDZEaZzvVIvd5Sw== 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 4drF5X4tr5z485 for ; Tue, 13 Jan 2026 16:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31286 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: b7683f7c9c64 - stable/15 - share/mk: Add opencsd to the list of private libs 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b7683f7c9c643bf0cc0fdd1a2381cfb2df4b7677 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:28 +0000 Message-Id: <69667270.31286.14a4164c@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b7683f7c9c643bf0cc0fdd1a2381cfb2df4b7677 commit b7683f7c9c643bf0cc0fdd1a2381cfb2df4b7677 Author: Andrew Turner AuthorDate: 2025-10-20 17:37:41 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 share/mk: Add opencsd to the list of private libs Reported by: Sarah Walker Reviewed by: emaste Fixes: 1c52229528e7 ("lib: Move libopencsd to /usr/lib and make private") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53217 (cherry picked from commit 82778970eeb24f1249945612d05923725f9baa4f) --- share/mk/src.libnames.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index f92c08edbcca..6d90a26c0dcc 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -29,6 +29,7 @@ _PRIVATELIBS= \ heimipcs \ kldelf \ ldns \ + opencsd \ samplerate \ sqlite3 \ ssh \ From nobody Tue Jan 13 16:27:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5d4Frdz6NMdC for ; Tue, 13 Jan 2026 16:27:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5d2GHYz3L0x for ; Tue, 13 Jan 2026 16:27:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C085bKXLB96IXgPCKV3Zinw+h0HwJn12istKSO/iU1A=; b=CpwX7cYQOysrkDFsQKbuv+m9obaojbhcuKwNUO1qbnL119jOyEJtiqFDXjEn69E5AH88N9 6Hfd4Bsw91mNJXIyP4RpVQdDhmww3LtNBTY+Vxp5M1aT6FU876BOwJG566og6SwJ7KJ22G z1pzYg3ppn96wZEHKoPPJe+xYZqAVyXiSqVXCihe6aIySUBjZt1TRIP8USZhPZkYjMmgYo 360AOjKx1xopQfP0ZG+Db6LYkxk3viM0EXQosQF6WXijZDxb3e1W8APgTwFXZjmeuBeTxb zWOTv1hBYvUycz2Siu4EN0upR9+wogIRHmZXB+YXCZFQ3OMTB4HgsgWWb0nBLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C085bKXLB96IXgPCKV3Zinw+h0HwJn12istKSO/iU1A=; b=Qv4NDRH7KS/YMEbaQB+qdMuk4Uum2mkN2qrkKs76zVMEp+9C3EbtFiA/WB+WEud2UcHbxK 0Zc7b1SgTacQxe82OSsZykvKA4ph3nZnvpChha1bbuH2PngiVl/5BgvzAlgpxIzZqFhxeA m82pnDZbqLRp771gxNhu8uc/HKUicPoDuMHqx2uFVv6qZqAQEPHTdMI3JpaMuZ/t1t83i4 pcA8OAmqMGrTqVbUj4mB49UC+1Udhs2G49X2Bt7s/XlC0ePAl+OEi33ftOPtjPQDJev/AB K5QxjZI0xsFRiBwxJcbt05snqW3UDAmep3+SBmrifG44pMH6SxK9eTXEZvYUUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321653; a=rsa-sha256; cv=none; b=jzxXpfVlF2Ts5qbslsK1QQodhA6N30Y6vEuR/A9q7+C9au6QalX1raeL5KRQd//0KleYK3 oC0KnM7HxiDrFW+4XjWuEls0yFyxvkA7jtcJ/2c4011KmwqXqtBpI6Led5VhFXyA4fUALH q/m8PohvIqQK6IoX8Z2RPTvlOlVEqTQz5OJ1QIEly6ztcJHjcZYunJ1Q2ashUp1TJOWBlt gBbE85WyT75RRDF6JPOAsKFZ4BghxeIifmsdHJ+ThjlF4keS0fdjPIzbG8ZTcCIsIRJzGR nRwTk+HO1sKHjo/SZOoPZUVjvG/3sgFLkhmEjpaiGEBcsjNskkuyQnYroqgPMw== 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 4drF5d0zQTz3ly for ; Tue, 13 Jan 2026 16:27:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30ccc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 1c1b5651f655 - stable/15 - arm64: Remove armreg.h from db_machdep.h 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 1c1b5651f655d6eb6dad53fcaaf9cd2d1a17eae3 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:33 +0000 Message-Id: <69667275.30ccc.6860b86b@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1c1b5651f655d6eb6dad53fcaaf9cd2d1a17eae3 commit 1c1b5651f655d6eb6dad53fcaaf9cd2d1a17eae3 Author: Andrew Turner AuthorDate: 2025-10-27 10:56:06 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:19 +0000 arm64: Remove armreg.h from db_machdep.h There is nothing in this file that needs armreg.h Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53323 (cherry picked from commit f3ee178be2b2b4205a42d514db1142d6bf162601) --- sys/arm64/include/db_machdep.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/arm64/include/db_machdep.h b/sys/arm64/include/db_machdep.h index 5dc496ca851d..3ef95f7802ea 100644 --- a/sys/arm64/include/db_machdep.h +++ b/sys/arm64/include/db_machdep.h @@ -31,7 +31,6 @@ #ifndef _MACHINE_DB_MACHDEP_H_ #define _MACHINE_DB_MACHDEP_H_ -#include #include #include From nobody Tue Jan 13 16:27:36 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5h5nKWz6NMx9 for ; Tue, 13 Jan 2026 16:27:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5h3Mfnz3L61 for ; Tue, 13 Jan 2026 16:27:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b4XDg1vxskjkIHJEQWEF/f9mgKWrGRH/PEtX/yAlHpU=; b=NXJJfNZnxUDf7SGafb+s0G2Q63acWK7N8Fncxm6+nYhDKBtgAWEk1h2WoiGJOOKtVIdIj5 xroi+9P+jQxZHtk+CLndSBguf+1i/zQMHXtJVxhBodVmiEyAMnK/InyrNAH9ETYgbENRm/ Be4HLpmkNmNHXMXBjwJO1en00n+0IIUSd7qabrG0Bv+gCTJDD8c0aXNyaJr5l22nEHrmPS doNVYIgj5LXnhh6zbXp5YLi5rqLnypM14Pa14Nzzgqxt2rkHckkY1QJU2e1Pb9wzbQyE4c phcWa7SSrn9zMf/qgGZZbFmxv6KecqMrH3hS7xLo0WMxrtr6IyEc2HxtVutrXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b4XDg1vxskjkIHJEQWEF/f9mgKWrGRH/PEtX/yAlHpU=; b=IKWmqOKw9qfMzoPbrSEWNwTII2KWT2hZsT9vFp0XWLB180GBzvse2eaNwiabKJuci3UA7r +EBRaXwcdxKJB1BCifRedTubllOso6sEqSkpyETXOULnMjSzWYYyaiIZQBL4tP2zBTDiz8 VvUAs4RITvYWE9C1M5QN4E50IsH4HcmeuElo9+OmHvIulnKavTsP2059104dnilAhp3miL qumPcVbKrTiY95JyYKVu35/E/cIkL368ijkHlUmty/me+PKojuLs2LXJccjmKDscjZap1v mzmP8pc0B1qElH9YcfYY2pSLdiV1vW8xc8jTuSuwc6cgALB0Zuw1FoudPvBpGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321656; a=rsa-sha256; cv=none; b=VtWhQGn/mPGqjqXTm8N/U8UM4En+Z12whJOpPkT8NyjakrtxnYAOvKd1bRYvYmnZChE3+U mWk7LwpHj34xRFcM2/UFbBgaAvB+xLPZGEm0XAx7pML9QismUR1xT2zq3Zlhc9JJcI9oor aa6P5LyYmhFZ2N4nDCO2r1Y9ayanaeNF9KF8/Qjj8S+NX+2rNKnH3Y4CFgL8/tuX258Jti Inv9s8aENJBibnlR/KGFaZD9jGOotEA8mOYrLXUKRtABR9tdz2DFB6RKG2utru0lxjqoDf Y4jOFeiI3lK4+BYAXK8jO2IKPB+MmdqZbI14Yaj4hr2npLcOQUYhWhex9qFhqg== 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 4drF5h2dfrz442 for ; Tue, 13 Jan 2026 16:27:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27ae3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 37491bc05315 - stable/15 - dev/ofw: Move ofw_cpu earlier 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 37491bc05315ecb1cf6e0b948f79469583da313b Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:36 +0000 Message-Id: <69667278.27ae3.415c6960@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=37491bc05315ecb1cf6e0b948f79469583da313b commit 37491bc05315ecb1cf6e0b948f79469583da313b Author: Andrew Turner AuthorDate: 2025-10-27 10:57:44 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 dev/ofw: Move ofw_cpu earlier Move ofw_cpu to BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE so it can be used by other devices. Reviewed by: jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53328 (cherry picked from commit 87cea227e1945a8aa808b72d210f9a391be9b234) --- sys/dev/ofw/ofw_cpu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/ofw/ofw_cpu.c b/sys/dev/ofw/ofw_cpu.c index 888af0440746..da66737b6da8 100644 --- a/sys/dev/ofw/ofw_cpu.c +++ b/sys/dev/ofw/ofw_cpu.c @@ -85,7 +85,8 @@ static driver_t ofw_cpulist_driver = { sizeof(struct ofw_cpulist_softc) }; -DRIVER_MODULE(ofw_cpulist, ofwbus, ofw_cpulist_driver, 0, 0); +EARLY_DRIVER_MODULE(ofw_cpulist, ofwbus, ofw_cpulist_driver, 0, 0, + BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE); static int ofw_cpulist_probe(device_t dev) @@ -180,7 +181,8 @@ static driver_t ofw_cpu_driver = { sizeof(struct ofw_cpu_softc) }; -DRIVER_MODULE(ofw_cpu, cpulist, ofw_cpu_driver, 0, 0); +EARLY_DRIVER_MODULE(ofw_cpu, cpulist, ofw_cpu_driver, 0, 0, + BUS_PASS_CPU + BUS_PASS_ORDER_MIDDLE); static bool ofw_cpu_is_runnable(phandle_t node) From nobody Tue Jan 13 16:27:35 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5g5NXqz6NMx4 for ; Tue, 13 Jan 2026 16:27: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 4drF5g35sZz3Ksq for ; Tue, 13 Jan 2026 16:27:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nTZ/oJK5npKO3nF4i4TQyfwQEZQslNIxTPVEea7WmFs=; b=QfeeGVgE1WG571QD5hszbH1tgb2ifUH11u4AVF6sFKDqll9Y2iikbb9wH1QkxcI4QwXpMf m0jKjYrFjkZ9E7qQsE5/qJrD391fSwAbWEXruJjIAowafnIl0/fw/G8nPbBvsjKtTCZeja qnS/HP7ZjXDtmZLIOjXQCJkIBAfKgnXTGFAegYg8rIav24n/KVToFBd7GTUUv03di0LxDP nOuU8+LQJ+3VFjRce2bt/Rv7DpZ6PH+pfMYZxmsNaT2IrcLB+VW9VZBfSCTHyCBseIGlnC Li2WfY3c2x2d6gJMIs9Kbvl20E7q1zCZs2zWgfp9p1S7oTA7XOc50KoyQK2Bww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nTZ/oJK5npKO3nF4i4TQyfwQEZQslNIxTPVEea7WmFs=; b=mkV0HjPyJxmofAgi4CKiYiCXgPNm29I0lowZceMzFBRLsTu7IHGbb8rsCzgJ8jouQZyNw9 iiLzpNUqjDu1zRz5Wxl3WlqitRGGm+xsmF9ACtYzYT3dymZtynJRhIrm/OxHnaDMGLxz78 jRqrLFsfX+WkdVweagODKemw6GwWZXQrtUUvwJm3+cA6dHkyALKu6MeAgyuKqlb0VHinmN yzJbPGIzYAHE9TeRoAUBxsW5N0hKqXkJByhDPsVScGZ2u9ic+cXNl1IPTSY4zE+1c2Hjds OPAIEsp0IZdF6CM19qrLRhkQwh3EvayPkNOyCLPacmvDV2zZiKPzpxl6dWBlgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321655; a=rsa-sha256; cv=none; b=eE25SeTUKHStGbe3wBF+uEt2xGCkWP3+PBjaycIX6ZoftbdL+zqQrl+1pPD0S9LrLhLTQm VwT8xJJ1HXTNbG/4lvZi8ZLqQFRbCGMFPvxOV1EBcEUUHh9+GaeELbBlNpxRbU/ISaNMAb E3xn8s/kzOWITTb9SO4ajYS8UZVv3oVRM3nDjdpKcbMkZEEAh60no0A31L7XodS7fC0702 tMgAe01obtu9VT8mJacZVs+lIh2FJUcjBAifC5ewkcny6fwOkXZ6QFQFOnfPO8I2SfXE6f zHNoNHAps8b2g7lyq2n9wZy2KpFq078Pp5u+lj6UTa3nFNSSYqdeHn7Fd5XHnA== 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 4drF5g2Kxqz4cj for ; Tue, 13 Jan 2026 16:27:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30396 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 28bb4a9838c9 - stable/15 - arm64: Use _armreg.h in cpu.h 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 28bb4a9838c990be24a92e3dab9d5e6b3febf39a Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:35 +0000 Message-Id: <69667277.30396.1fba02cd@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=28bb4a9838c990be24a92e3dab9d5e6b3febf39a commit 28bb4a9838c990be24a92e3dab9d5e6b3febf39a Author: Andrew Turner AuthorDate: 2025-10-27 10:56:25 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 arm64: Use _armreg.h in cpu.h We only needed armreg.h for the *_SPECIALREG macros. Use the new _armreg.h directly. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53325 (cherry picked from commit 95a5bfcee07cf522edab72388decc4d6e27d341d) --- sys/arm64/include/_armreg.h | 1 + sys/arm64/include/cpu.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/_armreg.h b/sys/arm64/include/_armreg.h index 7aa3c358b327..0f5134e5a978 100644 --- a/sys/arm64/include/_armreg.h +++ b/sys/arm64/include/_armreg.h @@ -28,6 +28,7 @@ */ #if !defined(_MACHINE_ARMREG_H_) && \ + !defined(_MACHINE_CPU_H_) && \ !defined(_MACHINE_HYPERVISOR_H_) #error Do not include this file directly #endif diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index 124da8c215ed..b15210633d37 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -43,10 +43,10 @@ #define _MACHINE_CPU_H_ #if !defined(__ASSEMBLER__) +#include #include #include #endif -#include #define TRAPF_PC(tfp) ((tfp)->tf_elr) #define TRAPF_USERMODE(tfp) (((tfp)->tf_spsr & PSR_M_MASK) == PSR_M_EL0t) From nobody Tue Jan 13 16:27:37 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5j5tSLz6NN7p for ; Tue, 13 Jan 2026 16:27: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 4drF5j3pxpz3KtD for ; Tue, 13 Jan 2026 16:27:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ckENkrS9LuQnEpu/eMpJ1sTChI98E6iUH/iBrG2F3kQ=; b=iN3RKbq1ZwvmkVsuUEESSV/6DR7Eg3FvGKAUAJHZRHcQ03t7nMC5sr5hLuUGS09Mp3mYm9 gx7BGv/6Yz1USM8vMEk6/23SoN5MYKJIc5a/QzyBCRbDcwYpPz5ceiLSePrRUyoa8a2iFs audUHMFogB75IhZtSxQa6t4Q/oJG3Fe7nX8shZ26BB0//rRPhj5v5+z9iPmzRAHxYRDGOS jiG5AzltT9GMbYjbLb33+sqhmg/26imPNjcqJKGa2GS0a+F5aIvNUQm8jsX/Xr0RoL5vV6 t6RAKnb0TZFsFAGOaZtOv5WXZdsc+swwNqEuIbl9n3hub2m13S052JbrfmxPoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ckENkrS9LuQnEpu/eMpJ1sTChI98E6iUH/iBrG2F3kQ=; b=LEz1iq4FbC0DuSODtEhsXf+UkB7lhNno9GIJXkk7q3dUIE+oWz2shaN5bzFNHBGyRzorEJ luLAWf+54bYO+EM8cAsZ+zrbOka5Tm5TFoIpY8NpAQLPgWG2LdNHfvprYuJ5CYFMvxtrOH qOkXKzH4p9Lx1CaZX1sIR8bBdsy8kogus+mvoGKxTu54cUb+yk58jbH5Q5/avjiqoAlqNa 8VUvq6UZGYHPttC+dObtbug13UOa3FgipSaLnZWSmtT5OWDYRNTop17In6wfywgpkd3Ult uFVM5AIMGhWvmvSHm3zGBj5fNLcMalAszBsUqiCkxTsz8cvBb60k+xllTRaM1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321657; a=rsa-sha256; cv=none; b=JjWRxmzCa9faAWXh5RVwJJ5UlaFVjyUW73/Ujq1OXBG7RkhoRhhXSOUpZNgRoOuGUej/z7 7ETKrSiSNEBSeGEJtLlli3majPj5cpk6A3sgR4PU4Zj0pLH5rvu52j1/5k4j7b2a5Tyxee 760kQLN0XKCFEW++RGFCCPm9MH/vgTxqYHIZDt81+IcMu8bLBfPvCi+G2Q/HJMXPfnhRIg jasPbvrFkHzmO05hlF3MqMNYInN2PmFOmEm6x997WQ+Uk75OXHHZLEomgw+EH8i8VvAvT5 6oIwUiOBj2AHGrFbbT0HL33yw++s5Hcmctnd2M74kh/n2L2hRk9SYazQgEylxQ== 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 4drF5j3QrQz4p5 for ; Tue, 13 Jan 2026 16:27:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27ae7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: dd4dcf661fe7 - stable/15 - dev/ofw: Register the ofw_cpu xref 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: dd4dcf661fe7d20a10eaf95008c6ea130432ee21 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:37 +0000 Message-Id: <69667279.27ae7.1ab34254@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=dd4dcf661fe7d20a10eaf95008c6ea130432ee21 commit dd4dcf661fe7d20a10eaf95008c6ea130432ee21 Author: Andrew Turner AuthorDate: 2025-10-27 10:57:54 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 dev/ofw: Register the ofw_cpu xref This allows it to be referenced by other devices. Reviewed by: jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53329 (cherry picked from commit d539f2d9d2ce88f295567578d0e7a3b49d45544b) --- sys/dev/ofw/ofw_cpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/ofw/ofw_cpu.c b/sys/dev/ofw/ofw_cpu.c index da66737b6da8..4b12f2e994e3 100644 --- a/sys/dev/ofw/ofw_cpu.c +++ b/sys/dev/ofw/ofw_cpu.c @@ -332,6 +332,7 @@ ofw_cpu_attach(device_t dev) device_printf(dev, "Nominal frequency %dMhz\n", sc->sc_nominal_mhz); + OF_device_register_xref(OF_xref_from_node(node), dev); bus_identify_children(dev); bus_attach_children(dev); return (0); From nobody Tue Jan 13 16:27:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5m0f9Wz6NMxD for ; Tue, 13 Jan 2026 16:27: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 4drF5l5jRJz3L2L for ; Tue, 13 Jan 2026 16:27:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321659; h=from:from:reply-to:subject:subject: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=ogcBF45n71aXkCVS7q4193d46+flvs3FvCGczoE52is=; b=aQ08myKrpBdNYe905KNJuEt3SV8zPZyPchbMuSmFxcUKliUiDh0Y09AStxENkafr6Ijpzk Fk4A1fHVJ+/hArak6suoh3ruCvrgE4MygaHPExnQ6HSQT6VNzK0GLXLAdv/DNRRMGcUg9E KoNfurZGEBs5TpJpSfehGbohiUC1elWsFTWJlgfZ6Efst+OPyeMRmXNUB931xXGImVmyN/ IhUcGjawuiWZ6jaGgfLkKcZbAhwSJImC65HOvaijt9bunY2aWZUUtFPxYPFSw+4+99mrH9 K0JQKG6bBE6GfDtMPGfq/uIZoz1cE8HnfYG8BRdyE7Gzjhb+LUFEjUNfctyQzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321659; h=from:from:reply-to:subject:subject: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=ogcBF45n71aXkCVS7q4193d46+flvs3FvCGczoE52is=; b=FPUHsFLpLGdR9mq5yZpG9+TcMEYBdSjhUJ2Cyazg9m8jSMGpManEldhLMaAEejWWlaUtkr WZOLY4oga3txv29x0AQTxOns5cSPzbZrshfqwCysj3Z9CwiWLGRXiCAqaKt8NXXP/rgQrh XuwEcUhziVqMQCwMDzVpI3gBKtlDCGkZ74aA3p0AalL6PaV+TbZN7rVdYMAvprccSS4wFv rvWmq/2SqUiCqlDHAHiKbOXs/v8oKhJprDUy/g/bab2wMZCLm61SAf1071m/F8vOuPb6VF M4Z0gO1BM4KwsokcSFOq7q0VFCADyRDzhv3xBwuQuhxE/vrnOXs+26dS7m5ZEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321659; a=rsa-sha256; cv=none; b=xyjQHK0iPm1OHUWA3D7UsPVCHDNngjlGKUaAWW/WrpHEFMeDqAM2fzVrfF20Nf/5ITnsi0 5DB+RDmO76V65cyRvVct1PMhi8Smgb55kxjfS75zQJxV47FVGAh/EoztZIc0esKCyZGTFO exkDf2F8FPCCIr96s8bdl273ARkwoc96Otm3I0TY/98mdOsIs54ayhWrvQx7tUvO4jEICq ovhbH7EtP/3ZPU9Izj1LA6FjaopOzbNRrRodLPcuzuyfp4n+AxhqhQ2TvjhaCEW9yMRZdi LOU4ZO+a+XbplRdHrLWDvTt/fSK07t6Nu9ed974fNgvMYQfRmGH9vcTfMaBJFA== 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 4drF5l5BStz4p7 for ; Tue, 13 Jan 2026 16:27:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3130d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 6e890c4602ef - stable/15 - arm64: Add a define for MDCR_EL2_E2PB_EL1_0_NO_TRAP 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6e890c4602ef9697b5b566a2e16aef1142e54a33 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:39 +0000 Message-Id: <6966727b.3130d.66125d3a@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6e890c4602ef9697b5b566a2e16aef1142e54a33 commit 6e890c4602ef9697b5b566a2e16aef1142e54a33 Author: Sarah Walker AuthorDate: 2025-11-12 16:57:29 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 arm64: Add a define for MDCR_EL2_E2PB_EL1_0_NO_TRAP This will be used by the SPE driver. (commit message by andrew@) Reviewed by: andrew Sponsored by: Arm Ltd (cherry picked from commit be0ded8d64e3e8c7bf6bf59b236a086f6a98e7b6) --- sys/arm64/include/hypervisor.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 7d405e63cd8d..f3d7027269c9 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -268,6 +268,7 @@ #define MDCR_EL2_TDRA (0x1UL << MDCR_EL2_TDRA_SHIFT) #define MDCR_EL2_E2PB_SHIFT 12 #define MDCR_EL2_E2PB_MASK (0x3UL << MDCR_EL2_E2PB_SHIFT) +#define MDCR_EL2_E2PB_EL1_0_NO_TRAP (0x3UL << MDCR_EL2_E2PB_SHIFT) #define MDCR_EL2_TPMS_SHIFT 14 #define MDCR_EL2_TPMS (0x1UL << MDCR_EL2_TPMS_SHIFT) #define MDCR_EL2_EnSPM_SHIFT 15 From nobody Tue Jan 13 16:27:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5l1hpdz6NN0W for ; Tue, 13 Jan 2026 16:27:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5k4xyzz3KtV for ; Tue, 13 Jan 2026 16:27:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321658; h=from:from:reply-to:subject:subject: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=UtVQ9nYMqJ3XGQOjY/0lqHvdJPUNlaJAicBMKO9WHAE=; b=rD0u44FExJITqDIFZoAW5+gTGJHjeAWo49Ew7bwveEGNDqT2GmQlZGCL/i4oXEGf6YFtDm tLxmQyvsg2SsUdWS8Im0mAf5KN5Ue6ShQGeFFwVj7rJrNVSjXADI6bhRcyrEERjbPzJf0/ XeEM/TrYLVLnLyQkSY/HvPxQAnX2HZdD+PBynQp0l39St5wzPJQJbbHuSvGfcnZ/a90grQ nIM3OfH8vvC5+4d6i7eV4RfA5RXCBRd+VI1tluIMtLOzNiVYDBt6v8DB5p4rFVJY96sbGP yDcWaohg/xAnObffgA0k20szWsP7M/nCnWBP8ZQ456/U7UPuIm/2VHcZ04zxfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321658; h=from:from:reply-to:subject:subject: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=UtVQ9nYMqJ3XGQOjY/0lqHvdJPUNlaJAicBMKO9WHAE=; b=fA0aFAgcOgzrdWr4L4PFgUVt3zvhO3VTyOAvUFZdUqS/EQo+LXtsm60yIfZEWM2Yzn9Ler 0ho8RUKXpvm3rNytPot3OqxFCYeLMl71H+YWQVQGzOLIcVXdRnhPEe791D4OfRCZLJ+RPb MEazfVd/GE5hH3GmuyQVhfDUZZCzASclxTXO1lFfrvXkvJfPENDcYuNKpdrBrrhivtrR0a qVhwbNXvSX1Br2g3GyvijLiGrkgr3854m85jGGh3J8wT1n2NYkVXmzmLKV/G2k6uNyeLHY AY4FvJV+A8cBeMis+lexaEL4bIwa48/wuJXqP/QAGNpUvUfShkZJQDJXIG27Iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321658; a=rsa-sha256; cv=none; b=JhsMG33GxCKwy5xDPgsmJOfNwkR/6DS5qfVolM/Kwe6q75O7lTxWD7B1RupNNfJHjVNqe+ 1jQmV4juVGX/xHEEuf9r9Smw2CSl9hYC2ab0Gv2MqqGX0B14JPOKedj6JP3rqxcdV05j/a zAErIBMQkqvO8wY92BU7O6J4j3mI6o3q0F/jDu0ea0RVyPHAyMFbzPGLBmYKeWqo4ukQjK zS6vcdL9irVPHtUyDThCDgYVNelmG7ps36cvBthjORiOBRJqEaDeZKmUQG/yY9i+I6fHfc CTww037EpxrbfY82j8q6ngY2UKXfLX0wwffl5qEUVOtlawosz9nP5qZh5Dv3kQ== 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 4drF5k4Jylz3m0 for ; Tue, 13 Jan 2026 16:27:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30325 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Sarah Walker From: Andrew Turner Subject: git: 474d800a341c - stable/15 - arm64: Add the PMBSR_MSS_BSC_BUFFER_FILLED define 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 474d800a341cf86a01d6ce836c0bda2e2a4c258d Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:38 +0000 Message-Id: <6966727a.30325.732dc221@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=474d800a341cf86a01d6ce836c0bda2e2a4c258d commit 474d800a341cf86a01d6ce836c0bda2e2a4c258d Author: Sarah Walker AuthorDate: 2025-11-12 16:55:28 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 arm64: Add the PMBSR_MSS_BSC_BUFFER_FILLED define This will be used by the SPE driver. (commit message by andrew@) Reviewed by: andrew Sponsored by: Arm Ltd (cherry picked from commit 736b7ec362a3db58007361ecbbb62dfb4bb3031e) --- sys/arm64/include/armreg.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index aa9b672ad85a..27b02c44cd76 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2251,6 +2251,7 @@ #define PMBSR_MSS_SHIFT 0 #define PMBSR_MSS_MASK (UL(0xffff) << PMBSR_MSS_SHIFT) #define PMBSR_MSS_BSC_MASK (UL(0x3f) << PMBSR_MSS_SHIFT) +#define PMBSR_MSS_BSC_BUFFER_FILLED (UL(0x01) << PMBSR_MSS_SHIFT) #define PMBSR_MSS_FSC_MASK (UL(0x3f) << PMBSR_MSS_SHIFT) #define PMBSR_COLL_SHIFT 16 #define PMBSR_COLL (UL(0x1) << PMBSR_COLL_SHIFT) From nobody Tue Jan 13 16:27:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5n5PZGz6NNBZ for ; Tue, 13 Jan 2026 16:27:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5m6g8Yz3LCJ for ; Tue, 13 Jan 2026 16:27:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kIRjqDUK+sS1E0K1M4wwufGIRLNhb4NWLIHoPDLaWuI=; b=ST7kIrIRBs6W2JdNZkE/yTRCguj2UOVu4sPB+H2YkDGvTI5ZJ56DjGVoSCsTTnjDWEtWIg 9Y93ap87YJ6KgqVeGaFmyZKa5/9Kp3n39T1BfNodaNU+euqjjECPLAH2aoMnRc5zKnOkG6 IXCcfLh8n+5P6GDTuNMe911kWxYq6lAJpHzYzUJfG4ABUClphDpw0xDvSel4KRTeDYsNvr edXlJJptcXdns2bsgcRB2UQ9FcHZwrtmj8/qVNRTkNaWNxYh5s5KTWIb3K57KfO6hUqbYC +WRgwG/wGCpG/FMu1FxNJdGvpqC8b/wgBuR/IWuJCAaHetk6x0tl+Ll5HPMwAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kIRjqDUK+sS1E0K1M4wwufGIRLNhb4NWLIHoPDLaWuI=; b=LsmVhw4S7XbwDLYw2Q7lxJPI/vR5nDdOqGCIH7srCEW5vLE3xu0VftpHW2gOWnOZY7U5DH OxP2z5QHdLMtkX/UcRwgmqiiyV51XU5S2rPB7YzqN3sz0spTw7qOKuHthXBQjcbA5mLS9Y Rws7Mw714KGLxr5J0S+hBbyqlzTNfCfwlhbMOl3d52F7oT/YRSc7trd2RmwyBWffvzU+r8 wY7dQ64on5FIEER2L218++v7Rqwbc8ePaeG8X/yT57GQ434X+/P44uJjMmIqneiqYrxQuB xJFaYng3iPw1ZaSzweuzhT2nfiBpDjvIzSpIoTqizPWXxFQCBwVYTJ2OBTkZhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321661; a=rsa-sha256; cv=none; b=ZNVX7syCBPppmBeVWboP1oVrqFLcrCt7blCrdefGNjAx89pE1E2397GjMV+InL9hpgxehE 9w2cQLw10W9GXckG9W34kuTB/KARlINxkfb0NqAOsvaYgfi3mzEXZpGiRxteXJ4fFBJGqj 240H+gZTf0hG9d8mJbnxBFbP0isZEbPtBAK5ZYhZbCRfbKka47mnURvudsWKzU63W/75RD SbgnQS6c4XPQvJnSd2dZzMcuW7LQXZzOtmLIzZjlrrP1NF+gtXaj9aRk+H4gvPjyd5m0of 0sK73srKBo5y1YXmcVzP7YE8Z3KEF2I86g5YKDlQ2GnZDtS5jgL9m2gG/fX4kw== 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 4drF5m64sMz3m1 for ; Tue, 13 Jan 2026 16:27:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3060a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 8dca461b1efe - stable/15 - dev/ofw: Teach ofw_cpu to find the pcpu on arm64 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8dca461b1efe91d26141aaa06b9c8de110048d56 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:40 +0000 Message-Id: <6966727c.3060a.79b6e1b9@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8dca461b1efe91d26141aaa06b9c8de110048d56 commit 8dca461b1efe91d26141aaa06b9c8de110048d56 Author: Andrew Turner AuthorDate: 2025-11-18 18:00:29 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 dev/ofw: Teach ofw_cpu to find the pcpu on arm64 Use the midr value to ensure we find the correct PCPU pointer on arm64. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53327 (cherry picked from commit 6b12b94c8fd2d5d85060d02620ed807ac6233f71) --- sys/dev/ofw/ofw_cpu.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/sys/dev/ofw/ofw_cpu.c b/sys/dev/ofw/ofw_cpu.c index 4b12f2e994e3..852ce6ea3759 100644 --- a/sys/dev/ofw/ofw_cpu.c +++ b/sys/dev/ofw/ofw_cpu.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -280,6 +281,28 @@ ofw_cpu_attach(device_t dev) } else sc->sc_reg_valid = true; +#ifdef __aarch64__ + if (sc->sc_reg_valid) { + uint64_t target_mpidr; + + target_mpidr = sc->sc_reg[0]; + if (psc->sc_addr_cells > 1) { + MPASS(psc->sc_addr_cells == 2); + target_mpidr <<= 32; + target_mpidr |= sc->sc_reg[1]; + } + target_mpidr &= CPU_AFF_MASK; + for (int cpu = 0; cpu <= mp_maxid; cpu++) { + if (cpuid_to_pcpu[cpu] == NULL) + continue; + + if (cpuid_to_pcpu[cpu]->pc_mpidr == target_mpidr) { + sc->sc_cpu_pcpu = cpuid_to_pcpu[cpu]; + break; + } + } + } +#endif #ifdef __powerpc__ /* * On powerpc, "interrupt-servers" denotes a SMT CPU. Look for any @@ -315,9 +338,10 @@ ofw_cpu_attach(device_t dev) device_printf(dev, "No CPU found for this device.\n"); return (ENXIO); } - } else + } #endif - sc->sc_cpu_pcpu = pcpu_find(device_get_unit(dev)); + if (sc->sc_cpu_pcpu == NULL) + sc->sc_cpu_pcpu = pcpu_find(device_get_unit(dev)); if (OF_getencprop(node, "clock-frequency", &cell, sizeof(cell)) < 0) { if (get_freq_from_clk(dev, sc) != 0) { From nobody Tue Jan 13 16:27:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5p2Nwdz6NN35 for ; Tue, 13 Jan 2026 16:27: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 4drF5p0dJgz3L6m for ; Tue, 13 Jan 2026 16:27:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SyDIvcgI2nhYd2Qu9H3kZXCpWyrxFjvav5rNwhW4brg=; b=u891dOx2tZqGMq/7rrdFAdWWEqZ6u24Xi2rouZlXzHsAnfgChw4yGuUca8nIS6ECA/JwUp JTUbbYIzk/Cc+0Pg232pQN3vmGhUavCpXx/V/mHy/e26G0xVFswJIrXEwUZe9GoKn5gdWJ O4fmtzruC1SAzjMLS9ztW+6Sl4xAEb8tB2t6J41t5MxPHsQNrbT3AFRH0pSjBRWur9mhvr TMCoHEiydlUYNLyiiPDbPeNzTKqCJSF2eN/vKQb13l1zlJiyY69Rsknx41FQQmyKUOT1vf 5BNmebqUZMiaZndUcYddyJ9Llj45Dgc87dvSi4a6lKxPsxT/cYDiFBPgboy0jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SyDIvcgI2nhYd2Qu9H3kZXCpWyrxFjvav5rNwhW4brg=; b=N9OlRsdy32/rt9HWRAjGZaWiNuuv4juJ0c3JKqejfzGlciJfEDo7NzBRkyamXJkDiimr0B 2yidk0kgNtALrHZXxgyJk+Q4Ve5b7nfOdsQQBj5iPR9pc1FW1R5EkPQ16jhnCcLxcqTRyK shDZ6+CaXRvdE/DggMGRldasGGt0BWX4IyWcgpGVPAWG/XJuQLHOOHrYXEBtWvgeAlsFGe RQWvTlC2rVr9WA2e6U0UYpd/uk26bhVZl5hhhudCBs6xkmut0F5MHRUEhrINI0zuf/2zsp f51YeOy1HPbvAv9dbYVls2QydfcLmo3zXmGF1kCFdw6cfsPbYysaxH7B8v2x0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321662; a=rsa-sha256; cv=none; b=WajCeXMbgyZkrXu9X7kd7E6XnlrvD2LoyqlfKIImoHVKu8aqikoeDfKX820e+MCAvZ8aK7 lvm70KVgt6p0VELDW5AA4m8UlucDaT+Re4lpyCJk0KFFIhpdy5jm33muvx08kTTl6F+08j MneqFtfnaMZvYvOeYF6jlxz3x7h1QPLFEU7NykcSGvrRdN786FC4KQxa9pfiv3F+g8NsIT SvlJ2LhcT93BwH3jyQc2YzKIQW7rxE5+hS43eiuDWxfZvWMt1ChqMhN0QmyxTGoyJ1PiHM UjGjsN91IRxd/FLgwwGwBC36WeK7CHwn1l8yZMmWhJpAD9hqEIjEP+sDXoyEUQ== 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 4drF5n75Mjz4lK for ; Tue, 13 Jan 2026 16:27:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3032a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: c28fea611c8d - stable/15 - dev/fdt: Add support for non-PCI MSI interrupts 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c28fea611c8de8bec693157a4b1b01a83936ab34 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:41 +0000 Message-Id: <6966727d.3032a.78c8bbc8@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c28fea611c8de8bec693157a4b1b01a83936ab34 commit c28fea611c8de8bec693157a4b1b01a83936ab34 Author: Andrew Turner AuthorDate: 2025-11-18 18:00:30 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 dev/fdt: Add support for non-PCI MSI interrupts Some non-PCI devices can send interrupts, e.g. the Arm SMMU or GICv5 Interrupt Wire Bridge. Add support for these by implementing pci_get_id and pci_alloc_msi and the MSI/MSI-X parts of the PCIB interface. Only the MSI parts of the PCI interface are added as that is all I am able to test. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53330 (cherry picked from commit 68e6422c6c91170a615e77028683a157e8e39d05) --- sys/dev/fdt/simplebus.c | 134 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/sys/dev/fdt/simplebus.c b/sys/dev/fdt/simplebus.c index a301fb0f247c..3e77f13104ff 100644 --- a/sys/dev/fdt/simplebus.c +++ b/sys/dev/fdt/simplebus.c @@ -40,6 +40,9 @@ #include +#include "pci_if.h" +#include "pcib_if.h" + /* * Bus interface. */ @@ -62,6 +65,21 @@ static ssize_t simplebus_get_property(device_t bus, device_t child, static const struct ofw_bus_devinfo *simplebus_get_devinfo(device_t bus, device_t child); +/* + * PCI interface for MSI interrupts + */ +static pci_get_id_t simplebus_get_id; +static pci_alloc_msi_t simplebus_alloc_msi; + +/* + * PCIB interface + */ +static pcib_alloc_msi_t simplebus_pcib_alloc_msi; +static pcib_release_msi_t simplebus_pcib_release_msi; +static pcib_alloc_msix_t simplebus_pcib_alloc_msix; +static pcib_release_msix_t simplebus_pcib_release_msix; +static pcib_map_msi_t simplebus_pcib_map_msi; + /* * Driver methods. */ @@ -105,6 +123,17 @@ static device_method_t simplebus_methods[] = { DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), + /* PCI interface for MSI interrupts */ + DEVMETHOD(pci_get_id, simplebus_get_id), + DEVMETHOD(pci_alloc_msi, simplebus_alloc_msi), + + /* PCIB interface */ + DEVMETHOD(pcib_alloc_msi, simplebus_pcib_alloc_msi), + DEVMETHOD(pcib_release_msi, simplebus_pcib_release_msi), + DEVMETHOD(pcib_alloc_msix, simplebus_pcib_alloc_msix), + DEVMETHOD(pcib_release_msix, simplebus_pcib_release_msix), + DEVMETHOD(pcib_map_msi, simplebus_pcib_map_msi), + DEVMETHOD_END }; @@ -534,3 +563,108 @@ simplebus_print_child(device_t bus, device_t child) rv += bus_print_child_footer(bus, child); return (rv); } + +static int +simplebus_get_id(device_t dev, device_t child, enum pci_id_type type, + uintptr_t *id) +{ + phandle_t node, xref; + pcell_t *cells; + uintptr_t rid; + int error, ncells; + + if (type != PCI_ID_MSI) + return (EINVAL); + + node = ofw_bus_get_node(child); + error = ofw_bus_parse_xref_list_alloc(node, "msi-parent", "#msi-cells", + 0, &xref, &ncells, &cells); + if (error != 0) + return (error); + + rid = 0; + if (ncells > 0) + rid = cells[0]; + + *id = rid; + return (0); +} + +static int +simplebus_alloc_msi(device_t bus, device_t child, int *count) +{ + struct simplebus_devinfo *ndi; + struct resource_list_entry *rle; + int error, i, irq_count, *irqs; + + if (*count < 1) + return (EINVAL); + + ndi = device_get_ivars(child); + if (ndi == NULL) + return (ENXIO); + + /* Only MSI or non-MSI for now */ + rle = resource_list_find(&ndi->rl, SYS_RES_IRQ, 0); + if (rle != NULL && rle->res != NULL) + return (ENXIO); + + irq_count = *count; + irqs = mallocarray(irq_count, sizeof(int), M_DEVBUF, M_WAITOK | M_ZERO); + + error = PCIB_ALLOC_MSI(bus, child, irq_count, irq_count, irqs); + if (error != 0) + goto out; + + for (i = 0; i < irq_count; i++) { + error = bus_generic_rl_set_resource(bus, child, SYS_RES_IRQ, + i + 1, irqs[i], 1); + if (error != 0) + break; + } + + /* Clean up resources if something failed */ + if (error != 0) { + for (int j = 0; j < i; j++) { + bus_generic_rl_delete_resource(bus, child, SYS_RES_IRQ, + j + 1); + } + } +out: + free(irqs, M_DEVBUF); + return (error); +} + +static int +simplebus_pcib_alloc_msi(device_t dev, device_t child, int count, int maxcount, + int *irqs) +{ + return (PCIB_ALLOC_MSI(device_get_parent(dev), child, count, maxcount, + irqs)); +} + +static int +simplebus_pcib_release_msi(device_t dev, device_t child, int count, int *irqs) +{ + return (PCIB_RELEASE_MSI(device_get_parent(dev), child, count, irqs)); +} + +static int +simplebus_pcib_alloc_msix(device_t dev, device_t child, int *irq) +{ + return (PCIB_ALLOC_MSIX(device_get_parent(dev), child, irq)); +} + +static int +simplebus_pcib_release_msix(device_t dev, device_t child, int irq) +{ + return (PCIB_RELEASE_MSIX(device_get_parent(dev), child, irq)); +} + +static int +simplebus_pcib_map_msi(device_t dev, device_t child, int irq, uint64_t *addr, + uint32_t *data) +{ + return (PCIB_MAP_MSI(device_get_parent(dev), child, irq, addr, + data)); +} From nobody Tue Jan 13 16:27:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5q3mp9z6NMtt for ; Tue, 13 Jan 2026 16:27: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 4drF5q14Yrz3L4s for ; Tue, 13 Jan 2026 16:27:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V8Yqv/+/sA7iN5gtRAqc2nDZf8Q2odZU428TbVMqkyM=; b=HE7lbOEkkGuxaynZOkOuIEJe0chBf/XTAVHZvcdtl8B+M5u3U0tucvp2Xir5NgElV6+Hhz hDb0t+vzTUFYZTCKlm1IFTvoMT4NTQpfD8vhTOU7qC5dODUGqdVFkGQt4kx5CyAGpMGF69 Y47WtAK3HjvA6zyJ8mq0aFVYoAMEVi0RSSD8V7QOJtun5YdTXEhRdj+OLSJOBdnD2z4plG ZJQqI7zwngaMH7+WIg2G2FyIkxALR8J4kmkdAf7xwZRvq4zvGi5OB7JSIubPq8IthDb+HN WWtcn+qZQw6m3SkJH9uUnSRxCfcXZMnR6dlyZMLw9QH5JEKVUFrqurkI46wLZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V8Yqv/+/sA7iN5gtRAqc2nDZf8Q2odZU428TbVMqkyM=; b=o8N/NtuzgGFZbTSuFL+RFGpqmnlt7AHgCfpSEn5ekuKX3WjZaZLA/5tHM6yLjc1jFw7EI2 Dlfkd3h6NWGvTOpsGsnyinK8XHhvCuvyUJmYkTW2GchYbmW24z5zt5rcpvZa9UGY7sl8lK /6juiDL8ph2abUClhUAMLFMMy1v6sG083fe9aIbHo1zYhRcPbKVM++2mwe0L1AD+HzTbGT josJ5107bDyFMWZONTCDsVFWaBqv0C6FV6ZAjS4LaJjqhNlvFyTTPcxU5UsUTlZtHv45He EdeSUCdOkLppdp3+l0J5KbqwjWtxuXcZXioNe7SfayxKOHqZUzBNV9bxG3fARg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321663; a=rsa-sha256; cv=none; b=KoEacLQ0LiYqR4yxNot632PS7XbpHqCLiDZLiRF+wyzLvnEwQLolUFBPHYTyWFzSUwSVrP /DN/jV30djujOsYsIG5xFsdOQgR1iTzPP0szvOuy/o8jrVlbPvjIXPUGLKtrAbem8eycTp Q8UvwdSXZm2OfztC+HOqgHTScPCAol2vZ/HKXNKyJkC0dQ+XFYIdgFBqmR9KiDWnTMxw5S JZzmkDLGj5rT7SLmuWh6EcClXNXbzH39o7QEYQ6lX0UpjGYV50IL9BIB0MSd/+5gz5Qa2j 1qy4JLqA+vKm6BgSCv4ODWPIHSds4HlqYZ1Nf2Km8ZlMuY0IL6UbDAuFnkz5ig== 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 4drF5q0VT2z4pB for ; Tue, 13 Jan 2026 16:27:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30515 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 4f3be1e456e3 - stable/15 - arm64: Add non-PCI MSI support 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4f3be1e456e3cba17b764f1807f886aea7ce0444 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:43 +0000 Message-Id: <6966727f.30515.6e25961@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4f3be1e456e3cba17b764f1807f886aea7ce0444 commit 4f3be1e456e3cba17b764f1807f886aea7ce0444 Author: Andrew Turner AuthorDate: 2025-11-18 18:00:30 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:20 +0000 arm64: Add non-PCI MSI support Add the arm64 parts to support for non-PCI MSI and MSI-X interrupts. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53331 (cherry picked from commit 4713f54013176fc73ada29cf094016fd3b328c80) --- sys/arm64/arm64/nexus.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index 26b3389db172..012bf859eb3c 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -72,6 +72,8 @@ #include "acpi_bus_if.h" #endif +#include "pcib_if.h" + extern struct bus_space memmap_bus; static MALLOC_DEFINE(M_NEXUSDEV, "nexusdev", "Nexus device"); @@ -123,6 +125,15 @@ static bus_get_bus_tag_t nexus_get_bus_tag; #ifdef FDT static ofw_bus_map_intr_t nexus_ofw_map_intr; +/* + * PCIB interface + */ +static pcib_alloc_msi_t nexus_fdt_pcib_alloc_msi; +static pcib_release_msi_t nexus_fdt_pcib_release_msi; +static pcib_alloc_msix_t nexus_fdt_pcib_alloc_msix; +static pcib_release_msix_t nexus_fdt_pcib_release_msix; +static pcib_map_msi_t nexus_fdt_pcib_map_msi; + #endif static device_method_t nexus_methods[] = { @@ -441,6 +452,13 @@ static device_method_t nexus_fdt_methods[] = { /* OFW interface */ DEVMETHOD(ofw_bus_map_intr, nexus_ofw_map_intr), + /* PCIB interface */ + DEVMETHOD(pcib_alloc_msi, nexus_fdt_pcib_alloc_msi), + DEVMETHOD(pcib_release_msi, nexus_fdt_pcib_release_msi), + DEVMETHOD(pcib_alloc_msix, nexus_fdt_pcib_alloc_msix), + DEVMETHOD(pcib_release_msix, nexus_fdt_pcib_release_msix), + DEVMETHOD(pcib_map_msi, nexus_fdt_pcib_map_msi), + DEVMETHOD_END, }; @@ -518,6 +536,73 @@ nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, irq = intr_map_irq(NULL, iparent, (struct intr_map_data *)fdt_data); return (irq); } + +static int +nexus_fdt_pcib_alloc_msi(device_t dev, device_t child, int count, int maxcount, + int *irqs) +{ + phandle_t msi_parent; + int error; + + error = ofw_bus_msimap(ofw_bus_get_node(child), 0, &msi_parent, NULL); + if (error != 0) + return (error); + + return (intr_alloc_msi(dev, child, msi_parent, count, maxcount, irqs)); +} + +static int +nexus_fdt_pcib_release_msi(device_t dev, device_t child, int count, int *irqs) +{ + phandle_t msi_parent; + int error; + + error = ofw_bus_msimap(ofw_bus_get_node(child), 0, &msi_parent, NULL); + if (error != 0) + return (error); + + return (intr_release_msi(dev, child, msi_parent, count, irqs)); +} + +static int +nexus_fdt_pcib_alloc_msix(device_t dev, device_t child, int *irq) +{ + phandle_t msi_parent; + int error; + + error = ofw_bus_msimap(ofw_bus_get_node(child), 0, &msi_parent, NULL); + if (error != 0) + return (error); + + return (intr_alloc_msix(dev, child, msi_parent, irq)); +} + +static int +nexus_fdt_pcib_release_msix(device_t dev, device_t child, int irq) +{ + phandle_t msi_parent; + int error; + + error = ofw_bus_msimap(ofw_bus_get_node(child), 0, &msi_parent, NULL); + if (error != 0) + return (error); + + return (intr_release_msix(dev, child, msi_parent, irq)); +} + +static int +nexus_fdt_pcib_map_msi(device_t dev, device_t child, int irq, uint64_t *addr, + uint32_t *data) +{ + phandle_t msi_parent; + int error; + + error = ofw_bus_msimap(ofw_bus_get_node(child), 0, &msi_parent, NULL); + if (error != 0) + return (error); + + return (intr_map_msi(dev, child, msi_parent, irq, addr, data)); +} #endif #ifdef DEV_ACPI From nobody Tue Jan 13 16:27:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5r5s3Rz6NNBs for ; Tue, 13 Jan 2026 16:27: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 4drF5r1y2Kz3LGJ for ; Tue, 13 Jan 2026 16:27:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7HuIJ+l5jaIRZoJrzSYFkEJ/bHywuW1/Lj/HVgMCffQ=; b=m9UPkNaCmIDqUMNcZyKfwVwr8UAA/oMg0jsXNAFNZwma8/VM7ab2SC3sF3BSZ6i0n8V+Iw Xn+4U7oJSaOaPhDIu2I187s42Tqb0bkuOJdoBHyeiCH5DWGxOx+hYy2yZz3Sftdld7W8gB 5W4soOu/o/TV/hCA3N3lEnjT3Is77GCg3rFF/Fm+X4pF2KH6p5ngpheq97Du1fMuKzR3Dy E2tpcBqf+f/Hxp83UD/ohgOhMomLmpFOofgAaQz3hFN+BwTSIKxxoWSd0w6cVFieJf930b s51cA0CTiGH3CrjRT2Z9P7h8bBZSrm99KaKHgvl1P83y7C2jYBPbO2vMDK6NWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7HuIJ+l5jaIRZoJrzSYFkEJ/bHywuW1/Lj/HVgMCffQ=; b=xAxBFmcAYqdmN+3GLnIT1bowRQ3a37mfN42RnYWFI6SoIZ6/Ahy1fwq4TRKI4JwEZDjdRI ViicVApbSD3vcE7NmGsBEXZk0yZumvuTjgzlZfAxf6KC5NBNHNZN55FfQB4QgugM66NQAB 6gPLqoSTP6kDd8+/m2DDsydjUPcKNh9jQ6IzOVWGSmAF5omAKLw+wvFZCq3LwTHwQ+/Q6M deDFJnxkT7J7xXGCgYWN7ex/+TYLdhz8I7V8Px1V8NTECTiAxOx/ycqBsoY9zAhbuBJqPg qVHIXvGzpv8Dj112l8eQIw7N8fF1OR0LZ0EE3F4ZQv33d8jGsVggrxjJsQ3IQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321664; a=rsa-sha256; cv=none; b=H5pBx3izUyVJ2K67BVQ+4pZqBqbXgQv58JPxc5f1Se01i/Xl2YJ/s93EaFiqh81Ab70kTP Ql51nUflFH96ze1P03hFlsaJeD3MCsVFtWC3OtjUavdjIsQOSTiC09+oekK2AFAOJlaODW alP/N79U+hu1l4yuUkCCzm92PQzKh9qjE4eDrL3fYBKwKVXvYa8/LsLN8TZfdIpxvrmhey /M8mU+LGAvQ/RH9PF++V0f+PthO2JM/CARvVTVoijo+ua//BcU71/Ba0hPx9VB0q4/2BYn /lbBTLrkGqrTVnjpgH4/Nu/urIH5Bk9Jzb7L7qNrouwJIMWELoXUU93Djgv/pw== 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 4drF5r1VX8z3m3 for ; Tue, 13 Jan 2026 16:27:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 276cb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 6042a2662e84 - stable/15 - arm: Handle GIC_IVAR_VGIC in the gic driver 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6042a2662e84c047cd1e1777cc68f8723b3c7ce2 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:44 +0000 Message-Id: <69667280.276cb.575ea7dc@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6042a2662e84c047cd1e1777cc68f8723b3c7ce2 commit 6042a2662e84c047cd1e1777cc68f8723b3c7ce2 Author: Andrew Turner AuthorDate: 2025-11-18 18:00:31 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:21 +0000 arm: Handle GIC_IVAR_VGIC in the gic driver We don't have a GICv2 vgic so can just return 0. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53662 (cherry picked from commit 262fadda370001eed2fd1a72592d79dbd533c650) --- sys/arm/arm/gic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c index b1b7aacd63ab..aca4410bf523 100644 --- a/sys/arm/arm/gic.c +++ b/sys/arm/arm/gic.c @@ -514,6 +514,9 @@ arm_gic_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) ("arm_gic_read_ivar: Invalid bus type %u", sc->gic_bus)); *result = sc->gic_bus; return (0); + case GIC_IVAR_VGIC: + *result = 0; + return (0); } return (ENOENT); From nobody Tue Jan 13 16:27:45 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5s5GlDz6NNBw for ; Tue, 13 Jan 2026 16:27: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 4drF5s39K8z3LJ6 for ; Tue, 13 Jan 2026 16:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Og4rS+hY2eqmDpQ5sJQoWFlwlrU8AmjnJ426yiNvo/o=; b=ovVksIzPWNvrKBB4roo9HRpvedgA7yifeRFmtGUv6JY5/EW/Viet/9keiLMVueijW0Tuwj 3vHKkX1pg2bSH7oV8rtRLwp8lxftpibLcAu8llD74si1LzThlb5P1DX52K/XfanI5szBYN +Er6h1wX4ut2+IFyy80YnJK1XWaym5ggK9Uh5CuNr7M49MY4bhXE9wxwH9kLZ5vtZpeWOG sfJtzZoABcW9i07DRf71G/GsGHixnqXOl3R8QTfSrMZcNDJIU4mSwi8FW0Fs0RGpwLlCEg Yorp/foIFN+5SdR0hiTxar1ut/yra6rYzd64geJHqtaBPemIlcgSt22b5UUFiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Og4rS+hY2eqmDpQ5sJQoWFlwlrU8AmjnJ426yiNvo/o=; b=RZBKUXRNp6z8rsIBELq4qn4atHXFO/+4cq8VfH2bAGj/SaLNyvZxQy4b2BoyxONgh0pvl9 0f9A9nj9iqFAVQp4MN0jDflnudiaPGucBiCzfXT1U74UPWxvDF4z/ouRBt9DSDfXy3jJQG Doi/VHQCgDMKtzgg4aK/JoMvF9I/Yqho4pBIUxYyOzkIeYnsnf5MqWJfl5PtVOUxA/9k2S uOXvdG1srAlwQ9AiTYlIym2e9wKF/hHUvy27OfqKojHbw1rn4EeCzLBL+BEk+5qx/x/2jd FtCO37itu54KxCdy42QvmHHAwx8mQcXgKWTtekjo/bllClJaqeONIe0WI4u4Xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321665; a=rsa-sha256; cv=none; b=GNpaO0w9O0XSU7o/GbS7STVjEdyzqrVvkzz+6x8jdOthA8nKNvKfaAIYr8dtRK5EJ1GvWO +U1c5ORQf4DvRLRYXcr2+MJuCPzh+XNpdgepyafca7PMNXNL4re9v+j+fBrSxXkynUhz1g 2vk0B+InkLkOXhjS2nWX2aOfeQRzGmTF6bvBolozuHvf9Kfwwkz0sI8BTJDgRXtXG9FpsY mCWKZ8GEtKkeZvzoaT2r9RCQ5V4UGZiko8rNCcj2QCCWQtD1k302/RAuZ7RzqC5j4mKljf zjvT+Qb/Z8SWOdOkF/szmPxN+CEWDdrEAzr4xF/cBw1G+dgN2N8wiSD6k68bvw== 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 4drF5s2Zs3z4lQ for ; Tue, 13 Jan 2026 16:27:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3039a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 19d538c8a5a7 - stable/15 - arm/gic: Make GICV3_IVAR_SUPPORT_LPIS generic 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 19d538c8a5a7f32a1c959c63490b141076bfb4d1 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:45 +0000 Message-Id: <69667281.3039a.56de28b@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=19d538c8a5a7f32a1c959c63490b141076bfb4d1 commit 19d538c8a5a7f32a1c959c63490b141076bfb4d1 Author: Andrew Turner AuthorDate: 2025-11-18 18:00:31 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:21 +0000 arm/gic: Make GICV3_IVAR_SUPPORT_LPIS generic GICv5 will need this too, so move to the GIC_IVAR namespace. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53663 (cherry picked from commit 8178a4e3c13241804bb9625b2ef4c1b3fea3c7d9) --- sys/arm/arm/gic.c | 3 +++ sys/arm/arm/gic_common.h | 2 ++ sys/arm64/arm64/gic_v3.c | 1 + 3 files changed, 6 insertions(+) diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c index aca4410bf523..c1b2cf626ed8 100644 --- a/sys/arm/arm/gic.c +++ b/sys/arm/arm/gic.c @@ -517,6 +517,9 @@ arm_gic_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) case GIC_IVAR_VGIC: *result = 0; return (0); + case GIC_IVAR_SUPPORT_LPIS: + *result = false; + return (0); } return (ENOENT); diff --git a/sys/arm/arm/gic_common.h b/sys/arm/arm/gic_common.h index c45832ec1782..c2d1b1340b9b 100644 --- a/sys/arm/arm/gic_common.h +++ b/sys/arm/arm/gic_common.h @@ -38,6 +38,7 @@ struct arm_gic_range { #define GIC_IVAR_HW_REV 500 #define GIC_IVAR_BUS 501 #define GIC_IVAR_VGIC 502 +#define GIC_IVAR_SUPPORT_LPIS 503 /* GIC_IVAR_BUS values */ #define GIC_BUS_UNKNOWN 0 @@ -48,6 +49,7 @@ struct arm_gic_range { __BUS_ACCESSOR(gic, hw_rev, GIC, HW_REV, u_int); __BUS_ACCESSOR(gic, bus, GIC, BUS, u_int); __BUS_ACCESSOR(gic, vgic, GIC, VGIC, u_int); +__BUS_ACCESSOR(gic, support_lpis, GIC, SUPPORT_LPIS, bool); /* Software Generated Interrupts */ #define GIC_FIRST_SGI 0 /* Irqs 0-15 are SGIs/IPIs. */ diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c index 201cdae6de09..43743ba588f5 100644 --- a/sys/arm64/arm64/gic_v3.c +++ b/sys/arm64/arm64/gic_v3.c @@ -494,6 +494,7 @@ gic_v3_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) case GICV3_IVAR_REDIST: *result = (uintptr_t)&sc->gic_redists.pcpu[PCPU_GET(cpuid)]; return (0); + case GIC_IVAR_SUPPORT_LPIS: case GICV3_IVAR_SUPPORT_LPIS: *result = (gic_d_read(sc, 4, GICD_TYPER) & GICD_TYPER_LPIS) != 0; From nobody Tue Jan 13 16:27:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5t6xHyz6NMrs for ; Tue, 13 Jan 2026 16:27: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 4drF5t4CP8z3LGg for ; Tue, 13 Jan 2026 16:27:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tixa5uNLPOPUi7ZQrz+neEgA4b2QaJ/EfjiCcPCxvAs=; b=CW/U3SpBu+y37GMZ44A8vadvLfBtIBTVL1ZfEUrKPU39G0v7f3jTALq8zaNq+8c09Gus4V rZUfcUT3tg9hL0M+ha6YWckil31R7rykJhPKaS8PfNeOKE0wEablZY15VPvFmtYLgALYEC 1jKlA6/e2wTe9zHdwoadPqY8WH8dpAbDdZLrq/CQmBdioIaXOGwvPNEBomDl2t/yyiOjqc e2KANW7bX+ZoXw4tTF+l0FbPcPbPnhBtYpmjPge17XYOO5VMWWEp3byB0o25y3aADluFam SXkxAam2f6Zuuyv0/KIUPYyDAc6gtQWYPbxKRCSrIP0WbuoXCilr4HI7zRblIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tixa5uNLPOPUi7ZQrz+neEgA4b2QaJ/EfjiCcPCxvAs=; b=XhlQZ87WY9MED9PHgT3cYVBe7YR2CsHmFEwu4xVXZynShVXhy1mZK8JI7SlwUxXMFAKNfv 9ySK0Ih0ugLGa1ME+4DmHtRFUmQk29YYtiOhLCwuzJYTkfPCkUYwooBNgxlS031jCbr2kL DqnD/kGVCx7FWqkmiPX8VtKwQL5PqrvhTNlReDExW9jZ7x3/kG1q7zqfLCnRWG7gVWMSvz sX70yuI/W6gO4r9gU/osPRoMOOyraHrTLoaVo/YzKD7h0jxbmJAC/jcb6bikmWIX27YTWs 9DIKW42sLhX6STkPNDra0GgYeH8ejxcgEmTNFuLdpo1RnwDI2DJR+MPHqeWjMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321666; a=rsa-sha256; cv=none; b=bwebK6a6kr4tSCxvvK5u5cndghzV/wmD53XvkLj5SE775PI3O42QJ1rJjvshLuxgljgCcT 82j4rbcdlqJBrTTVLBE/ol8ZWZkVn5/Y5OWVZJ5wlPVVlB4JOtXGuQPDniOxAz9ylbcT6v Mu7cNWAodA5LzUr22SaXEWFKOYeRhYXR/YpgJV5wwIDGu4B478cq+OKUrV82MVDWb9kyVh 7Rua/cEUJ/rfCzCvDSrSv7srihOUcbaOl1MQaYzlZ8R0FHbKiZJuVdnjRhzp0wg6WKt7Xh 5PdyLi+ecV1TcsJu75B3kA1/aOB2IzRK0ULphG5AVnvaFRjJN8dN7iyGHcZGqA== 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 4drF5t3Nmgz4pC for ; Tue, 13 Jan 2026 16:27:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2752f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: eb633cef3e07 - stable/15 - arm64: Switch to gic_get_support_lpis in gicv3_its 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: eb633cef3e0777dcd727fc437cadb6465cf785d6 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:46 +0000 Message-Id: <69667282.2752f.60f87fb6@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=eb633cef3e0777dcd727fc437cadb6465cf785d6 commit eb633cef3e0777dcd727fc437cadb6465cf785d6 Author: Andrew Turner AuthorDate: 2025-11-18 18:00:32 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 14:06:21 +0000 arm64: Switch to gic_get_support_lpis in gicv3_its The old gicv3_get_support_lpis will be removed. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53664 (cherry picked from commit 3ef673e98af669b5cf4e496bb2a1aab9020c480d) --- sys/arm64/arm64/gicv3_its.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 546a225abf09..7821b1512083 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -2222,7 +2222,7 @@ gicv3_its_fdt_probe(device_t dev) if (!ofw_bus_is_compatible(dev, "arm,gic-v3-its")) return (ENXIO); - if (!gicv3_get_support_lpis(dev)) + if (!gic_get_support_lpis(dev)) return (ENXIO); device_set_desc(dev, "ARM GIC Interrupt Translation Service"); @@ -2294,7 +2294,7 @@ gicv3_its_acpi_probe(device_t dev) if (gic_get_hw_rev(dev) < 3) return (EINVAL); - if (!gicv3_get_support_lpis(dev)) + if (!gic_get_support_lpis(dev)) return (ENXIO); device_set_desc(dev, "ARM GIC Interrupt Translation Service"); From nobody Tue Jan 13 16:27:47 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drF5w0Vr3z6NMrt for ; Tue, 13 Jan 2026 16:27:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drF5v53hxz3LPG for ; Tue, 13 Jan 2026 16:27:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HKATmzq4GJFKTKXkCTFDxWc4DkXR4smYys60Vg/ZR0c=; b=VgWTtJWtbuDp/+scFwtAYeCtWU5zJLlBAdCUlwvpeLmsbEYxfeKCTSgeBlAC/nSDDw72Oj DBhgyBNrbQKfsQe7vT85baXx5XPpLDA3t7Ggc0jJNEI5+9RyQ31a/D3Yd6lP9pdsbZ+dVL N4aY26wQtrS2PYG9+izXMBydmm25vX47B6C/XSaK0vhtl6IJa5l8vyVCrQ7TOjfsIh8Cj+ 6qOgEmxNVabdCTxJbC0z9japjASRZOwuRlJOyHOweRwKMQlh1IHNxLXXu0PzGDaJwvwglk CcH2dS624LuDtdJMljPXl606CI2Tytxa6BZp/dwe5o/aL2ox7AqLzLlRrgSWUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768321667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HKATmzq4GJFKTKXkCTFDxWc4DkXR4smYys60Vg/ZR0c=; b=yGGgiSAmtdZd/aatKUYtJk6qgN23jq6e9eRmyusweUwes20XKYsszgF1lBqZ6n7Y31STuY Tsr5BsRWQ/QtQ6WdsfJz+cAIey4C3qOKMWafDCKoZdMuUNFHQbM7yL1dNDt57Mk8P3YJI0 tLrJFZ1KAKcIo6Qv9h+GOx1mRhV2v3IdwbewLa5ov4a4nYEtIhq0YYaJ+nJtaEcAcoRdRW n0aqOr1hJbRuUKF4KdJIwp9N2ZK/aS58eUe4lZWbIawDCJ2DJVkoFszrPP0+I58bTtN3gG t8+PYv2QMyEAdVose/7fYvwDoyjht+2QkhDNZIGDoLEA65iIK3Yv9J5qwQXH0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768321667; a=rsa-sha256; cv=none; b=q5+jBE0VNhoEfHETyj9R1VCxKpO3WDC3KsSRaTK61b5WMkgM/oMBRVM/CZTwMwDBWNSE5y 5CKV1Winx8XkF1F8mcFMW7cXCg+AREvkhGXrb8q2XLRyREkzQ4Ug6889E9jIxZ/7Co1f30 PAqpzlqXqJJRkQC6Y1+EDWNZJraz9M/hi2Av3WKa4Z37He8uavehE7Sl218s7e1v8eYshy JqAr3e2obbTo5ndnlJRvaqXzxOisqEC61AI34Q786gJ2bXo26K6DWAe52ulcTH3EMbBT3K 9BMJjNeX7N0vpAAzdmENExsYxfmuQoUeTQlwW2yxBscrPuglk7rRPWwsn7gJbQ== 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 4drF5v4FW6z4m5 for ; Tue, 13 Jan 2026 16:27:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3021e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 16:27:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 683decf362ce - stable/15 - arm64: Correctly align the SVE signal context 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 683decf362ce0bbfd9ff917618f3e181bc8f1cd0 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 16:27:47 +0000 Message-Id: <69667283.3021e.2330abd1@gitrepo.freebsd.org> The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=683decf362ce0bbfd9ff917618f3e181bc8f1cd0 commit 683decf362ce0bbfd9ff917618f3e181bc8f1cd0 Author: Andrew Turner AuthorDate: 2026-01-06 10:35:55 +0000 Commit: Andrew Turner CommitDate: 2026-01-13 15:12:49 +0000 arm64: Correctly align the SVE signal context The SVE signal context needs to be correctly aligned. Fix this by creating a new macro to calculate the needed size to provide this alignment, and use it when setting and checking the saved SVE signal context. Reported by: cperciva Reviewed by: cperciva, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D54396 (cherry picked from commit a9e77eb7016df70723c208fc09fbd01ec23a732d) --- sys/arm64/arm64/exec_machdep.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/exec_machdep.c b/sys/arm64/arm64/exec_machdep.c index 7c50dc93fdb4..207e10ede96c 100644 --- a/sys/arm64/arm64/exec_machdep.c +++ b/sys/arm64/arm64/exec_machdep.c @@ -60,6 +60,10 @@ #include #endif +#define CTX_SIZE_SVE(buf_size) \ + roundup2(sizeof(struct sve_context) + (buf_size), \ + _Alignof(struct sve_context)) + _Static_assert(sizeof(mcontext_t) == 880, "mcontext_t size incorrect"); _Static_assert(sizeof(ucontext_t) == 960, "ucontext_t size incorrect"); _Static_assert(sizeof(siginfo_t) == 80, "siginfo_t size incorrect"); @@ -585,8 +589,7 @@ set_mcontext(struct thread *td, mcontext_t *mcp) buf_size = sve_buf_size(td); /* Check the size is valid */ - if (ctx.ctx_size != - (sizeof(sve_ctx) + buf_size)) + if (ctx.ctx_size != CTX_SIZE_SVE(buf_size)) return (EINVAL); memset(pcb->pcb_svesaved, 0, @@ -729,7 +732,7 @@ sendsig_ctx_sve(struct thread *td, vm_offset_t *addrp) { struct sve_context ctx; struct pcb *pcb; - size_t buf_size; + size_t buf_size, ctx_size; vm_offset_t ctx_addr; pcb = td->td_pcb; @@ -740,14 +743,15 @@ sendsig_ctx_sve(struct thread *td, vm_offset_t *addrp) MPASS(pcb->pcb_svesaved != NULL); buf_size = sve_buf_size(td); + ctx_size = CTX_SIZE_SVE(buf_size); /* Address for the full context */ - *addrp -= sizeof(ctx) + buf_size; + *addrp -= ctx_size; ctx_addr = *addrp; memset(&ctx, 0, sizeof(ctx)); ctx.sve_ctx.ctx_id = ARM64_CTX_SVE; - ctx.sve_ctx.ctx_size = sizeof(ctx) + buf_size; + ctx.sve_ctx.ctx_size = ctx_size; ctx.sve_vector_len = pcb->pcb_sve_len; ctx.sve_flags = 0; From nobody Tue Jan 13 17:48:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drGtX6Td5z6NTMv for ; Tue, 13 Jan 2026 17:48: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 4drGtX5dyfz3pjP for ; Tue, 13 Jan 2026 17:48:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768326484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=58wlVve3cvJoNT9Tdxv542xSpUpkPz2RlhnJc25ib6c=; b=AwmEd57RXA4ARO7N+2Ns9uar7KYKwF77OD+/qGEbpMRiNeeV8843Qs1VGnSC2oqnqsB3oj xcNGhsljg1nTHOwcTq3wcXuLWiavHOmTjdCHuPZS//qYCu3I7osbeFakKOadCwNS+8JF+a sfZp9CiBNSc+est0iPFmYfAMH3LngwJ6glPtuAOISBXadOtqyxmhwahxcoSMvoisHLNFfQ 0DM5zQRmoTbQ3nDTaRex1ILdlMOw9azYc5xtKz/mM5o7pRyGIu5gCOROtgC3CMvP8oSuLj bt7LFmMcCF2vjDaPXUi/J8DNXRyXRHtDCci6rfXbymw+Q7FOlYlo6/SeBVUa2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768326484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=58wlVve3cvJoNT9Tdxv542xSpUpkPz2RlhnJc25ib6c=; b=lAlvVZcV5wWfLztTcv18w0Xl6O+/D3hQbQ0JzM7EOY12aN1V2FJuKTCppZuqi4KkLC23hO Z/bkitwqD8ZsmgYPgok18j7GyqsAbm83FTFIUOeMeNqcNTNWRHQaN9iDlSDA7C5HutAMYZ 5VJ7VXhyTkrjyoX9K3230MYYO24H1TbI6T8uXoDMOxyt+62AQVl990+vUl4g+uj7VNjieM nGjb9lnaasGJl4SQ/JXQ6Nhxak4uMvTCa4B12sm5wmopxg9B6Ixg6VD5R+AT8PmikOqe7U yuhh6glIJrz0XWD6IBolfwIOIJMxJfwUHUrzwpxJQVzLOnMYdK8vzfBgbkwSGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768326484; a=rsa-sha256; cv=none; b=ngdQigI9DquXS+SGU8q7JZC//+whLIWMLnAvBFyXIfNnuPp6PaPqYXNsW24ga6cE3iuo8W ckOsmlPWFMc1X9N6NpO+85MZH7nX20sdYzLN8BIXv0wx8AYtbLXVxTyLj705LF/A/nTYOM UdApt1+/nmzWi7DIyinojZJ2PzWTt6BixUyn7a0wB5K58gLwQJF7N+19tr6Po2QNjyam2o 9qXbCjP1fSVSTAPki70F95TyxhMFuU3Mqqcs2WOjWRd3a8d6l4ZUedFpB0aO/vxsWhiADz emdcwFf9xTSIozk1rsOtJZUHhlMXMLcNpG41ApPbnF6fa9gTcwhu45DiBSj17A== 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 4drGtX58LCz6xL for ; Tue, 13 Jan 2026 17:48:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37ac9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:48:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: efa78078be9d - stable/15 - stand: Try to parse vdisk 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: efa78078be9dceb19655cf6dc4f400b1db940cc5 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:48:04 +0000 Message-Id: <69668554.37ac9.492e774a@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=efa78078be9dceb19655cf6dc4f400b1db940cc5 commit efa78078be9dceb19655cf6dc4f400b1db940cc5 Author: Warner Losh AuthorDate: 2025-11-11 00:41:52 +0000 Commit: Warner Losh CommitDate: 2026-01-13 17:28:56 +0000 stand: Try to parse vdisk correctly PR: 289306 Sponsored by: Netflix Reviewed by: dab MFC After: 5 days Differential Revision: https://reviews.freebsd.org/D52500 (cherry picked from commit d18ed8e19c3cb264340987bdc191615108d8413a) --- stand/common/disk.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index c1650f0fa1ec..47f882d5a532 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -417,7 +417,18 @@ disk_parsedev(struct devdesc **idev, const char *devspec, const char **path) char *cp; struct disk_devdesc *dev; - np = devspec + 4; /* Skip the leading 'disk' */ + /* + * disk names look approximately like: + * v?disk([0-9]+(p[0-9]+|s[a-z])?)?: + * so skip over the initial bit. We don't have access to the devsw + * to check the name. + */ + if (strncmp(devspec, "disk", 4) == 0) + np = devspec + 4; + else if (strncmp(devspec, "vdisk", 5) == 0) + np = devspec + 5; + else + return (EINVAL); unit = -1; /* * If there is path/file info after the device info, then any missing From nobody Tue Jan 13 17:48:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drGtZ0M98z6NTMw for ; Tue, 13 Jan 2026 17:48:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drGtY64rwz3pjQ for ; Tue, 13 Jan 2026 17:48:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768326485; h=from:from:reply-to:subject:subject: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=QLlKdDhdzXxveF80pnXY61b86fhGvc/4pCdrcDtKf8E=; b=RBWErOCXoXQw5wx0XEkBw9PTvy1f3vmQzlsI7HjJMoIYkWBZLgq2YinJcOLs/z7Hv6H2tX 7YV+1B4BNB2mWNpWHy6Aqf/qpp5XgWdHU5c7PS4clEaMhtnrJ46zqlFJABy598KCvHAoc7 Jhn816X7JPz3E3WlXVKaImzCePKC0shV5wxCUsuTaQP1QgZ+hjPde7OehLEYbYn/dPZihP sQPNhbj8CIurdZIY/wZqwCm6MXEGg/3q+UQbBNRNXPnkX16l5l7uqg/Brud9Dn8FEBefb+ pUAWxGGUZtHDg6tGmA4CsFxEGP0F8GGGpnIEkyZh0GFfmvnUw3A6L/8tWbIl1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768326485; h=from:from:reply-to:subject:subject: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=QLlKdDhdzXxveF80pnXY61b86fhGvc/4pCdrcDtKf8E=; b=swnLKBKEjPxUHIk4RMc1+xdLZag0EeiWXdaGCcnRp713Cl0BEjgHoy907756QD71drhDVI okMP9e0hrNhPUWli0PolqFROZUJRFkWvq/1K8QivyxvpQs1c5VDApMS4looIG5uza7VyRi oJqj7FHZFdwHOhvEAKlpjMB/4Mvi3BbgPR5sejPNMPhlSzZDmUdPmMIJnICI4kVdk56Mhy 5QbS11TReqGAYX9jwZCKFIDtGLzdz6h9TdC35cVFcL095V7CraHZ4ESLK/2z/N40LqGbTq 4xp0hNwJ96sscr/JaHyj9J/yHDscxfL7XvJOaHOuaXHQyPYJdiWFUoq+dpcgHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768326485; a=rsa-sha256; cv=none; b=ZmjVGwqLd9YZVIR5WA88yzilpXkd0gVye9NCM3nJ+0naVsEvLjh76vPLIVzeAsU17sCgrU g3LPpRYmaNxqmWZNWhqjl5NoE3TkYWnTmdtb0ldP+Mymxfvrd4y22dviWnPW5f/vfn6zcX EqmTx2PAC4k25pUIWew38SOYEyyRnuW8NwodD4thCsDYGdf6eU3RLGMYBXqYzsf6M0SQvO 40PU3dKjg0V6KX997Zk4b9KJz8MM/hPEt36VqJu558fRLUguPseyOI7lV5AuPj1Re4Velc xueq3BHA9Hu+I1ft//BpVsxJNRON6TrHaBFIYgfmI2ZNwE9RHAaLAZBZHc8EOA== 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 4drGtY5PGbz6vD for ; Tue, 13 Jan 2026 17:48:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3795d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Jan 2026 17:48:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Jarmo Jaakkola From: Warner Losh Subject: git: 34c94bee0cee - stable/15 - loader.efi: Only use SPCR if enabled. 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 34c94bee0cee0cbf67e14d47809acc751fca8da5 Auto-Submitted: auto-generated Date: Tue, 13 Jan 2026 17:48:05 +0000 Message-Id: <69668555.3795d.7e64eee1@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=34c94bee0cee0cbf67e14d47809acc751fca8da5 commit 34c94bee0cee0cbf67e14d47809acc751fca8da5 Author: Jarmo Jaakkola AuthorDate: 2026-01-08 05:14:56 +0000 Commit: Warner Losh CommitDate: 2026-01-13 17:30:21 +0000 loader.efi: Only use SPCR if enabled. SerialPort in the SPCR is zeroed when serial redirection is disabled, rather than the SPCR being omitted from the ACPI tables ony many systems. Check to see that SerialPort.Address is non-zero before using. FreeBSD would fail to boot on systems that could have a serial port redireciton, but don't have it enabled because the loader would create a bogus hw.uart.console. While one could unset this value to boot, you couldn't do that automatically very easily. Instead, don't even look at the SPCR table if the SerialPort is zero'd. PR: 292206 MFC After: 3 days Sponsored by: Netflix Co-authored-by: Warner Losh Closes: https://github.com/freebsd/freebsd-src/pull/1948 (cherry picked from commit d82698ac68c23d856716dc9f6524b9ef363d7eba) --- stand/efi/loader/main.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 436676368447..607d765a3245 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -850,10 +850,10 @@ acpi_uart_parity(UINT8 p) } /* - * See if we can find a SPCR ACPI table in the static tables. If so, then it - * describes the serial console that's been redirected to, so we know that at - * least there's a serial console. this is most important for embedded systems - * that don't have traidtional PC serial ports. + * See if we can find an enabled SPCR ACPI table in the static tables. If so, + * then it describes the serial console that's been redirected to, so we know + * that at least there's a serial console. This is most important for embedded + * systems that don't have traidtional PC serial ports. * * All the two letter variables in this function correspond to their usage in * the uart(4) console string. We use io == -1 to select between I/O ports and @@ -869,8 +869,12 @@ check_acpi_spcr(void) const char *dt, *pa; char *val = NULL; + /* + * The SPCR is enabled when SerialPort is non-zero. Address being zero + * should suffice to see if it's disabled. + */ spcr = acpi_find_table(ACPI_SIG_SPCR); - if (spcr == NULL) + if (spcr == NULL || spcr->SerialPort.Address == 0) return (0); dt = acpi_uart_type(spcr->InterfaceType); if (dt == NULL) { /* Kernel can't use unknown types */ From nobody Wed Jan 14 12:29:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlm35NXBz6NLJg for ; Wed, 14 Jan 2026 12:29: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 4drlm32rPMz3rWR for ; Wed, 14 Jan 2026 12:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ttitV6g8eSAjp9a8op5L88y1e0Ork3IQ7JKhMeURrvg=; b=hMizgyhsaWeogtik6W7GLWRwKlNYVl73UmCrhHD/5fuQNvgHKoDJ3TnOyEWs4qw0pHLSuJ i+pYjHYnPHCZjryCAZcCxm7zPxG3829FX98q2stsTKicGAnkUep5UlYez6MNHUDifVWNqI gzPXp4gJq6i6yUtAFHQM/wiHMu5cj+X4hDFoKHftA7ydm0NuafWzVK/XQ3CDAZ++He9t4V H3+vTg0qKxCsOZfT9RPT1FJq6N2jtjULtxcAmjaOGxE+YhmStMmDG5jyApJFmlDwPO+St0 DxW5e0Pl7yOjVCJ7tcNypuAiWMCwN8HDf0Ugawxylloa0mhXCq/l6yroScfVNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ttitV6g8eSAjp9a8op5L88y1e0Ork3IQ7JKhMeURrvg=; b=HByGrSwyIGzVwi95g9K+hbUqxpF+cfmgP2rvKwPQvP1h1sHJgG/D3k9ItnxpypymkfavyA lqhqgNFuCkrHv6/yQC5K7WwMJefPWgpYb9Mnk3qHGQydTjthpSwuM2lWkLzcSHGlDbHCm0 f8m6/AOeel89WVgnVMOgy5U+6JayG1+XlnR2oxjeJNm7Saft2/rHJ6dzl1UQ9bMn+TjrQN WKrQB/ns0okTo/GR0nRq92kD3WzZipzevqsf9eV/0Iv8vrUHcyFrQmz78lbamLUDf//p6a dNfbX97fAxD2O6hxQRRVM2SFDkRdtK8KBm9/pR/8gmAHH5HkKQVtZgxusKJ+Vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393747; a=rsa-sha256; cv=none; b=bljOSGLWHiM0dk9ROzDlX5Hw25BI8MfxzWfhGRUY3D/F4Cxwg7UpJP15Yr6gTVCn4csJbB x7lGuxh4V7ZAvuL/SL0rnUAjwLJyeHDJlZChoCbR+jdIobWN31DCmd5sJ8RZ6PhIawCZiF 2yJWoWPt1xBrghqoE/N5T3AjpoN7nYGAy36eNmnbvfHfRNUskhHyVOaPlBhCFQD7EGFEE9 oKXXWVtzAOvHeiCk3ijotutDP2U8L7KJqfa8e23K0Cx2bWjYD5B403v028JmyzyBPJtRIS H9s/bULuvOlyn01FpIF6TSCKA/wje0ZwagBOQQmg2yh8CMp+NOh+Ezt2xH4XyA== 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 4drlm322jzzyHF for ; Wed, 14 Jan 2026 12:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d461 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:29:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 5ba67163a3fc - stable/15 - ncurses: readd "bsdpads" 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5ba67163a3fcb2e4288f5116fa57c2b2758043d6 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:29:07 +0000 Message-Id: <69678c13.3d461.3931623@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5ba67163a3fcb2e4288f5116fa57c2b2758043d6 commit 5ba67163a3fcb2e4288f5116fa57c2b2758043d6 Author: Baptiste Daroussin AuthorDate: 2025-12-05 10:18:48 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:28:38 +0000 ncurses: readd "bsdpads" During the import of ncurses 6.5 some bsd specifics configuration where lost and reintroduce quickly after the import, unfortunatly there was a typo in this fix which caused the "bsdpads" to not be enabled in ncurses. Fortunatly only very old programs may be affected by this change, unfortunatly Nethack (in the ports tree is one of them.) PR: 287358 MFC After: 3 days (cherry picked from commit 836a0d46320c18d83029bf138b630b6ce5ebe6ae) --- lib/ncurses/tinfo/ncurses_cfg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ncurses/tinfo/ncurses_cfg.h b/lib/ncurses/tinfo/ncurses_cfg.h index 33890f300310..e26aa49763f0 100644 --- a/lib/ncurses/tinfo/ncurses_cfg.h +++ b/lib/ncurses/tinfo/ncurses_cfg.h @@ -61,7 +61,7 @@ #define MIXEDCASE_FILENAMES 1 #define STDC_HEADERS 1 #define USE_GETCAP 1 -#define USE_BSD_TPUTS 1 +#define BSD_TPUTS 1 #define HAVE_BSD_CGETENT 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 From nobody Wed Jan 14 12:29:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlm96ZpCz6NLg6 for ; Wed, 14 Jan 2026 12:29: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 4drlm9451Mz3rmM for ; Wed, 14 Jan 2026 12:29:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tX5f7P1dGu+CcMTzwtMmQm8vV+G/DaobaqugEtrMNsM=; b=gyDyyeccCuQC0/9kJFIn8BGPDZ132fFVx+yjPo7zxo/A0ZIgyFpHj7jusch43LDwKBLRUC qgvx234uEgMEjYtUK7UimEUo8WFhUggFBrHk6/cjWVe1S2mwGhqTFeeMv2MzvtBCNq8Suj hm7wyQwH8GYbsOt7+BLU6i+nO0dbmDs192pnEzCCQN592oBbHVooYQnFrLeklU++M5RfgV 7/LGBLaw04kQIsk9ZmZ0HhQ3l7jmwLjlhdbpJ8v4J8Q/K6G/Hg5/dcIlTv7rQTfG5o34VL cqvfCS3SKK9B4ht+4XyWeEdaGR4+rwc2nqAiUc7vGqLdC0t9aZTCcaDIOYpfdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tX5f7P1dGu+CcMTzwtMmQm8vV+G/DaobaqugEtrMNsM=; b=InSjfNsxzB1k6DAQEmEkgd73sC+7piaf3Y94I7N2shlZqJpJY1y6QM7U9sNTB4y76O2K3e vJDlOw/WZZEv8IIyK+sDEwcrvZU8Xdnu/bKhIQdRnMj1POsm9eRLF1cBOK4Op2eCVMmC99 V8d3EXvMEdAdUMIM7GHnskG5fql3sft5mEXUJ5H9B8Q4ruSpLJVWepUkxyhM+2WZqx4+6R jIe3911vD8CzjNVVJ5dD3hOtNpoSHXYVMypaResYfIOOtDFJnzLFhRFNOSYRlinq/evB3l 7UbgM9YnCE3yv4YqORbRyjShQ75S0dbL0dl20QvVP8ZObMKk9q8C+0Ncq58xIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393753; a=rsa-sha256; cv=none; b=Y0AeT8Ysax4HX0A6HYXRJ5pyc86a53N+eVJ1eViKoryjQo+9Zr/bTXpxwLzhQChEzWdd8y 9QLCi03/hSbnJCOu7rGNMdWK4HE/pbSX8FFnP+rSP/g8tJ0W/6Yl1KNmoeheMz9wHzZRvZ Pgh+9N7BBdy83scoEnETr0ZxdIqgKxaoH2WOCSQY4qQXxV3WI1NSnSAyWgOqdXWfMXZUSL 6Bnfv0ftmA56GZMmE3HTIZv1wjd1myCNL6Syi98MfLWOXE0i1Eb3NAMYq+lbSYwCMlUEYq 1IuaKzXsdRrMglg6NPP74U7CHgA5rfCrStG4pSOc2iY0FB13+LZf8uPCAFrIKA== 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 4drlm93WqYzy46 for ; Wed, 14 Jan 2026 12:29:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e584 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:29:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 9b9ebc918a67 - stable/14 - ncurses: readd "bsdpads" 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9b9ebc918a6782a717f8380d1d65572804a102a9 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:29:13 +0000 Message-Id: <69678c19.3e584.1254ac40@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9b9ebc918a6782a717f8380d1d65572804a102a9 commit 9b9ebc918a6782a717f8380d1d65572804a102a9 Author: Baptiste Daroussin AuthorDate: 2025-12-05 10:18:48 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:28:53 +0000 ncurses: readd "bsdpads" During the import of ncurses 6.5 some bsd specifics configuration where lost and reintroduce quickly after the import, unfortunatly there was a typo in this fix which caused the "bsdpads" to not be enabled in ncurses. Fortunatly only very old programs may be affected by this change, unfortunatly Nethack (in the ports tree is one of them.) PR: 287358 MFC After: 3 days (cherry picked from commit 836a0d46320c18d83029bf138b630b6ce5ebe6ae) --- lib/ncurses/tinfo/ncurses_cfg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ncurses/tinfo/ncurses_cfg.h b/lib/ncurses/tinfo/ncurses_cfg.h index 33890f300310..e26aa49763f0 100644 --- a/lib/ncurses/tinfo/ncurses_cfg.h +++ b/lib/ncurses/tinfo/ncurses_cfg.h @@ -61,7 +61,7 @@ #define MIXEDCASE_FILENAMES 1 #define STDC_HEADERS 1 #define USE_GETCAP 1 -#define USE_BSD_TPUTS 1 +#define BSD_TPUTS 1 #define HAVE_BSD_CGETENT 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 From nobody Wed Jan 14 12:30:58 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpB3Lbkz6NLvN for ; Wed, 14 Jan 2026 12:30: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 4drlpB2M4jz3sQs for ; Wed, 14 Jan 2026 12:30:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393858; h=from:from:reply-to:subject:subject: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=UT9akDwJOqICzApl1k4jIMoZF+eY9lAEmwUIMuA/iGE=; b=XSvVqhkUZmTgPzu3YmMMxmN5oPwBI2FNdRNlemE1khBE1do1Avz5Z/8Rg/sLuI81eLJfxw ojLKcaMMWST6+C/4sY+QhzCB5KZekqjAq6aEuKEODs6b/g8R9fsvVGWWMiye7tnQrEDfNv AlyErfJ6TaIwDjoJ/sf4JPmjhY1nVDDSL2++tdzYfEleOa0nB07M4c5Skw6emdHW1ZpSO2 Ab/uLT7+meOKN0MYgIXgh40gfMVkusFABCdFOjWwJS5M6m9Z2lG8CuzLTQGNGrj7gqhcfJ iAuAxp8XZc89hexmZDSh7wC4kPHz5FVki886q82RX0iUD3M8J2g7OWLSiDAbSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393858; h=from:from:reply-to:subject:subject: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=UT9akDwJOqICzApl1k4jIMoZF+eY9lAEmwUIMuA/iGE=; b=dl7dDcFUWVoi1PLU0N5rARhLO4RiEvz8sYyEYOJoF5iogHdaS+CSWaR5XH2flczVMuo/JT Rz1RtJ6W6tX0uBEPKZBr8+kOzerknM4tFNQ8NgpZRxoehPeZ3IuIrIhpxEvzEfFpvBw8vL Hhrvj3hsEqughciPaoTBAIrEhD05g0cvSw8fElkaUKBtuhk+ib/8fIBx2lJc8ZkZV2hPda 7LjTzNVOlaxdtKvjSA08uBywygITrNUjbrtZWqIHA2WdVEN72Ta1zOS/Vfnot2AqablAG6 pLEWQ7I+W80n/l+kBOpG5YvsZ6OhOhWzTJ3RDaE7IHyenrlrrUHzwCsEorau6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393858; a=rsa-sha256; cv=none; b=OSm8j1+o4+1ZM14PabKpiamo8wW0Drc7f38xdwdlnKL6SgmxRsRGhxJXfzn4dzUhXW3Ggr TWAOYY6NUNFiF+LOW4usibmlA0A7xc1edu+4OnZQ3vFvPOnjA1iy8z4YLsFTfpyDnxhsmV gg/bsk0plah0x9GmjzzFSLkt7MkUKTx454XKUweECbYBIaiwmnLQoOF7G/ccf3o1xX4ytQ aas5vx3DOrvkGR2OQzjQ76yrZ2+rTqxC0RMrh1N0aKQ7xSxqVO7sRwkZ6V16UCuij9HWjQ ovMUBFlwoL+nP2d+nID3pfyMZo23yajAxS7TJnS+WDcTqUtcZQh56Kd1Pto54w== 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 4drlpB1tZ7zyGq for ; Wed, 14 Jan 2026 12:30:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e43e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:30:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 5ec4bf778183 - stable/15 - nuageinit/man: clarify how to enable sudo and doas 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 5ec4bf778183ced2ee247e12502685b66f32bf95 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:30:58 +0000 Message-Id: <69678c82.3e43e.28c8d67e@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5ec4bf778183ced2ee247e12502685b66f32bf95 commit 5ec4bf778183ced2ee247e12502685b66f32bf95 Author: Gonéri Le Bouder AuthorDate: 2026-01-03 23:10:18 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:42 +0000 nuageinit/man: clarify how to enable sudo and doas Clarify that both `sudo` and `doas` are not part of the base system and they need to be listed in the `packages` section if the user wants to enable them. MFC After: 1 week Signed-off-by: Gonéri Le Bouder Pull Request: https://github.com/freebsd/freebsd-src/pull/1944 (cherry picked from commit 402f1353707783e2adc8d0bff01faf557820f6f5) --- libexec/nuageinit/nuageinit.7 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index b527c984970c..bb646cf4a652 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -3,7 +3,7 @@ .\" Copyright (c) 2025 Baptiste Daroussin .\" Copyright (c) 2025 Jesús Daniel Colmenares Oviedo .\" -.Dd June 26, 2025 +.Dd January 6, 2026 .Dt NUAGEINIT 7 .Os .Sh NAME @@ -321,6 +321,15 @@ which will be replaced by the current username. A special case exist: if the entry is a simple string with the value .Qq default , then the default user is created. + +Configuring +.Nm sudo +or +.Nm doas +does not automatically install them. Ensure the relevant command is listed in your +.Nm packages +section. + .It Ic chpasswd Change the passwords for users, it accepts the following keys: .Bl -tag -width "expire" @@ -395,6 +404,7 @@ users: packages: - neovim - git-lite + - sudo package_update: true package_upgrade: true runcmd: From nobody Wed Jan 14 12:30:59 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpC69TZz6NLvS for ; Wed, 14 Jan 2026 12:30:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature 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 4drlpC36N3z3sNr for ; Wed, 14 Jan 2026 12:30:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393859; h=from:from:reply-to:subject:subject: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=pfDTgySHxSyqLeglWIH/mU2b5/GclEISpfEBwGFBCt0=; b=cxneneP7RPGhsyYC2E1vHaBLVzry0TsS5Lzkyy300RTtt36mN/e6YlVwAACCcUsRg8VxC9 cZFm4WiDFmk7d1qAScabplFaNXiHUnLx/JjqKrRehBWC3DpQCQfNPjlIIhJTMzc8OkQvGV APZgE+awuG5Kq4eZQkXewi6u6/h3zlCOXMqghh1mUAagGPXdZ5xIofXGZNAQkYrHto/e6u QrAzKB4/4rapkOVpARE22xLdoqvCsK80C5SkuYvYC6/6wPNuipn6DYJJ7/54ejwJOtqQg1 XqrFXPT8kGky7BV+Y3XFzPVj28PU4RhHjx+SsCmR3+c1C7FYp3AxCX8FNfWhWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393859; h=from:from:reply-to:subject:subject: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=pfDTgySHxSyqLeglWIH/mU2b5/GclEISpfEBwGFBCt0=; b=Hvwg4FfFF/yufQ2kMsdBk1AbPTVcTBgg/skGwX+ZhHQBHRok3xLr33kS+3vHOccJ5JvCVz Qc00p6kxef9xie31zNsx1TAxspyS6YnfZYHTPW8T1VHmDGRS9q94yoFPizT96CUQA4q3Oe 1ceJvPTGAp3evlWEwJIRyj9xCgldysxNv93bEVO1Q9RQAlgbe6BlFNq+xYjXVPi11Z9gV8 BYW5L5Pu00jjjM11dpejLz481YV2Eo82TQu/ixmKAeU0KLZyfaZVXgUTTwnisFPAd7Upt8 nacEiWZNWu3hw2gBHncOEVfZckWBKSa0nk7JmlUbdq9j/vuICA5cHC8GDe0OBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393859; a=rsa-sha256; cv=none; b=Ue/QtDIfedSgi2DOVgJPasC5731BkTMGzWYf2E8XYGbZa1q6UgzBVGTQ9xCI9h4RZ5Gy1O PtofZgegKkL3+BxPpsFq1yPkjAn3xDMlW6/QvQHpoEj5KlqEiJopVj7FsB5admrsHq1Hzj 6xuENgRCMNd2wm4Zb56zV4SiFCb5/tjZ1+rqyBxFoMSwY1D2+CT6awzwnBf7DSqPknZ0N9 WUHeN+V1pKxrbdb7LwOLAXXqW4X6UQjw3I7DDCONLsAsoNxcff3jKmQiNJh2UoBRG7yOGz Yv/XtvO08dvBktjhMCTT5Otn57tSvK0BtyYYDSrRG+GXJV2hdsdRYPR+Ac/hDQ== 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 4drlpC2Z8hzyHY for ; Wed, 14 Jan 2026 12:30:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d3f0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:30:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 4702a1166ae1 - stable/15 - nuageinit: config2_network support dns service cfg 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4702a1166ae14394dcff07373b25a36071c3e26e Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:30:59 +0000 Message-Id: <69678c83.3d3f0.1ef41694@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=4702a1166ae14394dcff07373b25a36071c3e26e commit 4702a1166ae14394dcff07373b25a36071c3e26e Author: Gonéri Le Bouder AuthorDate: 2026-01-03 02:11:55 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:43 +0000 nuageinit: config2_network support dns service cfg This change enhances `config2_network()` to honor the DNS configuration, when it's defined through the `services` section. The `network_data.json` file can hold DNS configuration at two different places: - within a network configuration entry - or `dns` entry in the `services` section, in this case the configuration is global. An example of such configuration: {"links": [{"id": "interface0", "type": "phy", "ethernet_mac_address": "52:54:00:01:59:03"}], "networks": [{"id": "private-ipv4-0", "type": "ipv4", "link": "interface0", "ip_address": "192.168.123.5", "netmask": "255.255.255.0", "routes": [{"network": "0.0.0.0", "netmask": "0.0.0.0", "gateway": "192.168.123.1"}], "network_id": "9e5b1ed9-f5e6-4941-a90f-2e06bab858de", "dns_nameservers": ["192.168.123.1"], "services": [{"type": "dns", "address": "192.168.123.1"}]}], "services": [{"type": "dns", "address": "192.168.123.1"}]} See: https://docs.openstack.org/nova/latest/user/metadata.html MFC After: 1 week Signed-off-by: Gonéri Le Bouder Pull Request: https://github.com/freebsd/freebsd-src/pull/1941 (cherry picked from commit 7af8b75201b7af353fa74c8feb937b52f5ccf9bb) --- libexec/nuageinit/nuageinit | 25 ++++++++++++++++++++++++- libexec/nuageinit/nuageinit.7 | 2 ++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 0870d6570d0e..aa7d1e4981e6 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -235,9 +235,16 @@ local function nameservers(interface, obj) resolv_conf_handler:close() end - if not os.execute("resolvconf -a " .. interface .. " < " .. resolv_conf) then + -- Only call resolvconf with interface if interface is provided + if interface then + resolvconf_command = "resolvconf -a " .. interface .. " < " .. resolv_conf + else + resolvconf_command = "resolvconf -u" + end + if not os.execute(resolvconf_command) then nuage.warn("Failed to execute resolvconf(8)") end + end local function install_packages(packages) @@ -571,6 +578,22 @@ local function config2_network(p) --end end end + + -- Handle global nameservers from services section + if obj["services"] then + local dns_servers = {} + for _, service in pairs(obj["services"]) do + if service["type"] == "dns" then + table.insert(dns_servers, service["address"]) + end + end + if #dns_servers > 0 then + -- Use nameservers() function for global services + local nameserver_config = {addresses = dns_servers} + nameservers(nil, nameserver_config) + end + end + if #ipv4 > 0 then routing:write('static_routes="') routing:write(table.concat(ipv4, " ") .. '"\n') diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index bb646cf4a652..19f92873de51 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -117,6 +117,8 @@ file supports the following keys: Array of network interfaces to be configured. .It Ic networks Array of network configurations to be set. +.It Ic services +Array of service configurations to be set (e.g: DNS). .El .El .Pp From nobody Wed Jan 14 12:31:00 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpD4m6dz6NLgh for ; Wed, 14 Jan 2026 12:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlpD3fwbz3sTf for ; Wed, 14 Jan 2026 12:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4sKRC9mkcLKeiTmbxzNG6ToYDYQKFL7ARfN9YT2T4To=; b=caFA1ygCbhtkdewV3tIYKFji+s4HxzQJzOD+Y3GwlPwzm+UOE2U1ma49ShT+t87CgDBbmH LMILogzE8HYc7Qc/+YMmz0TFLStsuISXM9NCekMan4HLjMHxrHfLl38IypITY29ZiABhnD 7Qm2wM3bGMwiAq4JiCrYM46bumrbyCp2sea2TaFnhelFq6kT3KhG2G76kIi08vTwcMypRS NNc+E3SRIxRBJTVqr+DgsHGGSBiDyhE2L8Eq9Zzl9xjRt7zKfhRWVA6Yf5exNktSrf7akk M9BZqfe6NL/aeafYEYUoxFXjJ8abozX/lUCAiL80nEXRxsynzP0f7xrnom2u1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4sKRC9mkcLKeiTmbxzNG6ToYDYQKFL7ARfN9YT2T4To=; b=pzW3//DI1xm7iFTjhfAZ3v3rne1v9t366hbM+fsT4HeE9ormSmkyEiS5lOAbIqlf3bosTU NQc+21mkv9AAF6mwvl8TKVQFs9iWeigaTHaqiNhqG0LZeCOsncBqLdrfr3PWhSeDJa/vpG jhMuMyXTd4hww1BBOtONGspCzzvfch1aYVitvsiJDBgTqSqdp0RfLXPAtTRlP2FWQGyYnL fbkpFZO9EXC0tNHii0w5bgbqwCS8BU+cGCT9tvLAnAeqY9LvWibBOaOAmF/x4v7sE4PpDE fVi0U6zz1ZGWAa5JSVBQIL5LnpD1FsjChyeeVjgEC8el6T0C7MOSXf/RUTEHqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393860; a=rsa-sha256; cv=none; b=kXTHmjSbPgdLnFDBc5WoxbW3OQAoaA5FIGSmIIuTUqVoOISSXC5Ed+nMHYWknh7G+alYxZ hpppQrhHskLmUgg0d4Qg4jhh73JgKC2O8dyeVG/6g0YfEdGyGXhGbuXkL1C5DDxoHKkPHz EVvkkdWNky/neN+dGfZAnq0N/9MTuvUfkpRwcOC+xz+wZPkXWieSLdgqp8XmjjASbgGxeD B6cJwLgbqCD/JQtjoU4Pj4fdAsAHsZBWCG1HkYZ/06bgXPX8sRbwdLt9r6Iw7/FpNzmslT vhHXedDVrCGUdlwxuSI1FoSSE59G5Sbyzw6C3Vd4I+Mi9SOjd2wEEOT1lVqKGg== 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 4drlpD322czyHZ for ; Wed, 14 Jan 2026 12:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d56f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:31:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 57a7fa9c9231 - stable/15 - nuageinit(7): pert mandoc linter 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 57a7fa9c92314a6ec641c56ea1716e47ca249332 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:31:00 +0000 Message-Id: <69678c84.3d56f.7777612c@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=57a7fa9c92314a6ec641c56ea1716e47ca249332 commit 57a7fa9c92314a6ec641c56ea1716e47ca249332 Author: Baptiste Daroussin AuthorDate: 2026-01-06 08:24:50 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:43 +0000 nuageinit(7): pert mandoc linter MFC After: 1 week (cherry picked from commit 9ea30bbb0e3c34b3ea369e217d930e2165610c0c) --- libexec/nuageinit/nuageinit.7 | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 19f92873de51..fe17bf09fe86 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -150,7 +150,7 @@ is not set. Sets the system timezone based on the value provided. .Pp See also -.Xr tzfile 3 Ns . +.Xr tzfile 5 . .It Ic groups An array of strings or objects to be created: .Bl -bullet @@ -191,7 +191,7 @@ Specifying the following parameters from a file named takes precedence over their specification from the .Ic network parameter of -.Pa user-data Ns . +.Pa user-data . .Bl -tag -width "ethernets" .It Ic ethernets Mapping representing a generic configuration for existing network interfaces. @@ -202,10 +202,11 @@ rule is specified. If .Sy match rules are specified, an arbitrary name can be used -.Po e.g.: id0 Pc Ns . +.Po e.g.: id0 Pc . .Bl -tag -width "nameservers" .It Ic match -This selects a subset of available physical devices by various hardware properties. +This selects a subset of available physical devices by various hardware +properties. The following configuration will then apply to all matching devices, as soon as they appear. All specified properties must match. @@ -213,7 +214,7 @@ The following properties for creating matches are supported: .Bl -tag -width "macaddress" .It Ic macaddress -.No Device's MAC address in the form Sy xx:xx:xx:xx:xx:xx Ns . +.No Device's MAC address in the form Sy xx:xx:xx:xx:xx:xx . Letters should be lowercase. .It Ic name Current interface name. @@ -224,8 +225,8 @@ Lua pattern-natching expressions are supported. .El .It Ic set-name -When matching on unique properties such as MAC, match rules can be written so that they -match only one device. +When matching on unique properties such as MAC, match rules can be written so +that they match only one device. Then this property can be used to give that device a more specific/desirable/nicer name than the default. .Pp @@ -233,8 +234,8 @@ While multiple properties can be used in a match, .Sy macaddress is required for nuageinit to perform the rename. .It Ic mtu -The MTU key represents a device's Maximum Transmission Unit, the largest size packet -or frame. +The MTU key represents a device's Maximum Transmission Unit, the largest size +packet or frame. .It Ic wakeonlan Enable wake on LAN. Off by default. @@ -252,16 +253,16 @@ This requires setting .Sy addresses too. .Pp -Since only one default router can be configured at a time, this parameter is applied -when processing the first entry, and any others are silently ignored. +Since only one default router can be configured at a time, this parameter is +applied when processing the first entry, and any others are silently ignored. .It Ic gateway6 Set default gateway for IPv6, for manual address configuration. This requires setting .Sy addresses too. .Pp -Since only one default router can be configured at a time, this parameter is applied -when processing the first entry, and any others are silently ignored. +Since only one default router can be configured at a time, this parameter is +applied when processing the first entry, and any others are silently ignored. .It Ic nameservers Set DNS servers and search domains, for manual address configuration. .Pp @@ -316,22 +317,21 @@ A string or an array of strings which should be appended to .Pa ${LOCALBASE}/etc/doas.conf .Pp Instead of hardcoding the username, you can use -.Sy %u Ns , +.Sy %u , which will be replaced by the current username. .El .Pp A special case exist: if the entry is a simple string with the value .Qq default , then the default user is created. - Configuring .Nm sudo or .Nm doas -does not automatically install them. Ensure the relevant command is listed in your +does not automatically install them. +Ensure the relevant command is listed in your .Nm packages section. - .It Ic chpasswd Change the passwords for users, it accepts the following keys: .Bl -tag -width "expire" From nobody Wed Jan 14 12:31:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpG4864z6NLpF for ; Wed, 14 Jan 2026 12:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlpF6X66z3sWy for ; Wed, 14 Jan 2026 12:31:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393861; h=from:from:reply-to:subject:subject: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=CwlNADbqb9FyBiWKFXNqtSQ8g/Jw5IlQfVZJrmx3IM4=; b=nDuWSHcpRnFJGi0xO/N+hnRKlSvBDTo4EBPlW1GSVnLQUPPORdV1+FSEkZFNz0JXkCN9Be dlG3X6bVdPO9ExJ578pnu253JIYzm4Mf7vKnLxWHr4RI1dmP5C79vI57DEKn0c4exnDMzk j2vFr0ns4NEz8aUgvOt45Seu5bEQR77Aq0qjtBKqj6abuR8ZGks45Ql6vBzwGshIMAcR2U gcYjILZ8qptClF8hiQt3kQ7ZvQn5/Lc0EUghUdgt8sejaiAN7XYRtTcCU5HutE/lmoZEhR JlGgfRCfkFJSToJmCeP7+VDc0JkEr33plxZoAw/ZMvRO9Ne28Mgbum2Y7CooXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393861; h=from:from:reply-to:subject:subject: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=CwlNADbqb9FyBiWKFXNqtSQ8g/Jw5IlQfVZJrmx3IM4=; b=qH12AmYAPIcYoWMCYVHHgcWR9CY/TfBKAwa7PgQCNDRNImH8fre/GXiiOSPaV36s8nS9jO vopvrK7wEVWKYxWUkCYeQbOsn3ot4RNcaEv87YwpRuHsZIzQC3OY29WfzQ2F2ULtxVLMvA aQJPltTchOYeh2EohYLkOG5YPTzQgRnKbk1jeUeEf05O0NfaHo/ZAN6ne6rYQL0gbmtG+y 7UNR7DMc94IHq9Jo+jjb4iydxwT1oouAjt6c6EHIvJky3LlvsyT48VdtMiOyq8carCALij Q3xN1sqcE3xFS0WM2Uz2bQPadSJuPAGZ/hV5djyxUcaxBpbyT1HTDjHM1oUEwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393861; a=rsa-sha256; cv=none; b=MQeW0lgT7PpMrWPqQqDkCcdae0GMd//Va8O715RzQPOvus+CaXoEGrgbaidru7Hg8korOQ SNOTZII1pCiWNiac9RRq0XDgJcRvGzgWTzFQlUqI9gxgxSuLNBRA75Rfh6g88+PGGD2FKZ w5aTOXY1DaKnmKmSAJI68aBtuh+uZWmQ0bnaPQDLFSbzuo9pW9sUkNEAo98cGHgUfW7ZZx jxlD4KF08fcYJVFeL+80Zlhe2drP5RisQuHw8iwpj8bllz90FoTMkdExEj3M+yl7u/aROq RIie0DxwA/zeQvDDVimn5E0vv8LLsTZrU8LuGsH2B9eWyyuNg91nwnMJkmOu+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drlpF3l8gzxvZ for ; Wed, 14 Jan 2026 12:31:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e2a2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:31:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 9d2c4e83c998 - stable/15 - nuageinit: only create the default user when needed 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9d2c4e83c998699e08f6caceede1fc80451c1ff1 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:31:01 +0000 Message-Id: <69678c85.3e2a2.352ca4cf@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9d2c4e83c998699e08f6caceede1fc80451c1ff1 commit 9d2c4e83c998699e08f6caceede1fc80451c1ff1 Author: Gonéri Le Bouder AuthorDate: 2026-01-06 17:18:46 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:43 +0000 nuageinit: only create the default user when needed The "default" user should only be created when: - the `users` key is missing - or the `default` string is present in the `users` list Since the `public_keys` is extracted from the meta-data, this patch has to slightly adjust the way they are loaded. The change simplify the logic around the default user SSH key injection. Both `ssh_authorized_keys` and `public_keys` are handled at the same time. MFC After: 1 week Signed-off-by: Gonéri Le Bouder Pull Request: https://github.com/freebsd/freebsd-src/pull/1952 (cherry picked from commit cbc00fcc2b92e6e38b0a180261547b1a22b461bd) --- libexec/nuageinit/nuageinit | 150 ++++++++++++++++++++++++++------------------ 1 file changed, 88 insertions(+), 62 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index aa7d1e4981e6..c36467d2110f 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -15,14 +15,28 @@ end local ni_path = arg[1] local citype = arg[2] -local default_user = { - name = "freebsd", - homedir = "/home/freebsd", - groups = "wheel", - gecos = "FreeBSD User", - shell = "/bin/sh", - plain_text_passwd = "freebsd" -} +local function default_user(obj, metadata) + local ssh_authorized_keys = {} + if type(metadata.public_keys) == "table" then + for _, k in pairs(metadata.public_keys) do + table.insert(ssh_authorized_keys, k) + end + end + if type(obj.ssh_authorized_keys) == "table" then + for _, k in ipairs(obj.ssh_authorized_keys) do + table.insert(ssh_authorized_keys, k) + end + end + return { + name = "freebsd", + homedir = "/home/freebsd", + groups = "wheel", + gecos = "FreeBSD User", + shell = "/bin/sh", + plain_text_passwd = "freebsd", + ssh_authorized_keys = ssh_authorized_keys + } +end local root = os.getenv("NUAGE_FAKE_ROOTDIR") if not root then @@ -77,12 +91,16 @@ local function get_ifaces_by_mac() return myifaces end -local function sethostname(obj) +local function sethostname(obj, metadata) -- always prefer fqdn if specified over hostname if obj.fqdn then nuage.sethostname(obj.fqdn) elseif obj.hostname then nuage.sethostname(obj.hostname) + elseif metadata["local-hostname"] then + nuage.sethostname(metadata["local-hostname"]) + elseif metadata["local"] then + nuage.sethostname(metadata["hostname"]) end end @@ -109,20 +127,40 @@ local function groups(obj) end end -local function create_default_user(obj) - if not obj.users then - -- default user if none are defined - nuage.adduser(default_user) +local function create_default_user(obj, metadata) + local function need_default_user() + if not obj.users then + -- default user if "users" is undefined + return true + end + -- create default user if "default" is in the users list + for _, u in pairs(obj.users) do + if type(u) == "string" and u == "default" then + return true + end + end + return false + end + + if need_default_user() then + local du = default_user(obj, metadata) + local homedir = nuage.adduser(du) + if du.ssh_authorized_keys then + for _, k in ipairs(du.ssh_authorized_keys) do + nuage.addsshkey(homedir, k) + end + end end end -local function users(obj) +local function users(obj, metadata) if obj.users == nil then return end for n, u in pairs(obj.users) do if type(u) == "string" then if u == "default" then - nuage.adduser(default_user) + -- already done during create_default_user + nuage.adduser(default_user(obj, metadata)) else nuage.adduser({name = u}) end @@ -179,14 +217,6 @@ local function ssh_keys(obj) end end -local function ssh_authorized_keys(obj) - if obj.ssh_authorized_keys == nil then return end - local homedir = nuage.adduser(default_user) - for _, k in ipairs(obj.ssh_authorized_keys) do - nuage.addsshkey(homedir, k) - end -end - local function nameservers(interface, obj) local resolvconf_conf_handler = open_resolvconf_conf() @@ -279,17 +309,17 @@ local function get_ifaces_by_driver() local drivers = {} local last_interface = nil for line in proc:lines() do - local interface = line:match("^([%S]+): ") + local interface = line:match("^([%S]+): ") - if interface then + if interface then last_interface = interface - end + end - local driver = line:match("^[%s]+drivername: ([%S]+)$") + local driver = line:match("^[%s]+drivername: ([%S]+)$") - if driver then + if driver then drivers[driver] = last_interface - end + end end proc:close() @@ -631,45 +661,42 @@ local function parse_network_config() return netobj end -if citype == "config-2" then - local parser = ucl.parser() - local res, err = parser:parse_file(ni_path .. "/meta_data.json") +local function load_metadata() + if citype == "config-2" then + local parser = ucl.parser() + local res, err = parser:parse_file(ni_path .. "/meta_data.json") - if not res then - nuage.err("error parsing config-2 meta_data.json: " .. err) - end - local obj = parser:get_object() - if obj.public_keys then - local homedir = nuage.adduser(default_user) - for _,v in pairs(obj.public_keys) do - nuage.addsshkey(homedir, v) + if not res then + nuage.err("error parsing config-2 meta_data.json: " .. err) + end + local obj = parser:get_object() + + return obj + elseif citype == "nocloud" then + local f, err = io.open(ni_path .. "/meta-data") + if err then + nuage.err("error parsing nocloud meta-data: " .. err) end + local obj = yaml.load(f:read("*a")) + f:close() + if not obj then + nuage.err("error parsing nocloud meta-data") + end + return obj + elseif citype ~= "postnet" then + nuage.err("Unknown cloud init type: " .. citype) end - nuage.sethostname(obj["hostname"]) + return {} +end + +if citype == "config-2" then -- network config2_network(ni_path) -elseif citype == "nocloud" then - local f, err = io.open(ni_path .. "/meta-data") - if err then - nuage.err("error parsing nocloud meta-data: " .. err) - end - local obj = yaml.load(f:read("*a")) - f:close() - if not obj then - nuage.err("error parsing nocloud meta-data") - end - local hostname = obj["local-hostname"] - if not hostname then - hostname = obj["hostname"] - end - if hostname then - nuage.sethostname(hostname) - end -elseif citype ~= "postnet" then - nuage.err("Unknown cloud init type: " .. citype) end +local metadata = load_metadata() + -- deal with user-data local ud = nil local f = nil @@ -708,7 +735,6 @@ if line == "#cloud-config" then groups, create_default_user, ssh_keys, - ssh_authorized_keys, network_config, ssh_pwauth, runcmd, @@ -739,7 +765,7 @@ if line == "#cloud-config" then local netobj = parse_network_config() or obj network_config(netobj) else - calls_table[i](obj) + calls_table[i](obj, metadata) end end elseif line:sub(1, 2) == "#!" then From nobody Wed Jan 14 12:31:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpH5dcxz6NLkG for ; Wed, 14 Jan 2026 12:31:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlpG4Xz3z3sLj for ; Wed, 14 Jan 2026 12:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aoCKCMj1mwzuCqsjTADnSDtAmfTwzp1AtUKJZNLaev0=; b=lgVIJMIcjNYmo/rmqpnRnLjI6XuyTBz423WmHqu+vdYm/84NrYUXoiZRDewLqfzOj1kuX9 1ECIkw3D2+KndWOe2rafO9fnip/04yOBHvgZyDQa9Iz7vzPzfKVvsprbuq6G7xC1BFhMX6 i15/BxOdZ50I6w+5X1ultNM2ZyDcrqsQb0gr2zyZTvTJMtbSRje15su3/M+8uRki8Ma6I/ +ya/PzjlvyUPd4tPZDVOheXPaad4DAY12lpbs5RCTRmj33k/Vk7KcIdXWXJ4D4ViOImnqV P4edAmLUL7xGkZB3L2Byz9amBLDDxkNm9juwkkzrKd6lK9Tin5Cdp3EEcxTvvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aoCKCMj1mwzuCqsjTADnSDtAmfTwzp1AtUKJZNLaev0=; b=DTdfRijenT8jtxT0MIZtfOG3Q0h/zZVS7S/+BYP8HhuUj7vJSnHo25eXebv3SdLSL1HxrC 03y05+AEu0y/Tzae6AHj3Q63CIDJAVPnMDAJx/9grRGIxYll6g3Q9hGTWRbS0tbLM4d/8H kD56oZCz3Vv8NMwKLUdihv1wMgD6zEo8GMdoO55b5GqMtnrdZoG989987MgtyapKh05jED lzqr8XaTopot5CFy2YzTmXhAmirQ1phDF9CifGEVyFVEaqAiLYU6N/RD04dYOesDOX0ZKG N3W7Oz2iLThhh/Kf+7aCEyIgDRBUZUetUtUUdtESu3ijCoVNiS1AohNlEZq0pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393862; a=rsa-sha256; cv=none; b=rrrCVaJbHXC+3dc9fkWQlJ/5vV4CrHzGjODAV6g+VymAyU2ocmnfiGWoBlSqteM5YF9RFc qgeCKAYU4auLKVlb3GHJfM/U4mAfAmFm/6wxgNz0XX1kWnvUJ+xqNNISLxTeFwhLdW73MD NrgLB58nRvzsw+1OSgUWuwmmy7fV+nHVxaQvaLvArFr22pkFfSrJjKZEBv6Z628w3rHdkz wu+bUIfM6ZTLn6VlP5QyBt3Ku3rJDU4VgbTzCYAolJK19djGhZeht2rJz4nt9f2frVY8Bt x4kMPXVQC78+4gJ5+FF+s4KyGmyiS6h52WFvvTPlihDkvqelTDWOkpP7mci9Dw== 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 4drlpG45rgzyWL for ; Wed, 14 Jan 2026 12:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e443 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:31:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 3063812f76f9 - stable/15 - release: stop disabling sendmail 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 3063812f76f96d8cbe65a396d488d1d1e70987c0 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:31:02 +0000 Message-Id: <69678c86.3e443.385e5876@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=3063812f76f96d8cbe65a396d488d1d1e70987c0 commit 3063812f76f96d8cbe65a396d488d1d1e70987c0 Author: Baptiste Daroussin AuthorDate: 2026-01-07 13:55:54 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:43 +0000 release: stop disabling sendmail sendmail is already disabled by default everywhere since 14.0 MFC After: 1 week Approved by: emaste (re) Reviewed by: emaste (re) Differential Revision: https://reviews.freebsd.org/D54575 (cherry picked from commit d07198ff72aeddc5a884cfb81b22c22f2abf88f6) --- release/Makefile | 3 --- release/tools/arm.subr | 4 ---- release/tools/openstack.conf | 6 ------ release/tools/oracle.conf | 1 - release/tools/vagrant.conf | 6 ------ 5 files changed, 20 deletions(-) diff --git a/release/Makefile b/release/Makefile index 6e74d00de9fc..2469385408ee 100644 --- a/release/Makefile +++ b/release/Makefile @@ -278,7 +278,6 @@ disc1: .endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf - echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf @@ -322,7 +321,6 @@ bootonly: .endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf - echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf @@ -380,7 +378,6 @@ dvd: .endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf - echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf diff --git a/release/tools/arm.subr b/release/tools/arm.subr index 5c5ebd29681d..55e918e36d97 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -209,10 +209,6 @@ arm_install_base() { echo "hostname=\"${hostname}\"" > ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'ifconfig_DEFAULT="DHCP inet6 accept_rtadv"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'sshd_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_enable="NONE"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_submit_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_outbound_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_msp_queue_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'growfs_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf if [ -n "${CONFIG_POWERD_ENABLE}" ]; then echo 'powerd_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf index b73734a4fd04..9ce65a75c3c5 100644 --- a/release/tools/openstack.conf +++ b/release/tools/openstack.conf @@ -22,12 +22,6 @@ vm_extra_pre_umount() { # Allow root to ssh using keys echo 'PermitRootLogin without-password' >> ${DESTDIR}/etc/ssh/sshd_config - # Disable sendmail - echo 'sendmail_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_submit_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_outbound_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_msp_queue_enable="NO"' >> ${DESTDIR}/etc/rc.conf - # Enable DHCP for the OpenStack instance echo 'ifconfig_DEFAULT="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf diff --git a/release/tools/oracle.conf b/release/tools/oracle.conf index 152c48af1829..b289f4e4e7e7 100644 --- a/release/tools/oracle.conf +++ b/release/tools/oracle.conf @@ -55,7 +55,6 @@ MISSING_METALOGS=" vm_extra_pre_umount() { cat <<-'EOF' >> ${DESTDIR}/etc/rc.conf dumpdev=AUTO - sendmail_enable=NONE EOF cat <<-'EOF' >> ${DESTDIR}/boot/loader.conf diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index 5b0f38b740a6..6f4420bf26cc 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -33,12 +33,6 @@ vagrant_common () { # Disable DNS lookups by default to make SSH connect quickly echo 'UseDNS no' >> ${DESTDIR}/etc/ssh/sshd_config - # Disable sendmail - echo 'sendmail_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_submit_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_outbound_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_msp_queue_enable="NO"' >> ${DESTDIR}/etc/rc.conf - # Create the vagrant user with a password of vagrant /usr/sbin/pw -R ${DESTDIR} \ groupadd vagrant -g 1001 From nobody Wed Jan 14 12:31:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpJ0Tvfz6NLmb for ; Wed, 14 Jan 2026 12:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlpH5D5nz3sb0 for ; Wed, 14 Jan 2026 12:31:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EcDpF3mPhzojzh/zDGtYXA15bxrd/W3+GhloVphGxro=; b=v5FxvtAdM7WHeko2pnAa7n0A+E74sOF052SJvlQdvzAcTsY/aDMOPJnKysqQkumBBRo7wD U5TQJQcz5MXW8BCbYADBbmDmGzx7w82WdvCCUVeCD1rkU08+HDAuCx/mYeYj25YFPh/Yas 4uYqARxj6N9sDr42hu0z4FyNTgzzgKz3Kg1tfODJ+ZG8HuqR8YARIetALCOkD9tdnC7dW3 xKNAdbcCu2lpGZoLT3c7d4uNAOg7L8cPaGh5NA48NbndmTuu3Drfa0AMnl57evcjFgWMiI E3SNL67MKHqKI2msWPLso4UxPFgSEUd5YiF/cS76bqE5JOtuK/bUJf0Il0vkBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EcDpF3mPhzojzh/zDGtYXA15bxrd/W3+GhloVphGxro=; b=ucvHGOhDm15Xl0WGEM2sTbeUpScM/dFcJZ5sSWbYZITBxvcNFk8zE+uRDoyk3yktE6dLaz kLkZ1Y2y9hf5vkxKSWtki2lcJ7Lb8AIOln1hCxcgx/Np9V+VlnhLiJdEeHpM1fPBlUAsgb EAgkKCaKdAwjEOmpPnYr/cndpKPc/4WGQUCr9da7FC32ByYGt9YwqUdiQiZxKm+djv2fc9 +ydVofiT80Vpu5XKEpXHqlAwsiCjqbAOxFl824x/72ZPk3kMCHvWld6lwvcTbmW8ZDtGhy 9xwtWohHUpPyhitXtPtco7uVgcE++Fck65uZHJv9unkix0IfTg0bSdDQ0Vzq8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393863; a=rsa-sha256; cv=none; b=erGUVwBgiOTMFBEgVqftrcXAk6KPRoR/x8qBQBVLJZqcoDp3CUEamgVgHI+KzwDBm7EENK Roh4l3ghrnVwQhva87W0rExdWa5VhCwlcx2vSqokUqE2auOg+tMypTRzDNcTAFaeEAeNAW QPr2chsDii0c1lWUp/ETfepE1Hd1bpl/gKa9US7xCu2p7YFlIeQyRhuBb6m1rpIQzFVtvq FoDP9AAREbtZGiWTaJRZdvMoXhDfQPu00hdkI5XMhrIatUQLbAOo3zjqNE+EpU4B7CggQf SnJcvoTHMFTx98S52SOC/Ke71aaaCfAhyUXRD1uxDpH36m9JLZYPILsn8I/baQ== 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 4drlpH4Wx7zy6D for ; Wed, 14 Jan 2026 12:31:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f42d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:31:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 40394019745b - stable/15 - nuageinit: fix test after recent behaviour change 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 40394019745b69a8ead6ea168f4c5c12a7cee0f8 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:31:03 +0000 Message-Id: <69678c87.3f42d.3231f137@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=40394019745b69a8ead6ea168f4c5c12a7cee0f8 commit 40394019745b69a8ead6ea168f4c5c12a7cee0f8 Author: Baptiste Daroussin AuthorDate: 2026-01-08 09:52:20 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:43 +0000 nuageinit: fix test after recent behaviour change with recent change nuageinit always create a "freebsd" user, if no users are specified, which means we do need to get the rootdir in the testsuite containing a group file otherwise pw complains and the tests fails. (cherry picked from commit 65e77d34fdff9065616cfaedef3ef53329cdad26) --- libexec/nuageinit/tests/nuageinit.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 851f7110378a..3a01413f8487 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -59,6 +59,7 @@ args_body() nocloud_body() { mkdir -p media/nuageinit + setup_test_adduser atf_check -s exit:1 -e match:"nuageinit: error parsing nocloud.*" /usr/libexec/nuageinit "${PWD}"/media/nuageinit/ nocloud printf "instance-id: iid-local01\nlocal-hostname: cloudimg\n" > "${PWD}"/media/nuageinit/meta-data atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud @@ -220,6 +221,7 @@ EOF config2_body() { mkdir -p media/nuageinit + setup_test_adduser atf_check -s exit:1 -e match:"nuageinit: error parsing config-2 meta_data.json:.*" /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 printf "{}" > media/nuageinit/meta_data.json atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 @@ -335,6 +337,7 @@ EOF config2_network_body() { mkdir -p media/nuageinit + setup_test_adduser printf "{}" > media/nuageinit/meta_data.json mynetworks=$(ifconfig -l ether) if [ -z "$mynetworks" ]; then @@ -401,6 +404,7 @@ EOF config2_network_static_v4_body() { mkdir -p media/nuageinit + setup_test_adduser printf "{}" > media/nuageinit/meta_data.json mynetworks=$(ifconfig -l ether) if [ -z "$mynetworks" ]; then From nobody Wed Jan 14 12:31:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpK4DZjz6NLvf for ; Wed, 14 Jan 2026 12:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlpJ5Swkz3sbH for ; Wed, 14 Jan 2026 12:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393864; h=from:from:reply-to:subject:subject: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=nlgwoCdMzlDaBzObv+G+3jTdKSyWCZ8BdVa6sSYeJ5I=; b=FixFHrMXumto+SqJ9vYkApyQ+D/cxwqhfUs+07uDxx6wyKipWHy/mgPs6GC6pWEyy02IXL gcz1BCsGASzALSm7Qp1QgxQhl7joLw6g5JDZIO8eNijVDWTLzMGf5qP5X3xKgnw0oKmjDM 0f1fqpMDY8AmOEp0JN8N4s8GEQ0mB0JuPax5V7gsWWlOcUP3voqJy/1muttIYoUNVbRS9N AYccED0f6gFVBny2O6qf763WjzgXBXY/sasfSEYlNINEUZ6bz9or0/MjL6mUD1C/83TlxA BaFBlbWI2n0KTB14v/jODPQLZ9s49v9gQvDf7YfLZGfD+543CYicPF9OidLywA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393864; h=from:from:reply-to:subject:subject: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=nlgwoCdMzlDaBzObv+G+3jTdKSyWCZ8BdVa6sSYeJ5I=; b=FoiUQ/ZFzKcbUsFLlitazuXAdzqYSEz+Il07B+LD9Xpja5NwbyszevkBolOHqck9Bz7nlR vXjogp/GytDbiCv1dEHtHtyxVszzUN4o+b4nJayTSe5z5EFAtwvpqZDJDTseh8nvcBESkQ ofI/9InufP5/sg5x8NsGZKUDazlsrrxASxUFWqAOB5xAcjaryqK5uurOQlIbe2unqp7nZz iZWWkOYzrhPNYNFbnVksUi4Liz74u7zScgqTydUQFt7XSdQPMN/51z7iNIozRzWO4xoXJ0 aM5EVJxcR4nn6tsA8O+XHQj3dfrY/4YY5M49GtaKVJNNjHyFOn3J+Kf2eF0VPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393864; a=rsa-sha256; cv=none; b=iKmxjfwqcKVeOSQrx197CagPT7bV+lKECOT4Mbd+CVncYdJj4WUao4ChU4ejdL8T0NBWg0 tSDXf44dIvl6Y4b+neH59sOj+0PEgw1W8ICymOm1D/99AqgpY5bLaRyK7rHGjOqSH301SO NrI7GaawV5ZkFI8rsDWerMPpDhVCbXtAKulKZSzG5HR0qVlKvwYg1FxJy+dhlCp0V5NaiR 1zuONe8ilOcSbVJr4HleqIZC/a8PR72hcy5DzXcUqGwdzjzgp1EAoGcpR4mdkXMBTXSiLO qv0HQC4y86Tb420t6COOtd4JjNOwM61ZYUcndB73q8OyjjWfesKuhNxqWvi5Sg== 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 4drlpJ4wwTzxvc for ; Wed, 14 Jan 2026 12:31:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f8cc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:31:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 92a3d6c190f4 - stable/15 - nuageinit: set the hostname when user-data is missing 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 92a3d6c190f49236f4b11e8b0e8d13af12a7805a Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:31:04 +0000 Message-Id: <69678c88.3f8cc.505afc47@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=92a3d6c190f49236f4b11e8b0e8d13af12a7805a commit 92a3d6c190f49236f4b11e8b0e8d13af12a7805a Author: Gonéri Le Bouder AuthorDate: 2026-01-07 21:03:34 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:43 +0000 nuageinit: set the hostname when user-data is missing This address the situation reported here https://github.com/freebsd/freebsd-src/pull/1952#issuecomment-3720210259 The user-data file was missing and the `sethostname` function is never called. This commit adjusts slightly the logic to avoid the `exit()` call when the `user-data` file is missing. MFC After: 1 week Signed-off-by: Gonéri Le Bouder Differential Revision: https://github.com/freebsd/freebsd-src/pull/1953 (cherry picked from commit cae280931c9e1f072d8bf300c377ae120300b898) --- libexec/nuageinit/nuageinit | 113 ++++++++++++++++++++++++++------------------ 1 file changed, 67 insertions(+), 46 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index c36467d2110f..c8a53316f682 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -22,7 +22,7 @@ local function default_user(obj, metadata) table.insert(ssh_authorized_keys, k) end end - if type(obj.ssh_authorized_keys) == "table" then + if obj and type(obj.ssh_authorized_keys) == "table" then for _, k in ipairs(obj.ssh_authorized_keys) do table.insert(ssh_authorized_keys, k) end @@ -93,13 +93,13 @@ end local function sethostname(obj, metadata) -- always prefer fqdn if specified over hostname - if obj.fqdn then + if obj and obj.fqdn then nuage.sethostname(obj.fqdn) - elseif obj.hostname then + elseif obj and obj.hostname then nuage.sethostname(obj.hostname) - elseif metadata["local-hostname"] then + elseif metadata["local-hostname"] then nuage.sethostname(metadata["local-hostname"]) - elseif metadata["local"] then + elseif metadata["hostname"] then nuage.sethostname(metadata["hostname"]) end end @@ -129,6 +129,10 @@ end local function create_default_user(obj, metadata) local function need_default_user() + -- no user data + if not obj then + return true + end if not obj.users then -- default user if "users" is undefined return true @@ -268,7 +272,7 @@ local function nameservers(interface, obj) -- Only call resolvconf with interface if interface is provided if interface then resolvconf_command = "resolvconf -a " .. interface .. " < " .. resolv_conf - else + else resolvconf_command = "resolvconf -u" end if not os.execute(resolvconf_command) then @@ -661,7 +665,7 @@ local function parse_network_config() return netobj end -local function load_metadata() +local function load_metadata(citype) if citype == "config-2" then local parser = ucl.parser() local res, err = parser:parse_file(ni_path .. "/meta_data.json") @@ -689,46 +693,70 @@ local function load_metadata() return {} end +local function load_userdata() + local ud = nil + local f = nil + local userdatas = {"user-data", "user_data"} + for _, v in pairs(userdatas) do + f = io.open(ni_path .. "/" .. v, "r") + if f then + ud = v + break + end + end + if not f then + return nil, nil + end + local line = f:read("*l") + if not line or #string.gsub(line, "^%s*(.-)%s*$", "%1") == 0 then + f:close() + return + end + if citype ~= "postnet" then + local content = f:read("*a") + if not content or #string.gsub(content, "^%s*(.-)%s*$", "%1") == 0 then + f:close() + return + end + nuage.mkdir_p(root .. "/var/cache/nuageinit") + local tof = assert(io.open(root .. "/var/cache/nuageinit/user_data", "w")) + tof:write(line .. "\n" .. content) + tof:close() + end + f:close() + + local obj = nil + if ud then + f = io.open(ni_path .. "/" .. ud) + obj = yaml.load(f:read("*a")) + f:close() + if not obj then + nuage.err("error parsing cloud-config file: " .. ud) + end + end + return line, obj +end if citype == "config-2" then -- network config2_network(ni_path) end -local metadata = load_metadata() +local metadata = load_metadata(citype) +local line, obj = load_userdata() --- deal with user-data -local ud = nil -local f = nil -local userdatas = {"user-data", "user_data"} -for _, v in pairs(userdatas) do - f = io.open(ni_path .. "/" .. v, "r") - if f then - ud = v - break - end -end -if not f then - os.exit(0) -end -local line = f:read("*l") -if not line or #string.gsub(line, "^%s*(.-)%s*$", "%1") == 0 then - f:close() - os.exit(0) -end -if citype ~= "postnet" then - local content = f:read("*a") - if not content or #string.gsub(content, "^%s*(.-)%s*$", "%1") == 0 then - f:close() - os.exit(0) +-- No user-data +if line == nil then + local calls_table = { + sethostname, + create_default_user, + } + + for i = 1, #calls_table do + calls_table[i](obj, metadata) end - nuage.mkdir_p(root .. "/var/cache/nuageinit") - local tof = assert(io.open(root .. "/var/cache/nuageinit/user_data", "w")) - tof:write(line .. "\n" .. content) - tof:close() -end -f:close() -if line == "#cloud-config" then +-- YAML user-data +elseif line == "#cloud-config" then local pre_network_calls = { sethostname, settimezone, @@ -748,13 +776,6 @@ if line == "#cloud-config" then write_files_deferred, } - f = io.open(ni_path .. "/" .. ud) - local obj = yaml.load(f:read("*a")) - f:close() - if not obj then - nuage.err("error parsing cloud-config file: " .. ud) - end - local calls_table = pre_network_calls if citype == "postnet" then calls_table = post_network_calls From nobody Wed Jan 14 12:31:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlpL2QBpz6NLvj for ; Wed, 14 Jan 2026 12:31:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlpK5hmxz3sXX for ; Wed, 14 Jan 2026 12:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ic5aHb1Bm3bT2l9D63lfr7k0Gwq8dOh0iqAsalTnC5o=; b=wAnrpfu20RGQ89KVsp3xMw5O51dSuyxSBen1zbkUT3HrzqLklBzrk2GsHfmu32eY4H0gvL g6/vCh0ZArNeZsFWVTunsoQGnfXI/x/auYNM8x2OYKihMRtzv1CVfuu9pWRxA31u4N2dEb tkM4vseAuYLttgdCUM0Ge7nMSnOyClF4XnyhRid4/kML8/yl1gm72awu7fsf6vJhoPbkqy hssbOUPtdNJHSNEypLKwlHYObCXqDtPTSdqlDFn2HDuuVNbwmyFnVrK2//QeI0Ai+u+rxy 2zIzbeFDtmOLtiVDj2VRS50oDG0H+VG/dxGQ0/zyriLEU516UWuuCU0tcXnZ5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ic5aHb1Bm3bT2l9D63lfr7k0Gwq8dOh0iqAsalTnC5o=; b=NPlRFopH1s9twGkSTen0B0ZFSqE4gYK9AsS2j+lZs+FJHivNisizyn6JIteW4Um2ut041v EuWcJLIYytTLz1vHlPd2/2f73O93L80by+XVab0Rg/FcOGGvFMJO8MPdrlN6G/Uw8IFuaV NNKGeVBTqGJyQvR49wUx7ZSHkAhJhR3oLpQPEEqWaYZT0g+yIE3NvjFQEB3+H76M6l+dCv dkoZiylOPXqDaU+zHctPpeo4963UmZvEZPw5zv9iU4PnPggQRW6IJHT3KDBFA6FCxu5L6X pgDAVctNLSXk+Oo2s0ZgYiMtpsEXoEih+WtUBX9Sig7HfB4IbStFtd3Im2lmVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393866; a=rsa-sha256; cv=none; b=UxUOSMoWFzwkgniJDIdHTRnyI6XdQMxuU01b8BcTod+gPXfAmeyaQUymvdm7AYZPuj99LJ d1odn74Zdlq4rRsNZuIAF0RrJOcFeKPyHvcjjCARVIDytGTwO/E/PG6V9wRZn6Gk+CmDca bQbbLYueg7zaPp3+bYpk/odczH6uAOCQA9hUDUzi0i9zSG8+raX1T4F2UB3cS6xqtvKS62 Qi1ll5W/iJ7Ncx8Q4BvlYg5NJfrAVWq9FQSpLN+QVbQh3ERnnZtGTjwpsxOS+tlEEvXzWf Uc9x8qhvtQzkjrb1kdBC2rVR3k1SV5bOe0lsWqvB9IUTUeZfgMNxPQ8Wkr04gw== 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 4drlpK5DnDzyGw for ; Wed, 14 Jan 2026 12:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f307 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:31:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: c8763bd078d8 - stable/15 - release: make sh the default shell 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c8763bd078d89d1da3812c9cd44b408ab68009b6 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:31:05 +0000 Message-Id: <69678c89.3f307.4c1a64af@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c8763bd078d89d1da3812c9cd44b408ab68009b6 commit c8763bd078d89d1da3812c9cd44b408ab68009b6 Author: Baptiste Daroussin AuthorDate: 2026-01-08 15:28:34 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:30:44 +0000 release: make sh the default shell The default shell for root has been changed to sh(1) followup changing in release images sh(1) the shell for the "freebsd" user. MFC After: 1 week Reviewed by: manu, emaste (re) Approved by: manu, emaste (re) Differential Revision: https://reviews.freebsd.org/D54602 (cherry picked from commit d64db8892f8519f108d838f8d7e1d3b675ed37cd) --- release/tools/arm.subr | 2 +- release/tools/vagrant.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/release/tools/arm.subr b/release/tools/arm.subr index 55e918e36d97..05436b4f00f6 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -98,7 +98,7 @@ arm_create_user() { chroot ${CHROOTDIR} /usr/sbin/pw -R ${DESTDIR} \ useradd freebsd \ -m -M 0755 -w yes -n freebsd -u 1001 -g 1001 -G 0 \ - -c 'FreeBSD User' -d '/home/freebsd' -s '/bin/csh' + -c 'FreeBSD User' -d '/home/freebsd' -s '/bin/sh' chroot ${CHROOTDIR} /usr/sbin/pw -R ${DESTDIR} \ usermod root -w yes diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index 6f4420bf26cc..37eff7a899ab 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -39,7 +39,7 @@ vagrant_common () { /usr/sbin/pw -R ${DESTDIR} -M ${DESTDIR}/METALOG \ useradd vagrant \ -m -M 0755 -w yes -n vagrant -u 1001 -g 1001 -G 0 \ - -c 'Vagrant User' -d '/home/vagrant' -s '/bin/csh' + -c 'Vagrant User' -d '/home/vagrant' -s '/bin/sh' # Change root's password to vagrant echo 'vagrant' | /usr/sbin/pw -R ${DESTDIR} usermod root -h 0 From nobody Wed Jan 14 12:32:58 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlrV5Mm5z6NLtV for ; Wed, 14 Jan 2026 12:32: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 4drlrV4WKcz3w5p for ; Wed, 14 Jan 2026 12:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Uyl5svXZ8uEorQ9pOFkF5WAl5cOu6Hod/8Xa+8xBpc=; b=jS6Kz+5/utVfMxZy1BYW7Zw9+EDwy11fyLJWwuoZpgNbkEU70uDSkSfwg+JyQu9v65iOHk YFugtp4I4mvzix0TinK1+W5tLeASrPpv6mM701K/r1Tw1BvzzJqxr+igIc37NTiyR5eURW XLjfLFfQtqo/vJQRVCS9/VpHSbsBiz7tmHriOcFEHUN/4+fnfVqkhcyz9LkN9K1hgpkw2m HBHNH9qsZW+OB6oX7BnOS0uaqt2PX1vBe/zSIbmAb+8ZIMB39tJcbU73x8s49T0uPgd8me jvLGznHGMwCnKaUw3kbxfXPn/j8PYAPTCrJ9ryU6X8dvS6oFGz3v1w52OKjZ1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Uyl5svXZ8uEorQ9pOFkF5WAl5cOu6Hod/8Xa+8xBpc=; b=bWsSNZccHAMNqrkyfg8/YJaGWgEq0xTdWoaChsfLotUut6MMnX/f4RlcZ5ERR9/UBB1FJ5 6LNsJXIMMgNYsi6oZhbgmzxEmsUoqCnUzILCb/G/PM1hqaOLtr4QfsfvQ+TD7FzypXuVvF BXX88+7wXYnMsl9SBUfrr2j9hgOH0Duvh85JNEVlTVnLFHndOhZuyVE9Ta39kXWKGCcz8h JgH8Zn5WW7iiTU+phItFVIDzso/iL28+g3FfvUnPWjqVg8FhGKapJc8QxuGgDmhbFcJCM1 c2ngbOgSdHOj2xpQ++5pov7U2057cCFaT5eVU2Fy2VVGgec4SWSL25KYP3KJbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393978; a=rsa-sha256; cv=none; b=V8JKRjITexDhOWi8uxOnfxxJl8EqzU9tNrOzKreJZOW5ofFLDb0zjhDJq9JUNeOiaagFA/ gtwtVMHQ5xe/FPHQlew8KKmHgMZM4bT9TW+5q1YCK2eH4N9Fkt/aOJLN6BnmYEgR7LvmL9 rwQplIXmYk/BJga23Z2DBl/Xq40vsEnItu9h25ORBbW9H9XoHOX84HIXm5hq1tiOemrcY7 TMHMGMeWE2q/3TdLcPBRBIVgSO0xRK6hmFqO3VS2mv9M8PirlOMsQ6JEDO9DWbr2IUBopx 6pkUZGmHA0ZiQ5LNJ+cedxXCYxqJzuR3G6Mz+CIfxN5KZhTPvPPtGl2UaLs20Q== 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 4drlrV465SzyX3 for ; Wed, 14 Jan 2026 12:32:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3cc7d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:32:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: da8c96fe3530 - stable/15 - usb_vendors: update to 2025-09-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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: da8c96fe3530a307c8a04a7b44d5080c4c4ea337 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:32:58 +0000 Message-Id: <69678cfa.3cc7d.3ab47fe4@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=da8c96fe3530a307c8a04a7b44d5080c4c4ea337 commit da8c96fe3530a307c8a04a7b44d5080c4c4ea337 Author: Baptiste Daroussin AuthorDate: 2025-10-28 08:31:02 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:32:51 +0000 usb_vendors: update to 2025-09-15 (cherry picked from commit 90cd623611b22e2e484b800743845b38d9c20250) --- share/misc/usb_vendors | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/misc/usb_vendors b/share/misc/usb_vendors index 1878f503b676..fa798e65ed9a 100644 --- a/share/misc/usb_vendors +++ b/share/misc/usb_vendors @@ -9,8 +9,8 @@ # The latest version can be obtained from # http://www.linux-usb.org/usb.ids # -# Version: 2025.07.26 -# Date: 2025-07-26 20:34:01 +# Version: 2025.09.15 +# Date: 2025-09-15 20:34:02 # # Vendors, devices and interfaces. Please keep sorted. @@ -13488,7 +13488,9 @@ 0b0d ProjectLab 0000 CenturyCD 0b0e GN Netcom + 0301 Jabra EVOLVE 20 0305 Jabra EVOLVE Link MS + 030c Jabra EVOLVE 65 0311 Jabra EVOLVE 65 0312 enc060:Buttons Volume up/down/mute + phone [Jabra] 0343 Jabra UC VOICE 150a @@ -13507,6 +13509,11 @@ 2007 GN 2000 Stereo Corded Headset 2456 Jabra SPEAK 810 245e Jabra Link 370 + 248a Jabra Elite 85h + 24b8 Jabra Evolve2 65 + 24bb Jabra Evolve2 85 + 24c9 Jabra Link 380 + 24ca Jabra Link 380 620c Jabra BT620s 9330 Jabra GN9330 Headset a346 Jabra Engage 75 Stereo From nobody Wed Jan 14 12:32:59 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlrX0Yxzz6NMJF for ; Wed, 14 Jan 2026 12:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlrW5FHlz3wML for ; Wed, 14 Jan 2026 12:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NFOgjcMZNafWDXA6oK3ZhLDIfRH7LpbjlrFjXcX/ODI=; b=TzpmhvL429leRToTy4OwoAXPyoKj7N6D+U3V5FkGDtEciGQl/zdpcjGJA1Lsyig2UF+kvA XxYuFYyzqH9BtCY/mMZC2/hWpdgafwt5s6Cb2il2gEbdYi5S/1dYiAKMMqJOZ7b5bOZgaP tls6nJ5fpPLh9gUv7rhRwdP0aNN2/cXiUyuu1LXNFnBgmRMEKTfvM0d8cwaUzPmW0HoHAv 1GoSrJrj45N1n7vHwHOQv54+rY0Wo8QQNhHtlfmuDEogXvzTx8tnCDh5nKbkdCXGlvNJC5 86jpeBUcAQ9o3z0GsK8eg8cSJg28YDknfi6KJhb5k1uZnVKThnBNTiUjR6+Tsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NFOgjcMZNafWDXA6oK3ZhLDIfRH7LpbjlrFjXcX/ODI=; b=PFcOXo0kac2vnCyxzLuP2oE5hGKqpCd6wek3iz+kD0OSwAA26o8RXPSwQgYzC2wnwJ4Knj B4eSKDeI9Ovwdz4WLxtNmOxzpsPW1M4rbIRtvLSqg4qKJRSQ+YpIZ3CGGxk7IB2zKUWQuf hRskZVWDBBrJya4meCOQtAfIeTqXLhM43x8kuz1wpsztKAf76kmqZmLvKTjVmPCYzGLqyp CloE4/VCaG6CO5EBcLN0aH1NVDO5lSszbhkdkIqKobtHDzoF1JV45VgwydfRQ8h7qL8pQh hAh5W5cn9ZxvQ22VeXHRj5Bc1XGfN/B788Cw9/kUxhXFQbg4CBVNCDSVPgGc5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393979; a=rsa-sha256; cv=none; b=a/GVubGuGF23zQaqH7VGDq0bLaD+CD7k7Rt/9eWzu/O2Wp0iEBRGnqGn9xMHpJOZhY6Dtn +gC/5tQXIfH09dc/RantuWXBDmN/B9HbkbqAh8NRvjyyie4zgPVSzt2Xinf66bYw/yy/kd jEwSshAAVWnngzz+4qgoLtfAYUmRAGwMeD889EAz6RlCcqZk3EfaOzVxvAAT178kUjd+mA +cJngXGvmaEA1XIWJTzj0FqECxAN6mMumndGDRzSU8qQMi26jpd3JcUzSRcNnmMp4WpjNv PQyMa7+oeBXBEHJyj1P/PDxi9q3qgVX8tE4fczfDfeF7WXVJ/SDVqgxe96H+AA== 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 4drlrW4bRnzyZH for ; Wed, 14 Jan 2026 12:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c3fc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:32:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: b1281c67c5b4 - stable/15 - pci_vendors: update to 2025-10-18 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b1281c67c5b47afd40d5acd3ea66ae72a51f2954 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:32:59 +0000 Message-Id: <69678cfb.3c3fc.5bfb86d5@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=b1281c67c5b47afd40d5acd3ea66ae72a51f2954 commit b1281c67c5b47afd40d5acd3ea66ae72a51f2954 Author: Baptiste Daroussin AuthorDate: 2025-10-28 08:31:46 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:32:51 +0000 pci_vendors: update to 2025-10-18 (cherry picked from commit e5f545e0d872fbfdb6c3c94ca81e7f3bce9d094a) --- share/misc/pci_vendors | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 6fb8865340a0..1b13509f002d 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2025.07.11 -# Date: 2025-07-11 03:15:02 +# Version: 2025.10.18 +# Date: 2025-10-18 03:15:01 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -27979,6 +27979,10 @@ 1007 CL4-8D512 NVMe SSD M.2 (DRAM-less) 1008 CL5-8D512 NVMe SSD M.2 (DRAM-less) 100c CL6 Series NVMe SSD M.2 (DRAM-less) + 100d PJ1 Series NVMe SSD + 1e95 0001 M.2 2280 960 GB + 1e95 0002 M.2 2280 1920 GB + 1e95 100d M.2 2280 480 GB 1010 CX3 Series NVMe SSD 1e95 0000 M.2 2280 480 GB 1e95 0001 M.2 2280 960 GB From nobody Wed Jan 14 12:33:00 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlrY14XXz6NLxS for ; Wed, 14 Jan 2026 12:33: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 4drlrX65q5z3w7y for ; Wed, 14 Jan 2026 12:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=diXyGgzrfdQ764ChflyIezpW0X6yFBrO7Rs81mghI6k=; b=ScWCTpRdMAkKjX/dlz5S94s51b3o08vc8A5jkOSYbXtpi0S44B3LU/MdRIazZKUYr6EALZ CRlGWHAy8o/Z13tIVFVaE2RFwTU9ZutYpUUdVcnGv/ChDg6yThX4FJZaMXOw1dkOBxR/31 oZ4ez3vdvwoKriioGrCvEdnyBScBCkwJnTk/5ZF5Zvb6dufVR6p/49+7C129/DsdnXpnOx KxawFuN51jLXux3Qyt0V03C5WamlBQ8ogOxZ4255ImnvIXZlTj0lbKZVtljCUIbkFdEQB8 PwKRvDwlbu6CzziaguDP+9Gp5OhKHL85Uykrkt67dMjA15sNf1eudqwElB3m0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768393980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=diXyGgzrfdQ764ChflyIezpW0X6yFBrO7Rs81mghI6k=; b=aXBXcJBdGy9PjEr3WvV9g6m0NKCSf5WfCi5VxzZyngDxTDMDW33TsM5JPOXNHH8RIARvJv aKmuH49a+Rmv/h85V5MAt6N/nSNlnoVSUKSaNoHRwjABwegP/QiJ+uBPAzzF/1IOIF9liV zEQAfzLddhIJ8UjbO+oEJQFhIKqXi/8ehCtVjakcW8HUw9zK8pEbK+tRiM5laHLnYVDlZz GZr0MJ+dq8Z8SPKt8bykaUTj1+A4iUWX8U8SmxC0nYK9jJNvG37W73qv9JIt3if0+eg8vu roECJO71Ejmgsjk95DjhtdHaFg8pG15lePLGRnhza0ZBlgMcTP3l487ZL/rh/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768393980; a=rsa-sha256; cv=none; b=drgFhHd31aWMap0pRGMYbmSSPpaShw8R0WdkD1RB0jSlnMzsdD4LWyBbIsth6h3mmOWD6f 1Fgu14GgFZJs6yF96J56sJsvbvUa+kVipINXo0B37zTeLz+UVkeJEh4acPZCN5tQLPg37x HEzN7M/T+7+xR/qR3E/QAhZL3YVyk9HwC4F4PV+pikfau7gpKg0DDhjR/G952kmmLeJQX8 sn7k/ZpZuPVi6aVyuAvTyvZ4cUk/6pwX/msTMGUpec2IwipY2sgx9QqKIGS1BUG8PePWf9 5LIsmFYnX75UGWSjKDcELNBuMrUv3HhT2Vi7lpu8q9Vv8I610KWn6jcHezuItA== 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 4drlrX5fX0zyL3 for ; Wed, 14 Jan 2026 12:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f431 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:33:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 2c5ea8f170ea - stable/15 - pci_vendors: update to version 2025-12-12 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2c5ea8f170eab8a5505f15a68bb403522ebd7a38 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:33:00 +0000 Message-Id: <69678cfc.3f431.64d2401f@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=2c5ea8f170eab8a5505f15a68bb403522ebd7a38 commit 2c5ea8f170eab8a5505f15a68bb403522ebd7a38 Author: Baptiste Daroussin AuthorDate: 2025-12-12 14:24:32 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:32:51 +0000 pci_vendors: update to version 2025-12-12 (cherry picked from commit 3b8e13c4696e9b3dab284842902b9f7b18073c8d) --- share/misc/pci_vendors | 1312 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 1079 insertions(+), 233 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 1b13509f002d..bcb3d2f9e030 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2025.10.18 -# Date: 2025-10-18 03:15:01 +# Version: 2025.12.12 +# Date: 2025-12-12 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -30,49 +30,65 @@ # This is a relabelled RTL-8139 8139 AT-2500TX V3 Ethernet 0014 Loongson Technology LLC - 7a00 Hyper Transport Bridge Controller - 7a02 APB (Advanced Peripheral Bus) Controller - 7a03 Gigabit Ethernet Controller - 7a04 OTG USB Controller - 7a05 Vivante GPU (Graphics Processing Unit) - 7a06 DC (Display Controller) - 7a07 HDA (High Definition Audio) Controller - 7a08 SATA AHCI Controller - 7a09 PCI-to-PCI Bridge - 7a0b SPI Controller - 7a0c LPC Controller - 7a0f DMA (Direct Memory Access) Controller -# Found on some boards with two sockets - 7a10 Hyper Transport Bridge Controller - 7a13 7A2000 PCH Gigabit Ethernet Controller - 7a14 EHCI USB Controller - 7a15 Vivante GPU (Graphics Processing Unit) - 7a18 SATA 3 AHCI Controller + 7a00 7A1000 Chipset Hyper Transport Bridge Controller + 7a02 2K1000 / 7A1000 Chipset Advanced Peripheral Bus Controller + 7a03 2K1000/2000 / 7A1000 Chipset Gigabit Ethernet Controller + 7a04 2K1000 / 7A1000 Chipset OTG USB Controller + 7a05 2K1000 Vivante GC1000 GPU + 7a06 2K1000 / 7A1000 Chipset Display Controller + 7a07 2K1000/2000 / 7A1000/2000 Chipset HD Audio Controller + 7a08 2K1000 / 7A1000 Chipset 3Gb/s SATA AHCI Controller + 7a09 2K1000 / 7A1000 Chipset PCIe x1 Bridge + 7a0b 7A1000 Chipset SPI Controller + 7a0c 2K2000 / 7A1000/2000 Chipset LPC Controller + 7a0e 2K2000 AES Controller + 7a0f 2K1000 / 7A1000 Chipset DMA Controller + 7a10 7A2000 Chipset Hyper Transport Bridge Controller + 7a13 2K2000 / 7A2000 Chipset Gigabit Ethernet Controller + 7a14 2K1000 / 7A1000/2000 Chipset USB EHCI Controller + 7a15 7A1000 Chipset Vivante GC1000 GPU + 7a16 2K1000/2000 VPU Decoder + 7a17 7A1000 Chipset AC97 Audio Controller + 7a18 2K2000 / 7A2000 Chipset 6Gb/s SATA AHCI Controller 7a19 PCI-to-PCI Bridge - 7a1b SPI Controller - 7a24 OHCI USB Controller -# Found on 7A2000 PCH - 7a25 LG100 GPU - 7a27 7A2000 PCH I2S Controller - 7a29 PCI-to-PCI Bridge - 7a34 xHCI USB Controller -# Found on 7A2000 PCH - 7a36 Display Controller - 7a39 PCIe x1 Root Port - 7a49 PCIe x4 Root Port - 7a59 PCIe x8 Root Port - 7a69 PCIe x16 Root Port + 7a1a 2K2000 Configuration Bus + 7a1b 2K2000 / 7A2000 Chipset SPI Controller + 7a1d 2K2000 RapidIO Interface + 7a1e 2K2000 DES Controller + 7a22 2K2000 Advanced Peripheral Bus Controller + 7a24 2K1000 / 7A1000/2000 Chipset USB OHCI Controller + 7a25 2K2000 / 7A2000 Chipset LG100 GPU + 7a26 2K1000 Camera Controller + 7a27 2K2000 / 7A2000 Chipset I2S Controller + 7a29 7A1000 Chipset PCIe x8 Bridge + 7a2e 2K2000 RSA Controller + 7a2f 2K2000 DMA Controller + 7a34 2K2000 / 7A2000 Chipset USB 3.0 xHCI Controller + 7a36 2K2000 / 7A2000 Chipset Display Controller + 7a37 2K2000 HDMI Audio Controller + 7a39 2K2000 / 7A2000 Chipset PCIe x1 Root Port + 7a3e 2K2000 RNG Controller + 7a44 2K2000 USB 2.0 xHCI Controller + 7a48 2K2000 SDIO Controller + 7a49 2K2000 / 7A2000 Chipset PCIe x4 Root Port + 7a54 2K2000 OTG USB Controller + 7a59 7A2000 Chipset PCIe x8 Root Port + 7a69 7A2000 Chipset PCIe x16 Root Port + 7a79 2K2000 PCIe Root Complex + 7a88 2K2000 eMMC Controller + 7a8e 2K2000 SE Controller + 7af9 2K2000 PCIe Endpoint 0018 Fn-Link Technology Limited 6252 6252CPUB 802.11ax PCIe Wireless Network Adapter 001c PEAK-System Technik GmbH 0001 PCAN-PCI CAN-Bus controller 001c 0004 2 Channel CAN Bus SJC1000 001c 0005 2 Channel CAN Bus SJC1000 (Optically Isolated) +0029 MICROCHIP 003d Lockheed Martin-Marietta Corp # Real TJN ID is e159, but they got it wrong several times --mj 0059 Tiger Jet Network Inc. (Wrong ID) 0070 Hauppauge computer works Inc. - 7801 WinTV HVR-1800 MCE 0071 Nebula Electronics Ltd. 0095 Silicon Image, Inc. (Wrong ID) 0680 Ultra ATA/133 IDE RAID CONTROLLER CARD @@ -80,6 +96,7 @@ 00a7 Teles AG (Wrong ID) 0100 nCipher Security 0123 General Dynamics +0127 MIPS 0128 Dell (wrong ID) # 018a is not LevelOne but there is a board misprogrammed 018a LevelOne @@ -137,11 +154,14 @@ 0303 Hewlett-Packard Company (Wrong ID) 0308 ZyXEL Communications Corporation (Wrong ID) 0315 SK-Electronics Co., Ltd. +031e ANDES 0357 TTTech Computertechnik AG (Wrong ID) 000a TTP-Monitoring Card V2.0 0432 SCM Microsystems, Inc. 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] +0489 SIFIVE 0497 Dell Inc. (wrong ID) +05b7 THEAD 060e Lightelligence 0001 Hummingbird ES 0675 Dynalink @@ -184,6 +204,7 @@ 0731 920a JH920 0731 920b JH920-I 0731 920c JH920-M + 0731 920d JH920-II 920b JH920-I 920c JH920-M 9210 JM9210 @@ -200,6 +221,7 @@ 0731 930a JH930-I 0731 930b JH930-M 0731 930c JH930 + 0731 930d JH930-II 930b JH930-M f011 JM1100-IV f111 JM1100-MV @@ -245,8 +267,6 @@ 0e11 409b Smart Array 642 0e11 409c Smart Array 6400 0e11 409d Smart Array 6400 EM - 0049 NC7132 Gigabit Upgrade Module - 004a NC6136 Gigabit Server Adapter 005a Remote Insight II board - Lights-Out 007c NC7770 1000BaseTX 007d NC6770 1000BaseTX @@ -254,9 +274,7 @@ 00b1 Remote Insight II board - PCI device 00bb NC7760 00ca NC7771 - 00cb NC7781 00cf NC7772 - 00d0 NC7782 00d1 NC7783 00e3 NC7761 0508 Netelligent 4/16 Token Ring @@ -268,18 +286,10 @@ 4000 4000 [Triflex] 4040 Integrated Array 4048 Compaq Raid LC2 - 4050 Smart Array 4200 - 4051 Smart Array 4250ES - 4058 Smart Array 431 4070 Smart Array 5300 4080 Smart Array 5i 4082 Smart Array 532 4083 Smart Array 5312 - 4091 Smart Array 6i - 409a Smart Array 641 - 409b Smart Array 642 - 409c Smart Array 6400 - 409d Smart Array 6400 EM 6010 HotPlug PCI Bridge 6010 7020 USB Controller a0ec Fibre Channel Host Controller @@ -312,31 +322,13 @@ ae6d NorthStar CPU to PCI Bridge b011 Netelligent 10/100 TX Embedded UTP b012 Netelligent 10 T/2 PCI UTP/Coax - b01e NC3120 Fast Ethernet NIC - b01f NC3122 Fast Ethernet NIC - b02f NC1120 Ethernet NIC b030 Netelligent 10/100 TX UTP - b04a 10/100 TX PCI Intel WOL UTP Controller b060 Smart Array 5300 Controller - b0c6 NC3161 Fast Ethernet NIC - b0c7 NC3160 Fast Ethernet NIC - b0d7 NC3121 Fast Ethernet NIC - b0dd NC3131 Fast Ethernet NIC - b0de NC3132 Fast Ethernet Module - b0df NC6132 Gigabit Module - b0e0 NC6133 Gigabit Module b0e1 NC3133 Fast Ethernet Module - b123 NC6134 Gigabit NIC - b134 NC3163 Fast Ethernet NIC - b13c NC3162 Fast Ethernet NIC - b144 NC3123 Fast Ethernet NIC - b163 NC3134 Fast Ethernet NIC - b164 NC3165 Fast Ethernet Upgrade Module b178 Smart Array 5i/532 0e11 4080 Smart Array 5i 0e11 4082 Smart Array 532 0e11 4083 Smart Array 5312 - b1a4 NC7131 Gigabit Server Adapter b200 Memory Hot-Plug Controller b203 Integrated Lights Out Controller 103c 3305 iLO2 @@ -540,7 +532,7 @@ 1028 1f35 PERC H710 Adapter 1028 1f37 PERC H710 Mini (for blades) 1028 1f38 PERC H710 Mini (for monolithics) - 15d9 0690 LSI MegaRAID ROMB + 15d9 0690 AOC-S2208L-H8iR 8086 3510 RMS25PB080 RAID Controller 8086 3511 RMS25PB040 RAID Controller 8086 3512 RMT3PB080 RAID Controller @@ -642,6 +634,7 @@ 1000 3040 9210-8i 1000 3080 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] 1000 30b0 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] + 1000 30e0 9202-16e 1014 03ca IBM 6Gb SAS HBA [9212-4i4e] 1028 1f1c 6Gbps SAS HBA Adapter 1028 1f1d PERC H200 Adapter @@ -760,6 +753,7 @@ 1000 3040 9207-8e SAS2.1 HBA 1000 3050 SAS9217-8i 1000 3060 SAS9217-4i4e + 1000 3070 SAS9206-16e 1014 0472 N2125 External Host Bus Adapter 1014 047a N2115 Internal Host Bus Adapter 1590 0041 H220i @@ -843,6 +837,7 @@ 15d9 1d03 AOC-S4116L-H16IR (16DD/96DD) RAID Adapter 15d9 1d07 AOC-S4016L-L16IT Storage Adapter 15d9 1d08 AOC-S4016L-L16IR Storage Adapter + 17aa 7855 ThinkSystem RAID 950W-16i 8GB Flash PCIe Gen4 24Gb Adapter 1d49 020a ThinkSystem 450W-16e SAS/SATA PCIe Gen4 24Gb HBA 00ab SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC) # 8 Internal and 8 External port channel 9400 HBA @@ -868,6 +863,7 @@ 1d49 0202 ThinkSystem 430-8e SAS/SATA 12Gb HBA 1d49 0204 ThinkSystem 430-8i SAS/SATA 12Gb Dense HBA 00b2 PCIe Switch management endpoint + 15d9 1d24 AOM-PCIE5-418P 1d49 0003 ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter # 24G SAS/PCIe storage adapter chip 00b3 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx @@ -888,7 +884,9 @@ 1028 23cb PERC H975i Front 1028 23cd PERC H975i Adapter 1028 2446 PERC H976i Front + 17aa 784c ThinkSystem RAID 960W PCIe Gen5 Adapter 1d49 020b ThinkSystem 460-16e SAS/SATA PCIe Gen5 24Gb HBA + 00b4 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx 00b5 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx # 9760W 32 internal port RAID controller 1000 5000 MegaRAID 9760W-32i 24G SAS/PCIe Storage Adapter @@ -906,6 +904,14 @@ 1028 22d3 PERC H975i Adapter - Virtual 1028 23cb PERC H975i Front - Virtual 1028 23cd PERC H975i Adapter - Virtual + 17aa 784c ThinkSystem RAID 960W PCIe Gen5 Adapter + 00b6 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx + 1000 5000 MegaRAID 9760W-32i 24G SAS/PCIe Storage Adapter + 1000 5001 MegaRAID 9760W-16i 24G SAS/PCIe Storage Adapter + 1000 5010 MegaRAID 9760W-16i16e 24G SAS/PCIe Storage Adapter + 1000 5020 eHBA 9700W-32i 24G SAS/PCIe Storage Adapter + 1000 5021 eHBA 9700W-16i 24G SAS/PCIe Storage Adapter + 1000 5030 eHBA 9700-16e 24G SAS/PCIe Storage Adapter 1028 2446 PERC H976i Front - Virtual # Broadcom next-gen MPT PCIe switch 00b8 Fusion-MPT Switch SAS50xx/SAS51xx @@ -920,6 +926,7 @@ 1000 3190 SAS9305-16i # SAS 9305 24 internal port HBA 1000 31a0 SAS9305-24i + 1000 31b0 SAS9306-24i 1170 0002 SAS3224 PCI Express to 12Gb HBA MEZZ CARD 00c5 SAS3316 PCI-Express Fusion-MPT SAS-3 00c6 SAS3316 PCI-Express Fusion-MPT SAS-3 @@ -1157,11 +1164,15 @@ 1d49 0505 ThinkSystem RAID 540-8i PCIe Gen4 12Gb Adapter 1d49 0506 ThinkSystem RAID 540-16i PCIe Gen4 12Gb Adapter 1d49 0507 ThinkSystem RAID 545-8i PCIe Gen4 12Gb Adapter + 1d49 0508 ThinkSystem RAID 545-8i PCIe Gen4 12Gb Internal Adapter 1d49 0700 ThinkSystem M.2 RAID B540i-2i SATA/NVMe Enablement Kit 1d49 0701 ThinkSystem 7mm RAID B540p-2HS SATA/NVMe Enablement Kit 1d49 0702 ThinkSystem M.2 RAID B540p-2HS SATA/NVMe Enablement Kit 1d49 0703 ThinkSystem M.2 RAID B540d-2HS SATA/NVMe Enablement Kit 1d49 0704 ThinkSystem M.2 RAID B545i-2i SATA/NVMe Enablement Kit + 1d49 0705 ThinkSystem M.2 RAID B550p-2HS SATA/NVMe Enablement Kit + 1d49 0706 ThinkSystem M.2 RAID B550d-2HS SATA/NVMe Enablement Kit + 1d49 0707 ThinkSystem M.2 RAID B550i-2i SATA/NVMe Enablement Kit 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller @@ -1220,6 +1231,7 @@ 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint + 15d9 1d24 AOM-PCIE5-418P # Lower lane count PEX89000 switch c034 PEX890xx PCIe Gen 5 Switch # Lower lane count PEX89000 switch @@ -1282,7 +1294,8 @@ 145a Dummy Function (absent graphics controller) 1478 Navi 10 XL Upstream Port of PCI Express Switch 1479 Navi 10 XL Downstream Port of PCI Express Switch - 1506 Mendocino + 1506 Mendocino [Radeon 610M] + 17aa 380e IdeaPad 1 15AMN7 150e Strix [Radeon 880M / 890M] 154c Kryptos [Radeon RX 350] 1462 7c28 MS-7C28 Motherboard @@ -1291,6 +1304,7 @@ 1552 Pooky 1561 Anubis 1586 Strix Halo [Radeon Graphics / Radeon 8050S Graphics / Radeon 8060S Graphics] + 15b3 Stoney HDMI/DP Audio Controller 15bf Phoenix1 15c8 Phoenix2 15d8 Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] @@ -1322,7 +1336,7 @@ 1043 16c2 Radeon Vega 8 # Used in the Steam Deck LCD 163f VanGogh [AMD Custom GPU 0405] - 1640 Radeon High Definition Audio Controller [Rembrandt/Strix] + 1640 Radeon High Definition Audio Controller 164c Lucienne 164d Rembrandt 164e Raphael @@ -3849,6 +3863,7 @@ 6995 Lexa XT [Radeon PRO WX 2100] 699f Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] 1028 1720 Radeon RX 550X + 1458 22f3 Radeon RX 550 2GB 148c 2380 Lexa XL [Radeon RX 550] 17aa 5069 Thinkpad E480/E580 1da2 e367 Lexa PRO [Radeon RX 550] @@ -4056,6 +4071,7 @@ 73c4 Navi 22 USB 73ce Navi 22-XL SRIOV MxGPU 73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] + 1002 0e36 Radeon RX 6700 XT 12G 1043 16c2 Radeon RX 6800M 1458 2408 Radeon RX 6750 XT GAMING OC 12G 1462 3980 Radeon RX 6700 XT Mech 2X 12G [MSI] @@ -4098,6 +4114,7 @@ 7446 Navi 31 USB 7448 Navi 31 [Radeon Pro W7900] 744a Navi 31 [Radeon Pro W7900 Dual Slot] + 744b Navi 31 [Radeon Pro W7900D] 744c Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] 1002 0e3b RX 7900 XTX / RX 7900 GRE [XFX] 1043 0506 TUF Gaming Radeon RX 7900 XTX OC @@ -4136,6 +4153,9 @@ 1da2 e490 Navi 48 XTX [Sapphire Pulse Radeon RX 9070 XT] 7551 Navi 48 [Radeon AI PRO R9700] 7590 Navi 44 [Radeon RX 9060 XT] + 1eae 8601 RX-96TS316W7 [SWIFT RX 9060 XT OC White Triple Fan Gaming Edition 16GB] + 75a0 Aqua Vanjaram [Instinct MI350X] + 75a3 Aqua Vanjaram [Instinct MI355X] 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4894,6 +4914,7 @@ 0144 Yotta Video Compositor Output 1014 0145 Yotta Output Controller (ytout) 0156 405GP PLB to PCI Bridge + 1fc3 0004 IC695ETM001 RX3i Ethernet PCI Module 015e 622Mbps ATM PCI Adapter 0160 64bit/66MHz PCI ATM 155 MMF 016e GXT4000P Graphics Adapter @@ -5472,7 +5493,7 @@ 15e2 Audio Coprocessor 17aa 5124 ThinkPad E595 ea50 ce19 mCOM10-L1900 - 15e3 Family 17h/19h/1ah HD Audio Controller + 15e3 Ryzen HD Audio Controller 103c 8615 Pavilion Laptop 15-cw1xxx 103c 8b17 ProBook 445 G9/455 G9 1043 86c7 PRIME B450M-A Motherboard @@ -6237,6 +6258,7 @@ 0534 G200eR2 1028 04f7 PowerEdge R320 server 0536 Integrated Matrox G200eW3 Graphics Controller + 1028 0a6b PowerEdge R760 0538 MGA G200eH3 1590 00e4 iLO5 VGA 0540 M91XX @@ -6418,6 +6440,7 @@ 01b4 Celleb platform IDE interface 01b5 SCC USB 2.0 EHCI controller 01b6 SCC USB 1.1 OHCI controller + 01ba SpursEngine SE1000 accelerator 1030 TMC Research 1031 Miro Computer Products AG 5601 DC20 ASIC @@ -6447,6 +6470,7 @@ 1033 0035 USB Controller 103c 1293 USB add-in card 103c 1294 USB 2.0 add-in card + 1154 0207 Buffalo IFC-USB2P4 1179 0001 USB 1186 0035 DUB-C2 USB 2.0 2-port 32-bit cardbus controller 12ee 7000 Root Hub @@ -6481,6 +6505,7 @@ 00ce uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller 00df Vr4131 00e0 uPD72010x USB 2.0 Controller + 1154 0208 Buffalo IFC-USB2P4 1186 f100 DUB-C2 USB 2.0 2-port 32-bit cardbus controller 12ee 7001 Root hub 14c2 0205 PTI-205N USB 2.0 Host Controller @@ -6493,6 +6518,7 @@ 010c VR7701 0125 uPD720400 PCI Express - PCI/PCI-X Bridge 013a Dual Tuner/MPEG Encoder + 0165 uPD61253F1 MPEG Video Broadcast Decoder 0194 uPD720200 USB 3.0 Host Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 @@ -7268,6 +7294,7 @@ ac8f PCI7420/7620 SD/MS-Pro Controller 1028 018d Inspiron 700m/710m b001 TMS320C6424 + b012 TDA4VH PCIE Root Complex fe00 FireWire Host Controller fe03 12C01A FireWire Host Controller 104d Sony Corporation @@ -7439,8 +7466,7 @@ 4802 Falcon 4803 Hawk 4806 CPX8216 -# MPC7410 PowerPC microprocessor and PCI host bridge - 480b MPC7410 + 480b Harrier PCI Host Bridge 4d68 20268 5600 SM56 PCI Modem 1057 0300 SM56 PCI Speakerphone Modem @@ -7839,6 +7865,11 @@ 1077 e4f7 FastLinQ QL45212H 25GbE Adapter (SR-IOV VF) 1077 e4f8 FastLinQ QL45611H 100GbE Adapter (SR-IOV VF) 1590 0245 10/20/25GbE 2P 4820c CNA SRIOV + 16a1 BCM57840 NetXtreme II 10 Gigabit Ethernet + 1590 00ec FlexFabric 10Gb 4-port 536FLR-T Adapter + 16ab NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function + 16ad NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + 1590 00ec FlexFabric 10Gb 4-port 536FLR-T Adapter 2020 ISP2020A Fast!SCSI Basic Adapter 2031 ISP8324-based 16Gb Fibre Channel to PCI Express Adapter 103c 17e7 SN1000Q 16Gb Single Port Fibre Channel Adapter @@ -9637,6 +9668,8 @@ 1885 0701 Tsunami FPGA PMC with Altera Stratix S30 9712 PEX9712 12-Lane, 5-Port PCIe Gen 3 (8.0 GT/s) ExpressFabric Switch 9733 PEX 9733 33-lane, 9-port PCI Express Gen 3 (8.0 GT/s) Switch + 1028 1fc7 UCEA-200 0235NK NVMe PCIe Extender Adapter with Full-Height Bracket + 1028 1fc8 UCEA-200 0CDC7W NVMe PCIe Extender Adapter with Half-Height Bracket 1d49 0001 ThinkSystem 1610-4P NVMe Switch Adapter 1d49 0002 ThinkSystem 810-4P NVMe Switch Adapter 9749 PEX 9749 49-lane, 13-port PCI Express Gen 3 (8.0 GT/s) Switch @@ -12891,11 +12924,13 @@ 15fb GP100GL [GP100 SKU 200] 15fc GP100GL [Tesla P100-DGXS-16GB] 15ff GP100GL [GP100 SKU 15ff] + 1613 GM204GL [GRID M60 Service Provider] 1617 GM204M [GeForce GTX 980M] 1618 GM204M [GeForce GTX 970M] 1619 GM204M [GeForce GTX 965M] 161a GM204M [GeForce GTX 980 Mobile] 1667 GM204M [GeForce GTX 965M] + 1676 GM204GLM [Quadro M2200 Mobile] 1725 GP100 172e GP100 172f GP100 @@ -13211,6 +13246,7 @@ 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] + 2186 TU116 [PG160 SKU18] 2187 TU116 [GeForce GTX 1650 SUPER] 2188 TU116 [GeForce GTX 1650] 2189 TU116 [CMP 30HX] @@ -13225,7 +13261,8 @@ 2200 GA102 2203 GA102 [GeForce RTX 3090 Ti] 2204 GA102 [GeForce RTX 3090] - 147d 10de NVIDIA Geforce RTX 3090 Founders Edition + 10de 147d GeForce RTX 3090 Founders Edition + 3842 3973 GeForce RTX 3090 XC3 2205 GA102 [GeForce RTX 3080 Ti 20GB] 2206 GA102 [GeForce RTX 3080] 10de 1467 GA102 [GeForce RTX 3080] @@ -13256,12 +13293,21 @@ 229e Orin PCIe x1 Root Complex 22a3 GH100 [H100 NVSwitch] 22ba AD102 High Definition Audio Controller + 22bb AD103 High Definition Audio Controller 22bc AD104 High Definition Audio Controller 22bd AD106M High Definition Audio Controller 22be AD107 High Definition Audio Controller + 22ce GB10 GEN5 X4 PCIe host + 22d0 GB10 GEN4 X1 PCIe host + 22d1 GB20B PCI bridge 22d8 THOR Processor PCI Express Root Port 22e6 THOR Processor PCI Express x16 Controller + 22e8 GB202 High Definition Audio Controller + 22e9 GB203 High Definition Audio Controller + 22eb GB206 High Definition Audio Controller + 22ec GB207 High Definition Audio Controller 2302 GH100 + 230c GH100 [H20 NVL16] 230e GH100 [H20 NVL16] 2313 GH100 [H100 CNX] 2321 GH100 [H100L 94GB] @@ -13284,6 +13330,7 @@ 2343 GH100 2345 GH100 [GH100-88K-A1] 2348 GH100 [GH200 144G HBM3e] + 237e GH100 [H100 GH3] 237f GH100 [Skinny Joe] 23b0 GH100 23f0 GH100 @@ -13456,46 +13503,70 @@ 2941 GB100 [HGX GB200] 297e GB100 2980 GB102 [Reserved Dev ID A] + 29bb GB102 [DRIVE P2021] 29bc GB102 [B100] 29c0 GB102 [Reserved Dev ID B] 29f1 GB102 - 2b00 TA1090SA [THOR] +# space added + 2b00 GB10B [Jetson AGX Thor] 2b85 GB202 [GeForce RTX 5090] 2b87 GB202 [GeForce RTX 5090 D] + 2b8c GB202 [GeForce RTX 5090 D V2] 2bb1 GB202GL [RTX PRO 6000 Blackwell Workstation Edition] - 2bb3 GB202GL [RTX PRO 5000 Blackwell] + 2bb2 GB202GL [RTX PRO 6000D Blackwell Workstation Edition] + 2bb3 GB202GL [RTX PRO 5000 Blackwell / RTX PRO 5000 72GB Blackwell] 2bb4 GB202GL [RTX PRO 6000 Blackwell Max-Q Workstation Edition] 2bb5 GB202GL [RTX PRO 6000 Blackwell Server Edition] + 2bb9 GB202GL [RTX 6000D] + 2bbc GB202GL [RTX PRO 6000D Blackwell Max-Q Workstation Edition] 2c02 GB203 [GeForce RTX 5080] 2c05 GB203 [GeForce RTX 5070 Ti] 2c18 GB203M / GN22 [GeForce RTX 5090 Max-Q / Mobile] 2c19 GB203M / GN22 [GeForce RTX 5080 Max-Q / Mobile] 2c2c GB6-256(N22W-ES-A1) 2c31 GB203GL [RTX PRO 4500 Blackwell] + 2c33 GB203GL [RTX PRO 4000 Blackwell SFF Edition] 2c34 GB203GL [RTX PRO 4000 Blackwell] 2c38 GB203GLM [RTX PRO 5000 Blackwell Generation Laptop GPU] 2c39 GB203GLM [RTX PRO 4000 Blackwell Generation Laptop GPU] + 2c3a GB203GL [RTX PRO 4500 Blackwell] 2c58 GB203M / GN22-X11 [GeForce RTX 5090 Max-Q / Mobile] 2c59 GB203M / GN22-X9 [GeForce RTX 5080 Max-Q / Mobile] + 2c77 GB203GLM [RTX PRO 5000 Blackwell Embedded GPU] + 2c79 GB203GLM [RTX PRO 4000 Blackwell Embedded GPU] 2d04 GB206 [GeForce RTX 5060 Ti] 2d05 GB206 [GeForce RTX 5060] 2d18 GB206M [GeForce RTX 5070 Max-Q / Mobile] 2d19 GB206M [GeForce RTX 5060 Max-Q / Mobile] 2d2c GB6-128 (N22Y-ES-A1) + 2d30 GB206GL [RTX PRO 2000 Blackwell] 2d39 GB206GLM [RTX PRO 2000 Blackwell Generation Laptop GPU] 2d58 GB206M [GeForce RTX 5070 Max-Q / Mobile] 2d59 GB206M [GeForce RTX 5060 Max-Q / Mobile] + 2d79 GB206GLM [RTX PRO 2000 Blackwell Embedded GPU] 2d83 GB207 [GeForce RTX 5050] 2d98 GB207M [GeForce RTX 5050 Max-Q / Mobile] 2db8 GB207GLM [RTX PRO 1000 Blackwell Generation Laptop GPU] 2db9 GB207GLM [RTX PRO 500 Blackwell Generation Laptop GPU] 2dd8 GB207M [GeForce RTX 5050 Max-Q / Mobile] - 2e2a GB20B + 2df9 GB207GLM [RTX PRO 500 Blackwell Embedded GPU] + 2e12 GB20B [GB10] +# N1X + 2e2a GB20B [JMJWOA-Generic-GPU] 2f04 GB205 [GeForce RTX 5070] 2f18 GB205M [GeForce RTX 5070 Ti Mobile] 2f38 GB205GLM [RTX PRO 3000 Blackwell Generation Laptop GPU] 2f58 GB205M [GeForce RTX 5070 Ti Mobile] - 31c0 GB110 + 2f80 GB205 High Definition Audio Controller + 3180 GB110 [Reserved Dev ID A] + 3182 GB110 [B300 SXM6 AC] + 31a1 GB110 [GB300 MaxQ] + 31c0 GB110 [Reserved Dev ID B] + 31c2 GB110 [GB300] + 31fe GB110 + 3200 GB112 + 3224 GB112 + 323e GB112 3340 GB120 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) @@ -13517,6 +13588,7 @@ 072b OneConnect iSCSI Initiator + Target (Skyhawk-VF) 072c OneConnect FCoE Initiator (Skyhawk-VF) 1ae5 LP6000 Fibre Channel Host Adapter + d300 LPE41100/LPE42100 Series 64G/128G Fibre Channel Adapter e100 Proteus-X: LightPulse IOV Fibre Channel Host Adapter e131 LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter e180 Proteus-X: LightPulse IOV Fibre Channel Host Adapter @@ -13598,6 +13670,9 @@ f500 LPe37000/LPe38000 Series 32Gb/64Gb Fibre Channel Adapter 1014 06c1 PCIe4 4-Port 32Gb Fibre Channel Adapter for POWER (FC EN1L/EN1M; CCIN 2CFC) 1014 06c2 PCIe4 2-Port 64Gb Fibre Channel Adapter for POWER (FC EN1N/EN1P; CCIN 2CFD) + 1590 042e Synergy 7330C 64Gb Fibre Channel Host Bus Adapter + 1590 0451 SN1620E 2-Port 32Gb Fibre Channel Adapter + 1590 0452 SN1720E 2-Port 64Gb Fibre Channel Adapter 1590 0454 Synergy 5331C 32Gb Fibre Channel Host Bus Adapter f600 LPe37100S/LPe38100S Series 32Gb/64Gb Fibre Channel Adapter f700 LP7000 Fibre Channel Host Adapter @@ -13713,6 +13788,7 @@ 2600 Killer E2600 GbE Controller 3000 Killer E3000 2.5GbE Controller 4321 RTL8852BE 802.11ax PCIe Wireless Network Adapter + 5000 Killer E5000 5GbE Controller 5208 RTS5208 PCI Express Card Reader 5209 RTS5209 PCI Express Card Reader 5227 RTS5227 PCI Express Card Reader @@ -13767,6 +13843,7 @@ 8125 RTL8125 2.5GbE Controller 4c52 2022 LRES2022PT Single-port 2.5Gb Ethernet Network Adapter 8126 RTL8126 5GbE Controller + 8127 RTL8127 10GbE Controller 8129 RTL-8129 10ec 8129 RT8129 Fast Ethernet Adapter 11ec 8129 RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) @@ -13913,7 +13990,7 @@ ea50 ce19 mCOM10-L1900 816d RTL811x EHCI host controller ea50 ce19 mCOM10-L1900 - 816e Realtek RealManage BMC + 816e RealManage BMC 8171 RTL8191SEvA Wireless LAN Controller 8172 RTL8191SEvB Wireless LAN Controller 8173 RTL8192SE Wireless LAN Controller @@ -14322,6 +14399,7 @@ 0410 VX900 Series Host Bridge: Host Control 0415 VT6415 PATA IDE Host Controller 1043 838f Motherboard + 1849 0415 Motherboard 0419 VN1000 Host Bridge 0501 VT8501 [Apollo MVP4] 0505 VT82C505 @@ -16282,7 +16360,7 @@ 1324 10cf P7120 17aa 20cb ThinkPad T400 e230 R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] - e476 CardBus bridge + e476 R5U242 PCIe to CardBus Bridge 1028 040a Latitude E6410 1028 040b Latitude E6510 e822 MMC/SD Host Controller @@ -16642,6 +16720,7 @@ 6180 88F6180 [Kirkwood] ARM SoC 6192 88F6190/6192 [Kirkwood] ARM SoC 6281 88F6281 [Kirkwood] ARM SoC + 6282 88F6282 [Armada 300] ARM SoC # This device ID was used for earlier chips. 6381 MV78xx0 [Discovery Innovation] ARM SoC 6440 88SE63x0 x1, 88SE6440 x4 PCIe SAS/SATA 3Gb/s RAID controller @@ -17215,7 +17294,7 @@ 103c 0890 NC6000 laptop 10cf 11c4 Lifebook P5020D Laptop 7233 OZ711MP3/MS3 4-in-1 MemoryCardBus Controller - 8120 Integrated MMC/SD Controller + 8120 OZ888 SD/MMC Card Reader Controller 8130 Integrated MS/MSPRO/xD Controller 8220 OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller 8221 OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller @@ -17225,9 +17304,11 @@ 8330 OZ600 MS/xD Controller 1028 04a3 Precision M4600 8331 O2 Flash Memory Card - 8520 SD/MMC Card Reader Controller - 8621 SD/MMC Card Reader Controller + 8520 OZ777 SD/MMC Card Reader Controller + 8620 OZ620 SD/MMC Card Reader Controller + 8621 OZ711 SD/MMC Card Reader Controller 17aa 5068 Thinkpad E480/E580 + 1e44 1776 Steam Deck 8760 FORESEE E2M2 NVMe SSD 1218 Hybricon Corp. 1219 First Virtual Corporation @@ -17453,6 +17534,7 @@ a000 6000 SPI a000 7000 Local Bus ea50 1c10 RXi2-BP + 9105 AX99100 PCIe to I/O Bridge 125c Aurora Technologies, Inc. 0101 Saturn 4520P 0640 Aries 16000P @@ -17597,6 +17679,7 @@ 2263 SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers 2268 SM2268XT (DRAM-less) NVMe SSD Controller 2269 SM2269XT (DRAM-less) NVMe SSD Controller + 2508 SM2508 NVMe 2.0 SSD Controller 8366 SM8366 NVMe SSD Controller [MonTitan] 1270 Olympus Optical Co., Ltd. 1271 GW Instruments @@ -17952,6 +18035,11 @@ 12b9 00d3 USR 56K Internal V92 FAX Modem (Model 5610) 12b9 baba USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] 12ba BittWare, Inc. + 0069 VectorPath S7t-VG6 + 12ba b5d4 BW_BMC_IF + 0079 VectorPath VP815 + 12ba b5d4 BW_BMC_IF + 007a VectorPath VP708 12bb Nippon Unisoft Corporation 12bc Array Microsystems 12bd Computerm Corp. @@ -18088,6 +18176,7 @@ e110 PI7C9X110 PCIe- to-PCI bridge 1775 11cc CC11/CL11 CompactPCI Bridge e111 PI7C9X111SL PCIe-to-PCI Reversible Bridge + ea50 3bbb OCuLink to RX3i backplane bridge e112 PI7C9X112SL PCIe-to-PCI Bridge e113 PI7C9X113SL/PI7C9X118SL PCIe-to-PCI Bridge e130 PCI Express to PCI-XPI7C9X130 PCI-X Bridge @@ -18558,6 +18647,40 @@ 1028 2293 DC NVMe SED 7450 MU U.2 12.8TB 1028 2294 DC NVMe ISE 7450 MU U.2 12.8TB 1344 3000 U.3 1600GB [MTFDKCB1T6TFS/MTFDKCC1T6TFS] + 51c9 7600 PRO NVMe SSD + 1028 2421 MTFDLBQ1T9THG-1BP1DFCDA + 1028 2422 MTFDLBQ3T8THG-1BP1DFCDA + 1028 2423 MTFDLBQ7T6THG-1BP1DFCDA + 1028 2424 MTFDLBQ15T3THG-1BP1DFCDA + 1028 2429 MTFDLBQ1T9THG-1BP1JABDA + 1028 242a MTFDLBQ3T8THG-1BP1JABDA + 1028 242b MTFDLBQ7T6THG-1BP1JABDA + 1028 242c MTFDLBQ15T3THG-1BP1JABDA + 1028 2431 MTFDLAL1T9THG-1BP1DFCDA + 1028 2432 MTFDLAL3T8THG-1BP1DFCDA + 1028 2433 MTFDLAL7T6THG-1BP1DFCDA + 1028 2434 MTFDLAL15T3THG-1BP1DFCDA + 1028 2439 MTFDLAL1T9THG-1BP1JABDA + 1028 243a MTFDLAL3T8THG-1BP1JABDA + 1028 243b MTFDLAL7T6THG-1BP1JABDA + 1028 243c MTFDLAL15T3THG-1BP1JABDA + 51ca 7600 MAX NVMe SSD + 1028 2425 MTFDLBQ1T6THS-1BP1DFCDA + 1028 2426 MTFDLBQ3T2THS-1BP1DFCDA + 1028 2427 MTFDLBQ6T4THS-1BP1DFCDA + 1028 2428 MTFDLBQ12T8THS-1BP1DFCDA + 1028 242d MTFDLBQ1T6THS-1BP1JABDA + 1028 242e MTFDLBQ3T2THS-1BP1JABDA + 1028 242f MTFDLBQ6T4THS-1BP1JABDA + 1028 2430 MTFDLBQ12T8THS-1BP1JABDA + 1028 2435 MTFDLAL1T6THS-1BP1DFCDA + 1028 2436 MTFDLAL3T2THS-1BP1DFCDA + 1028 2437 MTFDLAL6T4THS-1BP1DFCDA + 1028 2438 MTFDLAL12T8THS-1BP1DFCDA + 1028 243d MTFDLAL1T6THS-1BP1JABDA + 1028 243e MTFDLAL3T2THS-1BP1JABDA + 1028 243f MTFDLAL6T4THS-1BP1JABDA + 1028 2440 MTFDLAL12T8THS-1BP1JABDA 51cb 6550 ION NVMe SSD 1028 2379 MTFDLBQ61T4THL-1BK1JABDA 1028 23a6 MTFDLBQ30T7THL-1BK1JABDA @@ -18577,6 +18700,8 @@ 5428 4600 NVMe SSD 5429 2600 NVMe SSD (DRAM-less) 6001 2100AI NVMe SSD [Nitro] + 6003 4150AT NVMe SSD + 6004 4100AT NVMe SSD (DRAM-less) 1345 Arescom Inc 1347 Odetics 1349 Sumitomo Electric Industries, Ltd. @@ -19038,8 +19163,13 @@ 0252 XR17V252 Dual UART PCI controller 0254 XR17V254 Quad UART PCI controller 0258 XR17V258 Octal UART PCI controller - 0352 XR17V3521 Dual PCIe UART + 0352 XR17V352 High Performance Dual PCI Express UART 4c52 9252 LRUS9252H 2-Port RS232 Serial Adapter + 0354 XR17V354 High Performance Quad PCI Express UART + 0358 XR17V358 High Performance Octal PCI Express UART + ea50 8232 8-Channel RS232 Card + 8358 Twin XR17V358 High Performance Octal PCI Express UARTs + ea50 8232 16-Channel RS232 Card 13a9 Siemens Medical Systems, Ultrasound Group 13aa Broadband Networks Inc 13ab Arcom Control Systems Ltd @@ -20327,6 +20457,8 @@ 1432 Edimax Computer Co. 9130 RTL81xx Fast Ethernet 1433 Eltec Elektronik GmbH + 0002 XRD_FG (PCGR-200) [95510214H] + 0006 XRD_FGx Opto (PCGR-300) [95510215H] # Nee Real Time Devices US Inc. 1435 RTD Embedded Technologies, Inc. 4520 PCI4520 @@ -20379,7 +20511,6 @@ 144c Catalina Research Inc 144d Samsung Electronics Co Ltd 1600 S4LN053X01 AHCI SSD Controller(Apple slot) - 9602 RS780/RS880 PCI to PCI bridge (int gfx) a544 Exynos 8890 PCIe Root Complex a575 Exynos 7420 PCIe Root Complex a5e3 Exynos 5433 PCIe Root Complex @@ -20389,21 +20520,13 @@ 144d a801 PM963 2.5" NVMe PCIe SSD a804 NVMe SSD Controller SM961/PM961/SM963 144d a801 SM963 2.5" NVMe PCIe SSD - a806 NVMe SSD SM0032L + a806 PM971 BGA PCIe x2 NVMe SSD a808 NVMe SSD Controller SM981/PM981/PM983 # Used by different variants of SSD 970 EVO and PRO 144d a801 SSD 970 EVO/PRO 1d49 403b Thinksystem U.2 PM983 NVMe SSD a809 NVMe SSD Controller 980 (DRAM-less) a80a NVMe SSD Controller PM9A1/PM9A3/980PRO - 0128 215a DC NVMe PM9A3 RI U.2 960GB - 0128 215b DC NVMe PM9A3 RI U.2 1.92TB - 0128 215c DC NVMe PM9A3 RI U.2 3.84TB - 0128 215d DC NVMe PM9A3 RI U.2 7.68TB - 0128 2166 DC NVMe PM9A3 RI 110M.2 960GB - 0128 2167 DC NVMe PM9A3 RI 110M.2 1.92TB - 0128 2168 DC NVMe PM9A3 RI 80M.2 480GB - 0128 2169 DC NVMe PM9A3 RI 80M.2 960GB 1028 215a DC NVMe PM9A3 RI U.2 960GB 1028 215b DC NVMe PM9A3 RI U.2 1.92TB 1028 215c DC NVMe PM9A3 RI U.2 3.84TB @@ -20420,6 +20543,7 @@ # Actually 88SS1322 according to techpowerup a80b NVMe SSD Controller PM9B1 (DRAM-less) a80c NVMe SSD Controller S4LV008[Pascal] + 144d a801 SSD 990 PRO a80d NVMe SSD Controller PM9C1a (DRAM-less) a80e NVMe SSD Controller PM9D3a a80f BM9C1 QLC NVME SSD (DRAM-less) @@ -20799,12 +20923,15 @@ # MT7612E too? 7662 MT7662E 802.11ac PCI Express Wireless Network Adapter 7663 MT7663 802.11ac PCI Express Wireless Network Adapter + 7902 MT7902 802.11ax PCIe Wireless Network Adapter [Filogic 310] 7915 MT7915E 802.11ax PCI Express Wireless Network Adapter 7916 MT7905D/MT7975 # WiFi 6E capable 7922 MT7922 802.11ax PCI Express Wireless Network Adapter 1a3b 5300 ASUS PCE-AXE59BT - 7961 MT7921 802.11ax PCI Express Wireless Network Adapter + 7925 MT7925 802.11be 160MHz 2x2 PCIe Wireless Network Adapter [Filogic 360] + 7927 MT7927 802.11be 320MHz 2x2 PCIe Wireless Network Adapter [Filogic 380] + 7961 MT7921 802.11ax PCIe Wireless Network Adapter [Filogic 330] 7988 MT7988 PCI Express Host Bridge [Filogic 880] 7990 MT7996 802.11be PCI Express Wireless Network Adapter (Port 0) 7991 MT7996 802.11be PCI Express Wireless Network Adapter (Port 1) @@ -21686,6 +21813,7 @@ 4430 BCM44xx CardBus iLine32 HomePNA 2.0 4432 BCM4432 CardBus 10/100BaseT 4433 BCM4387 802.11ax Dual Band Wireless LAN Controller + 4434 BCM4388 802.11ax Dual Band Wireless LAN Controller 4464 BCM4364 802.11ac Wireless Network Adapter # brcmfmac reports it as BCM4377/4 but macOS drivers call it BCM4377b 4488 BCM4377b Wireless Network Adapter @@ -21743,6 +21871,8 @@ 5f69 BRCM4378 Bluetooth Controller # Bluetooth PCI function of the BRCM4387 Wireless Network Adapter 5f71 BRCM4387 Bluetooth Controller +# Bluetooth PCI function of the BCM4388 Wireless Network Adapter + 5f72 BCM4388 Bluetooth Controller # Bluetooth PCI function of the BRCM4377 Wireless Network Adapter 5fa0 BRCM4377 Bluetooth Controller 8411 BCM47xx PCIe Bridge @@ -22264,10 +22394,6 @@ 1539 ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A. 153a ONO SOKKI 153b TERRATEC Electronic GmbH - 1144 Aureon 5.1 -# Terratec seems to use several IDs for the same card. - 1147 Aureon 5.1 Sky - 1158 Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV] 153c ANTAL Electronic 153d FILANET Corp 153e TECHWELL Inc @@ -22536,8 +22662,9 @@ 0278 Quantum-4 in Flash Recovery Mode 0279 Quantum-4 RMA 027a Eros Chiplet - 027c Quantum-5 in Flash Recovery Mode - 027d Quantum-5 RMA + 027c Nvlink-7 Switch in Flash Recovery Mode + 027d Nvlink-7 Switch RMA + 027e Spectrum-7 Tile 0281 NPS-600 Flash Recovery 0282 ArcusE Flash recovery 0283 ArcusE RMA @@ -22560,8 +22687,8 @@ 029a OPHY3.1 # Sagitta 029c OPHY3.5 - 02a0 Quantum-6 in Flash Recovery Mode - 02a1 Quantum-6 RMA + 02a0 Nvlink-8 Switch in Flash Recovery Mode + 02a1 Nvlink-8 RMA 02a2 Spectrum-7 in Flash Recovery Mode 02a3 Spectrum-7 RMA 1002 MT25400 Family [ConnectX-2 Virtual Function] @@ -22782,6 +22909,7 @@ # Spectrum, 100GbE Switch cb84 MT52100 cf08 Switch-IB2 + cf09 Quantum Aggregation Node cf6c MT53100 [Spectrum-2] cf70 Spectrum-3 cf80 Spectrum-4 @@ -22793,8 +22921,8 @@ d2f4 Quantum-3 d2f6 Quantum-3CPO d2f8 Quantum-4 - d2fa Quantum-5 - d2fc Quantum-6 + d2fa Nvlink-7 Switch + d2fc Nvlink-8 Switch 15b4 CCI/TRIAD 15b5 Cimetrics Inc 15b6 Texas Memory Systems Inc @@ -22822,7 +22950,7 @@ 5004 PC SN520 x2 M.2 2230 NVMe SSD 5005 PC SN520 x2 M.2 2242 NVMe SSD 5006 SanDisk Extreme Pro / WD Black SN750 / PC SN730 / Red SN700 NVMe SSD - 5007 IX SN530 NVMe SSD (DRAM-less) + 5007 IX SN530 NVMe SSD / microSD Express Card (DRAM-less) 5008 PC SN530 NVMe SSD (DRAM-less) 5009 SanDisk Ultra 3D / WD PC SN530, IX SN530, Blue SN550 NVMe SSD (DRAM-less) 15b7 5009 WD Blue SN550 NVMe SSD @@ -22848,12 +22976,14 @@ 5036 WD PC SN5000S M.2 2280 NVMe SSD (DRAM-less) 5041 WD Blue SN580 NVMe SSD (DRAM-less) 5042 WD Black SN770M NVMe SSD (DRAM-less) - 5044 WD PC SN7100S NVMe SSD (DRAM-less) - 5045 WD_BLACK SN7100 NVMe SSD (DRAM-less) + 5043 WD PC SN7100S M.2 2230 NVMe SSD (DRAM-less) + 5044 WD PC SN7100S M.2 2242 NVMe SSD (DRAM-less) + 5045 WD_BLACK SN7100/WD PC SN7100S M.2 2280 NVMe SSD (DRAM-less) 5046 SanDisk Extreme NVMe SSD (DRAM-less) 5049 SN8000S NVMe SSD 504a WD Blue SN5000 NVMe SSD (DRAM-less) 5050 WD PC SN8050S / WD_BLACK SN8100 NVMe SSD + 5063 WD Blue SN5100 NVMe SSD (DRAM-less) 15b8 ADDI-DATA GmbH 1001 APCI1516 SP controller (16 digi outputs) 1003 APCI1032 SP controller (32 digi inputs w/ opto coupler) @@ -22909,6 +23039,8 @@ 15ce Genrad Inc 15cf Hilscher Gesellschaft für Systemautomation mbH *** 2213 LINES SKIPPED *** From nobody Wed Jan 14 12:34:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsm2cXlz6NMFL for ; Wed, 14 Jan 2026 12:34: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 4drlsl6nnLz3x2f for ; Wed, 14 Jan 2026 12:34:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394044; h=from:from:reply-to:subject:subject: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=W+h8Uyyv1q7ygVqjfVGyW6JgCKgAT2Nh66pbnWuMdR0=; b=ILIfBRaIJTmp4Rv8eVEmViSYILnv2IQaLlAJen06mVv3IWf7MFC8kXY7I7CcRJB01qmis0 jhLMgj6BvOnnn3EoGwU15FtZ9siRiPIJrhUQXY6ssIXlQVPYGfMqcCGR8dcl6aaH0YZDYP lkYWjMUwNhB1z0PB8Ol5b23acyVtIDlr94K//829dXt9LFC2b4FxnV7nd4nhQHxks6ivpw Zq3EUuH+EFIdsQK0nyHufRznU4LkaMqElscg97aSqeoNfnpmZGhNP5cnEVx8JiRQpinbpn s+VPJiBFLKmH6gzcuAF0VuNYhTA/JoMOx3vAz78R54w59gH6kvd0oxjMG9+HPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394044; h=from:from:reply-to:subject:subject: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=W+h8Uyyv1q7ygVqjfVGyW6JgCKgAT2Nh66pbnWuMdR0=; b=rM14RlxpAlYAb7zp3r17evyFKl8suQd2X7KoGGv/BTDm/DQVp0yIbQof9gl5dtKXi9R2Se lJHmnLu5sw+DZee86eABE5Krkyfazmq4plSen70VV2lkyaJSYVFmvvM5cUUo4elY+IVKeA 4Osxyyl/Bhi/3rtdGeZiZaWK43HuVI2JSV2FIXFUUA/8iuUUV59lS0j6Px5x/9s6QCs62o Yo8jyeULPkcN0mP1YcCbf6qOzXZRtLZPYzAWAcki3NoTrPsWSyaH5ZvQ2V/OyFhVvt+GIz Vw34YmukqffPyEc5ZB5oJc0i8nJnzVF+SfgTtOFqy6fz19FZhlTkyaULuC0ePg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394044; a=rsa-sha256; cv=none; b=pSlr+OZwt8sdeIlp5e24St21bzW+N4HkhTx5FjXHiuwm/cDygR9If09P/z0biyvLOebr8I DTPtWobBP5zia5Q3ykRU4Cyq1DlfplpDMfeO5EhePR8hv75rcQge+CeW4s/wkNnkdT5kfy KJDpddGf0g9wdFAcnPKbpdXMbQ0+YZqV2oxYM2nj3YY1/g6gnxBXuWGUvU85T/5c7UG7tD pZC9D8OEGNMYjmhe2eATBobW1WOeFJh8D2YftTU37NM78SghQw11rnnb+dQ/FgWXLvQ3nz pWCqDLJRHLPTYSTdh3f6vjE2QnQhZPs/SpEiauZOIIT3WSlOnk+6s7K33vnL7A== 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 4drlsl6F0gzyX5 for ; Wed, 14 Jan 2026 12:34:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fff6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 01c811c31726 - stable/14 - nuageinit/man: clarify how to enable sudo and doas 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 01c811c317262e46bcc37ff5f8ac4a2f399bfdef Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:03 +0000 Message-Id: <69678d3b.3fff6.2052d5cb@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=01c811c317262e46bcc37ff5f8ac4a2f399bfdef commit 01c811c317262e46bcc37ff5f8ac4a2f399bfdef Author: Gonéri Le Bouder AuthorDate: 2026-01-03 23:10:18 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:40 +0000 nuageinit/man: clarify how to enable sudo and doas Clarify that both `sudo` and `doas` are not part of the base system and they need to be listed in the `packages` section if the user wants to enable them. MFC After: 1 week Signed-off-by: Gonéri Le Bouder Pull Request: https://github.com/freebsd/freebsd-src/pull/1944 (cherry picked from commit 402f1353707783e2adc8d0bff01faf557820f6f5) --- libexec/nuageinit/nuageinit.7 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index b527c984970c..bb646cf4a652 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -3,7 +3,7 @@ .\" Copyright (c) 2025 Baptiste Daroussin .\" Copyright (c) 2025 Jesús Daniel Colmenares Oviedo .\" -.Dd June 26, 2025 +.Dd January 6, 2026 .Dt NUAGEINIT 7 .Os .Sh NAME @@ -321,6 +321,15 @@ which will be replaced by the current username. A special case exist: if the entry is a simple string with the value .Qq default , then the default user is created. + +Configuring +.Nm sudo +or +.Nm doas +does not automatically install them. Ensure the relevant command is listed in your +.Nm packages +section. + .It Ic chpasswd Change the passwords for users, it accepts the following keys: .Bl -tag -width "expire" @@ -395,6 +404,7 @@ users: packages: - neovim - git-lite + - sudo package_update: true package_upgrade: true runcmd: From nobody Wed Jan 14 12:34:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsn2D9xz6NMPJ for ; Wed, 14 Jan 2026 12:34:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlsn0P6vz3x2h for ; Wed, 14 Jan 2026 12:34:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394045; h=from:from:reply-to:subject:subject: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=eu0bq9YbUEG5LXtPZUK7sBa4ZtPrCYGAwCmjYaYhseo=; b=bceCe/sybfg3TT3uCrVpW5JgfF2M4EBn0OiGdAO7OQ5CkngwBJ4+Sv9e2DFVXFwgwOzD9b 3v8A7FahE9mXPtStKhakbPUmgASz+R+11CIWPp2v6bdT5UPJbN8zIPt7uFvgQzctlDqaS2 Odvw6UYeV7dQYVOWSHqzJnVDjiRZqSXIPvzHwLtiEAmWfZ+YwWuTLzwjhmNHouVhp+ykVS ors72dZVXzFyeado9zTvtwSkofO74flbQ/D00TpWOZbEh4U9IflLkDwVt0OE+cSwTJx9lA RW75gpqCl21uAfb9EwPkfkURajqvynw/Mw9KACA6W13cTVSGNJcEWRLwYw8ZPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394045; h=from:from:reply-to:subject:subject: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=eu0bq9YbUEG5LXtPZUK7sBa4ZtPrCYGAwCmjYaYhseo=; b=WQTEjEDJ2FaA9IWr21qKSBfYa7IRhrB4V9mcBKi9xnoKLM+Ofz0Nf7dDWIb0MbyHkwRbY4 nOX/ckbXOzZsnAxXVAKSLZVSAeGpehBpLAO7MUQUM7+vt7Y7LUzslK3CX1DV38/cmvcyZC zFCeiuW5RD6PjW5lj9300ua80TMQ72TRLmI//kYzvESPsRyktpCYZ7woMIg+FuZzaCLH5y ys+oeyKH38pVPqH1zz9MFihtpagaVmIvj2jjm1k54IELUB4hDXfWun1PqpO+9hLQqzeqg9 3806frzf3YgIGTg6QdQ1dvia/XFhlut5p7Bb5KMxjnyRRyHhrDKBOiVw4Sc/AA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394045; a=rsa-sha256; cv=none; b=fSKk/+gJAm30lOzZbN9wwrM7YEm5T5V7bRWvt92Aak0W2FxkNTSm0gPELfi1JBUqUmuTX5 Lat+lYHBVhjDa3CTfG+1q4oukBpF1emzDaOxopDjPE4xjt63QcHyjX5O27mRD2DCBix8tG XMYfRRBvJ8TdNz4FbqA2IiN8df+hLCBqd0kdkVR/Blm8tXQIWj7OwHyem0bTsyjZ6yUNtw Ry65P6Ixafdxs4DPZWjMCPSBdCnQ0IsIlGpdfRa2jawzA7CGynGqv4XZF7uQac567Ms093 ty2wICSTktBMZIrP3cQUXi96oNf4fW3EYFCaWyGK9/nDuZrSy6jldacCr5u0kQ== 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 4drlsm74lmzyJ2 for ; Wed, 14 Jan 2026 12:34:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3db72 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 5ba6ed861df7 - stable/14 - nuageinit: config2_network support dns service cfg 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5ba6ed861df77399c8957f95ca1f62cb9865c28f Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:04 +0000 Message-Id: <69678d3c.3db72.78a208c2@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=5ba6ed861df77399c8957f95ca1f62cb9865c28f commit 5ba6ed861df77399c8957f95ca1f62cb9865c28f Author: Gonéri Le Bouder AuthorDate: 2026-01-03 02:11:55 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:40 +0000 nuageinit: config2_network support dns service cfg This change enhances `config2_network()` to honor the DNS configuration, when it's defined through the `services` section. The `network_data.json` file can hold DNS configuration at two different places: - within a network configuration entry - or `dns` entry in the `services` section, in this case the configuration is global. An example of such configuration: {"links": [{"id": "interface0", "type": "phy", "ethernet_mac_address": "52:54:00:01:59:03"}], "networks": [{"id": "private-ipv4-0", "type": "ipv4", "link": "interface0", "ip_address": "192.168.123.5", "netmask": "255.255.255.0", "routes": [{"network": "0.0.0.0", "netmask": "0.0.0.0", "gateway": "192.168.123.1"}], "network_id": "9e5b1ed9-f5e6-4941-a90f-2e06bab858de", "dns_nameservers": ["192.168.123.1"], "services": [{"type": "dns", "address": "192.168.123.1"}]}], "services": [{"type": "dns", "address": "192.168.123.1"}]} See: https://docs.openstack.org/nova/latest/user/metadata.html MFC After: 1 week Signed-off-by: Gonéri Le Bouder Pull Request: https://github.com/freebsd/freebsd-src/pull/1941 (cherry picked from commit 7af8b75201b7af353fa74c8feb937b52f5ccf9bb) --- libexec/nuageinit/nuageinit | 25 ++++++++++++++++++++++++- libexec/nuageinit/nuageinit.7 | 2 ++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 0870d6570d0e..aa7d1e4981e6 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -235,9 +235,16 @@ local function nameservers(interface, obj) resolv_conf_handler:close() end - if not os.execute("resolvconf -a " .. interface .. " < " .. resolv_conf) then + -- Only call resolvconf with interface if interface is provided + if interface then + resolvconf_command = "resolvconf -a " .. interface .. " < " .. resolv_conf + else + resolvconf_command = "resolvconf -u" + end + if not os.execute(resolvconf_command) then nuage.warn("Failed to execute resolvconf(8)") end + end local function install_packages(packages) @@ -571,6 +578,22 @@ local function config2_network(p) --end end end + + -- Handle global nameservers from services section + if obj["services"] then + local dns_servers = {} + for _, service in pairs(obj["services"]) do + if service["type"] == "dns" then + table.insert(dns_servers, service["address"]) + end + end + if #dns_servers > 0 then + -- Use nameservers() function for global services + local nameserver_config = {addresses = dns_servers} + nameservers(nil, nameserver_config) + end + end + if #ipv4 > 0 then routing:write('static_routes="') routing:write(table.concat(ipv4, " ") .. '"\n') diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index bb646cf4a652..19f92873de51 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -117,6 +117,8 @@ file supports the following keys: Array of network interfaces to be configured. .It Ic networks Array of network configurations to be set. +.It Ic services +Array of service configurations to be set (e.g: DNS). .El .El .Pp From nobody Wed Jan 14 12:34:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsp40xRz6NM2D for ; Wed, 14 Jan 2026 12:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlsp1BjKz3x5V for ; Wed, 14 Jan 2026 12:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RenXI8ydydS+prqt/Yw1Z/dUexcZbN+E5IhVMZBouqw=; b=JOvLg+lLTvtMjf6iSFsieq8SGaOa8IDb6rPjI55B+D253q1b5+pnJb5eQDDpcSF+DzyvRc 6B6+TugyGMU9gHzLxPje5MhitBaiH0qIvnvfEq0I9DEOABsxUCBVBqDwBe+73LPO3jVHly cL4a8HpsSgHg43qRLPXXjOeX6cnhNQK7fSnwQjr32NVkfBI60Q2kaKsAclSnjpCSlI2L6G I1zUDiEjDWXnRpA3xriz1HMPh1NFpt+3dWuqhw7HqAY/+tgsmMf97J0Zk7RITEdi09004k I1rRU8luPfwQI4Rb2gH880vTK/GiRMpDqFa6bhLejKHGnJm1qp52Fg7jrEmbJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RenXI8ydydS+prqt/Yw1Z/dUexcZbN+E5IhVMZBouqw=; b=Cr/M+JY7FLZ0vFdjwHUlEpPkMbTqrfY790KDlIQaIeuixUTuJL/EYRH4mr5exlWdDwc8YA nLMxP5+h+pAqVjTj8E7VE3oCzAMyfgXJIF3Kvm1mHl1HU52e7DZTsn2/HLKWnjmw6rhovB fYNhLH+Y/m1VADKvMQj7ar2S/Nj/PDjDzDfBOULOgOi59FSF3BclWT64s3kPX0BQxm+z7e EhN86bfJeYVMpEB+HmQ0k4yTKDK7vDrm3KUcqRRuvRKQ5J607cYxipFMSClunbUNQBiyOU TDFSG8cukyOfpAoDcrnzb64FbDQKcrUlUOALaf4ziXSjlHBgpfA+scNaspQG7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394046; a=rsa-sha256; cv=none; b=knKre44h7+FhcVMzNQBenlEirFRXxe3aFxDk/niA3jhHEl21huiOi1fgppmw8bPiis588g EUalNwhjcaoPtB6JilMzZ7Cw39UxdbhVaD12AG7q8y13+nrfs7bzcbNbpYIud0C5zlcSxa 29EX6f9Sw45rux6hXQBB+F7iEVI18cTRuk8Kn/ljIWiNwySS3mK+ah14my8HdpXqzUsfzy syAsvRMDgcXlfBGPn60CPsY7NxwOVleAqRCF60QjuqtRvqNd5BZrDcqX/Sto7uXbcntId+ xJ2inEnp4mACpftW3+lzejYkypoBB8tngGwlGaEOJ9wzH8CY3hNiOW5omO+9Qg== 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 4drlsp0kfvzycg for ; Wed, 14 Jan 2026 12:34:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e5b6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: bdc2a7c9198a - stable/14 - nuageinit(7): pert mandoc linter 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bdc2a7c9198a91aaacce7a1c3cbe6902b7bc4c50 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:06 +0000 Message-Id: <69678d3e.3e5b6.1f8abe7a@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=bdc2a7c9198a91aaacce7a1c3cbe6902b7bc4c50 commit bdc2a7c9198a91aaacce7a1c3cbe6902b7bc4c50 Author: Baptiste Daroussin AuthorDate: 2026-01-06 08:24:50 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:40 +0000 nuageinit(7): pert mandoc linter MFC After: 1 week (cherry picked from commit 9ea30bbb0e3c34b3ea369e217d930e2165610c0c) --- libexec/nuageinit/nuageinit.7 | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/libexec/nuageinit/nuageinit.7 b/libexec/nuageinit/nuageinit.7 index 19f92873de51..fe17bf09fe86 100644 --- a/libexec/nuageinit/nuageinit.7 +++ b/libexec/nuageinit/nuageinit.7 @@ -150,7 +150,7 @@ is not set. Sets the system timezone based on the value provided. .Pp See also -.Xr tzfile 3 Ns . +.Xr tzfile 5 . .It Ic groups An array of strings or objects to be created: .Bl -bullet @@ -191,7 +191,7 @@ Specifying the following parameters from a file named takes precedence over their specification from the .Ic network parameter of -.Pa user-data Ns . +.Pa user-data . .Bl -tag -width "ethernets" .It Ic ethernets Mapping representing a generic configuration for existing network interfaces. @@ -202,10 +202,11 @@ rule is specified. If .Sy match rules are specified, an arbitrary name can be used -.Po e.g.: id0 Pc Ns . +.Po e.g.: id0 Pc . .Bl -tag -width "nameservers" .It Ic match -This selects a subset of available physical devices by various hardware properties. +This selects a subset of available physical devices by various hardware +properties. The following configuration will then apply to all matching devices, as soon as they appear. All specified properties must match. @@ -213,7 +214,7 @@ The following properties for creating matches are supported: .Bl -tag -width "macaddress" .It Ic macaddress -.No Device's MAC address in the form Sy xx:xx:xx:xx:xx:xx Ns . +.No Device's MAC address in the form Sy xx:xx:xx:xx:xx:xx . Letters should be lowercase. .It Ic name Current interface name. @@ -224,8 +225,8 @@ Lua pattern-natching expressions are supported. .El .It Ic set-name -When matching on unique properties such as MAC, match rules can be written so that they -match only one device. +When matching on unique properties such as MAC, match rules can be written so +that they match only one device. Then this property can be used to give that device a more specific/desirable/nicer name than the default. .Pp @@ -233,8 +234,8 @@ While multiple properties can be used in a match, .Sy macaddress is required for nuageinit to perform the rename. .It Ic mtu -The MTU key represents a device's Maximum Transmission Unit, the largest size packet -or frame. +The MTU key represents a device's Maximum Transmission Unit, the largest size +packet or frame. .It Ic wakeonlan Enable wake on LAN. Off by default. @@ -252,16 +253,16 @@ This requires setting .Sy addresses too. .Pp -Since only one default router can be configured at a time, this parameter is applied -when processing the first entry, and any others are silently ignored. +Since only one default router can be configured at a time, this parameter is +applied when processing the first entry, and any others are silently ignored. .It Ic gateway6 Set default gateway for IPv6, for manual address configuration. This requires setting .Sy addresses too. .Pp -Since only one default router can be configured at a time, this parameter is applied -when processing the first entry, and any others are silently ignored. +Since only one default router can be configured at a time, this parameter is +applied when processing the first entry, and any others are silently ignored. .It Ic nameservers Set DNS servers and search domains, for manual address configuration. .Pp @@ -316,22 +317,21 @@ A string or an array of strings which should be appended to .Pa ${LOCALBASE}/etc/doas.conf .Pp Instead of hardcoding the username, you can use -.Sy %u Ns , +.Sy %u , which will be replaced by the current username. .El .Pp A special case exist: if the entry is a simple string with the value .Qq default , then the default user is created. - Configuring .Nm sudo or .Nm doas -does not automatically install them. Ensure the relevant command is listed in your +does not automatically install them. +Ensure the relevant command is listed in your .Nm packages section. - .It Ic chpasswd Change the passwords for users, it accepts the following keys: .Bl -tag -width "expire" From nobody Wed Jan 14 12:34:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsr1t3gz6NM4K for ; Wed, 14 Jan 2026 12:34: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 4drlsq21Mgz3xCh for ; Wed, 14 Jan 2026 12:34:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394047; h=from:from:reply-to:subject:subject: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=ERp762CleEb4uXk2oS/NRDdClGmIhVygjCg4Ip5/21A=; b=AcG75JmBhy2d87d+dMkmyJNV8tw0LoFfagJ1cnOTYtw+/ThRwo9E+NZrcdgEK96z8pPOkD GRYnBIru+mPAqpjrUb9Hkib14+WvJD2ntdAdlUWauAGxKk8UZQV+BqzCAFzyfukfVj9Js6 BENPvgxR7BugAJfj1mj9FO/VKetKA1Rl+8Db6PG6b5gjK0Z6c70tHu4nbXGaCPruZ8Kz4f nHOHtf9xlw6IKQfftjOoXIWZKAJdUkOzvbhH540ykx6u5YZbXYM0CGgzdP799VKJiPtXei PXEon5q1Ub8wMJDCixw3Jr0cf9ZwVRiqMgM9K0Gi8kNMA3gkFpdsvfZGnK7cdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394047; h=from:from:reply-to:subject:subject: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=ERp762CleEb4uXk2oS/NRDdClGmIhVygjCg4Ip5/21A=; b=CTE6K6STFcbIJcq+4aEbXnnWokjI0mMBpaDX+fhzPdLILmUEB1hGMSiHxOFlUjlNFRx6vm wUWfwnkfNJ3YXI0Zls7RC3rk0fSImumcQ2WA5mEg7GMKHK8vGjmh2EXSrkDnT8e8EjXoYL TTHH9TLs+bUsxxQ4yyhVVCvBl/NkreoUUlOtcI8Xp5NKkpddZ/tIh/7+8UiL2TQgLE2PDi ctgW8mg5+WeEOEfYi6iEHw62ev1xnUj2JPbctDwXEEL6mb5gna1ha4Q3T4YTrUDjhRe+s3 oeND8PNML0YgFGRH8BeH6GJANKBw0kDW2i6l6WhapZbhWqWVq2QJGg201Yuc3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394047; a=rsa-sha256; cv=none; b=a3sWisZH1SdXaGW6UwSs0cSPKCBsuYwOtaIiNKcH65YkPm+RzEtrnNBKRSOsUeqRENwH8S iuesy07875VI/MOzfhMo2LYIdCB1XjsA6Y624hgBM0JCjuealyvZz4k2BHL3LaxFFc3JfU 6LECtlBBtTDoLadkVD0DM9A+BhsCRR4CYn+fKMKhBfqRLp8NY7h4tPUIsTgr+nFlqn9Xto i/pff+PsnQCRY4C/ugALq++eWN3pjHpnopMVg6W+9NtNeXrvz/6tTXNqHkEWEIsqnQzwed ckhaLE4Lx4yEIgw0Zhf41jC70NZZdQ1tiVh9wBMFeP7tWK+hjsXitnLhEWAePg== 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 4drlsq1bYRzy6b for ; Wed, 14 Jan 2026 12:34:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e351 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 46eca8270ce5 - stable/14 - nuageinit: only create the default user when needed 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 46eca8270ce528936e65c805eba9635ecd2cbcdb Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:07 +0000 Message-Id: <69678d3f.3e351.30f018c3@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=46eca8270ce528936e65c805eba9635ecd2cbcdb commit 46eca8270ce528936e65c805eba9635ecd2cbcdb Author: Gonéri Le Bouder AuthorDate: 2026-01-06 17:18:46 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:40 +0000 nuageinit: only create the default user when needed The "default" user should only be created when: - the `users` key is missing - or the `default` string is present in the `users` list Since the `public_keys` is extracted from the meta-data, this patch has to slightly adjust the way they are loaded. The change simplify the logic around the default user SSH key injection. Both `ssh_authorized_keys` and `public_keys` are handled at the same time. MFC After: 1 week Signed-off-by: Gonéri Le Bouder Pull Request: https://github.com/freebsd/freebsd-src/pull/1952 (cherry picked from commit cbc00fcc2b92e6e38b0a180261547b1a22b461bd) --- libexec/nuageinit/nuageinit | 150 ++++++++++++++++++++++++++------------------ 1 file changed, 88 insertions(+), 62 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index aa7d1e4981e6..c36467d2110f 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -15,14 +15,28 @@ end local ni_path = arg[1] local citype = arg[2] -local default_user = { - name = "freebsd", - homedir = "/home/freebsd", - groups = "wheel", - gecos = "FreeBSD User", - shell = "/bin/sh", - plain_text_passwd = "freebsd" -} +local function default_user(obj, metadata) + local ssh_authorized_keys = {} + if type(metadata.public_keys) == "table" then + for _, k in pairs(metadata.public_keys) do + table.insert(ssh_authorized_keys, k) + end + end + if type(obj.ssh_authorized_keys) == "table" then + for _, k in ipairs(obj.ssh_authorized_keys) do + table.insert(ssh_authorized_keys, k) + end + end + return { + name = "freebsd", + homedir = "/home/freebsd", + groups = "wheel", + gecos = "FreeBSD User", + shell = "/bin/sh", + plain_text_passwd = "freebsd", + ssh_authorized_keys = ssh_authorized_keys + } +end local root = os.getenv("NUAGE_FAKE_ROOTDIR") if not root then @@ -77,12 +91,16 @@ local function get_ifaces_by_mac() return myifaces end -local function sethostname(obj) +local function sethostname(obj, metadata) -- always prefer fqdn if specified over hostname if obj.fqdn then nuage.sethostname(obj.fqdn) elseif obj.hostname then nuage.sethostname(obj.hostname) + elseif metadata["local-hostname"] then + nuage.sethostname(metadata["local-hostname"]) + elseif metadata["local"] then + nuage.sethostname(metadata["hostname"]) end end @@ -109,20 +127,40 @@ local function groups(obj) end end -local function create_default_user(obj) - if not obj.users then - -- default user if none are defined - nuage.adduser(default_user) +local function create_default_user(obj, metadata) + local function need_default_user() + if not obj.users then + -- default user if "users" is undefined + return true + end + -- create default user if "default" is in the users list + for _, u in pairs(obj.users) do + if type(u) == "string" and u == "default" then + return true + end + end + return false + end + + if need_default_user() then + local du = default_user(obj, metadata) + local homedir = nuage.adduser(du) + if du.ssh_authorized_keys then + for _, k in ipairs(du.ssh_authorized_keys) do + nuage.addsshkey(homedir, k) + end + end end end -local function users(obj) +local function users(obj, metadata) if obj.users == nil then return end for n, u in pairs(obj.users) do if type(u) == "string" then if u == "default" then - nuage.adduser(default_user) + -- already done during create_default_user + nuage.adduser(default_user(obj, metadata)) else nuage.adduser({name = u}) end @@ -179,14 +217,6 @@ local function ssh_keys(obj) end end -local function ssh_authorized_keys(obj) - if obj.ssh_authorized_keys == nil then return end - local homedir = nuage.adduser(default_user) - for _, k in ipairs(obj.ssh_authorized_keys) do - nuage.addsshkey(homedir, k) - end -end - local function nameservers(interface, obj) local resolvconf_conf_handler = open_resolvconf_conf() @@ -279,17 +309,17 @@ local function get_ifaces_by_driver() local drivers = {} local last_interface = nil for line in proc:lines() do - local interface = line:match("^([%S]+): ") + local interface = line:match("^([%S]+): ") - if interface then + if interface then last_interface = interface - end + end - local driver = line:match("^[%s]+drivername: ([%S]+)$") + local driver = line:match("^[%s]+drivername: ([%S]+)$") - if driver then + if driver then drivers[driver] = last_interface - end + end end proc:close() @@ -631,45 +661,42 @@ local function parse_network_config() return netobj end -if citype == "config-2" then - local parser = ucl.parser() - local res, err = parser:parse_file(ni_path .. "/meta_data.json") +local function load_metadata() + if citype == "config-2" then + local parser = ucl.parser() + local res, err = parser:parse_file(ni_path .. "/meta_data.json") - if not res then - nuage.err("error parsing config-2 meta_data.json: " .. err) - end - local obj = parser:get_object() - if obj.public_keys then - local homedir = nuage.adduser(default_user) - for _,v in pairs(obj.public_keys) do - nuage.addsshkey(homedir, v) + if not res then + nuage.err("error parsing config-2 meta_data.json: " .. err) + end + local obj = parser:get_object() + + return obj + elseif citype == "nocloud" then + local f, err = io.open(ni_path .. "/meta-data") + if err then + nuage.err("error parsing nocloud meta-data: " .. err) end + local obj = yaml.load(f:read("*a")) + f:close() + if not obj then + nuage.err("error parsing nocloud meta-data") + end + return obj + elseif citype ~= "postnet" then + nuage.err("Unknown cloud init type: " .. citype) end - nuage.sethostname(obj["hostname"]) + return {} +end + +if citype == "config-2" then -- network config2_network(ni_path) -elseif citype == "nocloud" then - local f, err = io.open(ni_path .. "/meta-data") - if err then - nuage.err("error parsing nocloud meta-data: " .. err) - end - local obj = yaml.load(f:read("*a")) - f:close() - if not obj then - nuage.err("error parsing nocloud meta-data") - end - local hostname = obj["local-hostname"] - if not hostname then - hostname = obj["hostname"] - end - if hostname then - nuage.sethostname(hostname) - end -elseif citype ~= "postnet" then - nuage.err("Unknown cloud init type: " .. citype) end +local metadata = load_metadata() + -- deal with user-data local ud = nil local f = nil @@ -708,7 +735,6 @@ if line == "#cloud-config" then groups, create_default_user, ssh_keys, - ssh_authorized_keys, network_config, ssh_pwauth, runcmd, @@ -739,7 +765,7 @@ if line == "#cloud-config" then local netobj = parse_network_config() or obj network_config(netobj) else - calls_table[i](obj) + calls_table[i](obj, metadata) end end elseif line:sub(1, 2) == "#!" then From nobody Wed Jan 14 12:34:08 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsr5Nmjz6NMGD for ; Wed, 14 Jan 2026 12:34: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 4drlsr2wdFz3x0W for ; Wed, 14 Jan 2026 12:34:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1X5taMpCkFuP13cOlj/rVselK4OoKFT0cW2FG+xUMGc=; b=vybP7fM9bpqLvC1boih11p1U6ihasAm9A1zzeCtfVIZkeyjLY3803iOaAYhw7+Z6J2+tE1 B9jJ8MfCJFQJTHIf7VmT5v8RaGoMgfeaPPamVCcUZE1CvGn9cOnYI8zrbc8axb8trBsHd6 IggoSteJdrLPZTJxLkurwq9L1tcb5Mg780H09t9R5BkYqbD8OfdRC07VuiNZjYu2kz6VsY DM0Mk83H3cPzGz3opuyT/1NbLWdIb+9fpYbwRaLeswFEEHfRX36ncbrf9JWMXTQLvwLprM GrV3W2KqZCZTt6o7jxeALt5DKVmd8NrxeqDK4dUfJDjAOkTmOLzS2plhVU1zSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1X5taMpCkFuP13cOlj/rVselK4OoKFT0cW2FG+xUMGc=; b=bz/hS3KoZC4yLS2HuDf9kFFiQCMPW9ZbKwEXQZNY8bKNojr7I7gK713MNs6n5fXQCyajxX G92GM2I3Ea8OKfkRViDcCeYCy3Wnlt8Q1fSxaUtI0jofC49h8aeNWyhgLjYJD8m9cntjvW bhlU60BP5RGerxRei2etto2IO+BzryKXDjusRcmqc6CjfiImqMZBLyS1mTZMCGGBixhQW0 Hgm/W7vBTn+FF/YHP09H37hKvVe7NQJlN9GI+axwkuCRvMekUhNsSn06Ph8fdmchKgl1/+ uUv8yiFkyZJ7qi1gHcq6rQ4HJTKxGse8zS4EihXDEstxaST1w/65OlQOEXrSNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394048; a=rsa-sha256; cv=none; b=nBlRdZXv3hHzwyXwtsYfNhNpFZNl3scdNc2ZuzYiOiQktn9GrxQejGc5PDcq0/brZQ0Vyj IG8QRaW/m1ax1OkqOgaqTOexSivRa07EojCK9DAEQ8dKF9PmJU2Fu7daRT2jQLekUqGF3e lpuLG8lOYkrHdMKXyBXkL8k6rr4mvZi6ZbiLPjWE5xWRwNBJl5F52W9QJa3B97Cl+qU0cj isiiWzU0W4nJHsmn6GPN9vmrj/liwLlHKTg2dJqMhb4lElm53jko27281FaZ3cWQJNIHk9 bTku3IjMugvk0HAUsemNnCKIpnm7muM8hPV02oWEeG/n7ll2jJQOxXTyS+rCog== 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 4drlsr2N4lzy6c for ; Wed, 14 Jan 2026 12:34:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e356 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 9f5c4fbf6ca2 - stable/14 - release: stop disabling sendmail 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9f5c4fbf6ca2c8343ab10bb0178ebe3cf76076cd Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:08 +0000 Message-Id: <69678d40.3e356.6f209aa9@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=9f5c4fbf6ca2c8343ab10bb0178ebe3cf76076cd commit 9f5c4fbf6ca2c8343ab10bb0178ebe3cf76076cd Author: Baptiste Daroussin AuthorDate: 2026-01-07 13:55:54 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:40 +0000 release: stop disabling sendmail sendmail is already disabled by default everywhere since 14.0 MFC After: 1 week Approved by: emaste (re) Reviewed by: emaste (re) Differential Revision: https://reviews.freebsd.org/D54575 (cherry picked from commit d07198ff72aeddc5a884cfb81b22c22f2abf88f6) --- release/Makefile | 3 --- release/tools/arm.subr | 4 ---- release/tools/openstack.conf | 6 ------ release/tools/oracle.conf | 1 - release/tools/vagrant.conf | 6 ------ 5 files changed, 20 deletions(-) diff --git a/release/Makefile b/release/Makefile index 6be1d689000b..d52171f955b2 100644 --- a/release/Makefile +++ b/release/Makefile @@ -203,7 +203,6 @@ disc1: packagesystem .endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf - echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf @@ -243,7 +242,6 @@ bootonly: packagesystem .endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf - echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf @@ -281,7 +279,6 @@ dvd: packagesystem .endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf - echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf echo vfs.mountroot.timeout=\"10\" >> ${.TARGET}/boot/loader.conf echo kernels_autodetect=\"NO\" >> ${.TARGET}/boot/loader.conf diff --git a/release/tools/arm.subr b/release/tools/arm.subr index 6c53724ed52f..9adbe01700a9 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -211,10 +211,6 @@ arm_install_base() { echo "hostname=\"${hostname}\"" > ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'ifconfig_DEFAULT="DHCP inet6 accept_rtadv"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'sshd_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_enable="NONE"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_submit_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_outbound_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf - echo 'sendmail_msp_queue_enable="NO"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf echo 'growfs_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf if [ -n "${CONFIG_POWERD_ENABLE}" ]; then echo 'powerd_enable="YES"' >> ${CHROOTDIR}/${DESTDIR}/etc/rc.conf diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf index 05d2d13bbb39..eed0bf62da3a 100644 --- a/release/tools/openstack.conf +++ b/release/tools/openstack.conf @@ -22,12 +22,6 @@ vm_extra_pre_umount() { # Allow root to ssh using keys echo 'PermitRootLogin without-password' >> ${DESTDIR}/etc/ssh/sshd_config - # Disable sendmail - echo 'sendmail_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_submit_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_outbound_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_msp_queue_enable="NO"' >> ${DESTDIR}/etc/rc.conf - # Enable DHCP for the OpenStack instance echo 'ifconfig_DEFAULT="SYNCDHCP"' >> ${DESTDIR}/etc/rc.conf diff --git a/release/tools/oracle.conf b/release/tools/oracle.conf index 72c8dd9ded78..a68b36cb112e 100644 --- a/release/tools/oracle.conf +++ b/release/tools/oracle.conf @@ -42,7 +42,6 @@ export VM_RC_LIST=" vm_extra_pre_umount() { cat <<-'EOF' >> ${DESTDIR}/etc/rc.conf dumpdev=AUTO - sendmail_enable=NONE EOF cat <<-'EOF' >> ${DESTDIR}/boot/loader.conf diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index 2fc21911ce17..b57c7e0e0f9f 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -31,12 +31,6 @@ vagrant_common () { # Disable DNS lookups by default to make SSH connect quickly echo 'UseDNS no' >> ${DESTDIR}/etc/ssh/sshd_config - # Disable sendmail - echo 'sendmail_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_submit_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_outbound_enable="NO"' >> ${DESTDIR}/etc/rc.conf - echo 'sendmail_msp_queue_enable="NO"' >> ${DESTDIR}/etc/rc.conf - # Create the vagrant user with a password of vagrant /usr/sbin/pw -R ${DESTDIR} \ groupadd vagrant -g 1001 From nobody Wed Jan 14 12:34:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlst34qSz6NMJp for ; Wed, 14 Jan 2026 12:34: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 4drlss3JH7z3xNr for ; Wed, 14 Jan 2026 12:34:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JYpJTigK4jtwQu+BsHoCLjqQsQ/C/0RMkHqQdLpht8=; b=Vpnr/zzNzm2aV7laK2G4V1zBCPoj+mFPFgYLsKU21SXTtLDp3YtqrL3MSaEASJFugXC+CV BG3+DZ5AM9g+lDdZEzr8HOqIkJkRx5wtSeAcARYoaZQXpYq/Gz9iPv+paC7/6K8XpNgc1X r22au54HMfYAL4LsPdyThvh+tCwbvhR/SOSnJ3OhXxH+vb+GAAQ5AvGpFp5RMBhcPwYhKn +Hi76JtK0sA5TvjlhrbyqpBmfNAN5WHjMWE5UCWSAOXi+YOB32HvYNFoK+C0W/xgJSDf4f Q4zVL8ltFFNCoZJdYsxHnQRTiSV21Qmz1Oyi8kM2q6O+8ZWBBVGjL5AxJRW1cA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1JYpJTigK4jtwQu+BsHoCLjqQsQ/C/0RMkHqQdLpht8=; b=E6ilyBveUuRCLe6C69Dz38I1OsQUJEDrbhIm4krs3tLGtzd10D1zbIxH+Js1x90rb9wSCM VBe+CqmWni0wqcz+UodS2NqZS8RId9gbl4TVzAHnmCOL054BmXkhwIcgbxNwAIPSuT6k0c B048ez1KWiJ+mFe7CaS2kbjD68Y1ZEcbQGvC7nuGG0aIzntIdVDse9T3mqGEvqq//x0XPQ 4R6xyTfGxlbSq4VfBQ1x906/zoMSE/QaD47EHw7PWFpZYw7h9agKjx94ZbN9BfpdqDIcQk JmsNGPCj5wVa0Pc94QLhcw0pJYE0O0qZqjbBy0lDu90vzcrxSfbkiN71Xv9ifQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394049; a=rsa-sha256; cv=none; b=L2+TcONMTvuHS/229PONyS02xIkVYgmY+8dU2CSiLp1sf2yG1K59iOnET2ZO71qHOfGBb3 nBVCyAdwDj+tqLGIjTElReO5wFCc1jxj3Yx4djjw/JOvyv3RPpZlyEjjAvSPxH1BUEwEsh T+ly/98s/npmSa5Vf4qlIYRZldb1Apj5KRMx5lQyJlxVfP+WofbonTdea4Cf8/gPMPholy KFwSo4SJ1P6hkMJymyL1bnVccEAqpbUWgUKXkVf/H1GRj8YkDKkEZb2TuIKv03ZIFB2vkB j61lZOBVkoV+NP9B2r77QlD5P4e0GpX3n4J8PL+mysrz7FL1eh49rJ/LuXMZYA== 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 4drlss2pwhzyXB for ; Wed, 14 Jan 2026 12:34:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f8d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: a56998eeef8d - stable/14 - nuageinit: fix test after recent behaviour change 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a56998eeef8d82b9d92d9205c84f3adc3c019add Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:09 +0000 Message-Id: <69678d41.3f8d2.51291367@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=a56998eeef8d82b9d92d9205c84f3adc3c019add commit a56998eeef8d82b9d92d9205c84f3adc3c019add Author: Baptiste Daroussin AuthorDate: 2026-01-08 09:52:20 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:41 +0000 nuageinit: fix test after recent behaviour change with recent change nuageinit always create a "freebsd" user, if no users are specified, which means we do need to get the rootdir in the testsuite containing a group file otherwise pw complains and the tests fails. (cherry picked from commit 65e77d34fdff9065616cfaedef3ef53329cdad26) --- libexec/nuageinit/tests/nuageinit.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 851f7110378a..3a01413f8487 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -59,6 +59,7 @@ args_body() nocloud_body() { mkdir -p media/nuageinit + setup_test_adduser atf_check -s exit:1 -e match:"nuageinit: error parsing nocloud.*" /usr/libexec/nuageinit "${PWD}"/media/nuageinit/ nocloud printf "instance-id: iid-local01\nlocal-hostname: cloudimg\n" > "${PWD}"/media/nuageinit/meta-data atf_check -s exit:0 /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud @@ -220,6 +221,7 @@ EOF config2_body() { mkdir -p media/nuageinit + setup_test_adduser atf_check -s exit:1 -e match:"nuageinit: error parsing config-2 meta_data.json:.*" /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 printf "{}" > media/nuageinit/meta_data.json atf_check /usr/libexec/nuageinit "${PWD}"/media/nuageinit config-2 @@ -335,6 +337,7 @@ EOF config2_network_body() { mkdir -p media/nuageinit + setup_test_adduser printf "{}" > media/nuageinit/meta_data.json mynetworks=$(ifconfig -l ether) if [ -z "$mynetworks" ]; then @@ -401,6 +404,7 @@ EOF config2_network_static_v4_body() { mkdir -p media/nuageinit + setup_test_adduser printf "{}" > media/nuageinit/meta_data.json mynetworks=$(ifconfig -l ether) if [ -z "$mynetworks" ]; then From nobody Wed Jan 14 12:34:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlst6yFwz6NMV8 for ; Wed, 14 Jan 2026 12:34: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 4drlst497sz3x9Z for ; Wed, 14 Jan 2026 12:34:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394050; h=from:from:reply-to:subject:subject: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=Myi7LFizqan6ZQuzkFtz/ZguK4LqdtSRjWKpLQt956A=; b=m67EEUyxhzB8yHY4PPWIdWZYaT/GSjalJ5ML/HSKxvhiNpwGg5g9lqNVzBpLoWIIDx+pqN YmHalNNSczvmusvjxTXTzIZQdju8RymODAVK9UfseqO6RDLcw2a9Y8trzws+TF84AwXm6f SmevnKKFsjyTvUdMD2cRYhOFChPF7cVn1oYTT79Xajs09DmX/IOMLARn2z3rIQeCSlNRpH hhQt+WBUpRMR9z8+WUJcdVjM3mIx/6n9Ltcky7y+cE+5azwh3VJNqf4hFAjaZ67stPl5to XYxfHDRvq9ILMpPPKBDf2xdm8LKVQ/L5JPG8iNDW9Bl9cMP3GoOXPZZUBymXow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394050; h=from:from:reply-to:subject:subject: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=Myi7LFizqan6ZQuzkFtz/ZguK4LqdtSRjWKpLQt956A=; b=sLprQ/RduT3EDJXOpkXkLQ8hO9/czvnH+/PdoBqLln0NbTuD9tSvR78gh35i/EA3rjcFUe TwK043FNvxcAw3074KrMdIPOD3eZHeJqbjLXMfhEWeCyZDR1y5DvtL2Jq6S3DhBcFWT4dr vzlh88xd1yx+TRKCfdZ7UrI4hLU2pL9s51G1biS30QWKSzoDzDcH2TobOXdozF/RZNJCgk a/ZzKSMW4fkRqnsKIbEuMZSBIG0Jh+3tLwrMk10ZruSWgLLmHSPJUG+pIOWo27jtzJJXsY nVY4jlwVPREzya9UthjVMQMu2tQfcUy/P97sESdFSxEbauSZFXdI7IwmrvmTcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394050; a=rsa-sha256; cv=none; b=bEBWTSjdwkkH8DG2HO1R5faK+jp5OCjVBvlRYTePagr/5N59njw0caZP20t+8soUECPFo+ gnp++fFgYguZobXnpPNRihOZoBmjgkMb2DtP/uoS8wgqMBuMugvoHh48YeOsh9uxb/7EY/ eTnAY7yAWMR7oH0AE2lETeVMklk4JeqWa5fZ7dFWsIvyFz/q2wpRG+pV7j8Sghg3AWPeIJ Y4nXaNjatUIxqv1G4b0RzaDftNAldu07uNeAGtf3AFEvPExZhDxxOUmoYZ0KgQ7lzKUbb9 lMDfCuKQ2UozNZV87W+pJoMUlh1Egt9PMZAvObRwnZMfBLBaqp148PpKbsXH9w== 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 4drlst3gr2zyJ4 for ; Wed, 14 Jan 2026 12:34:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fab7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: =?utf-8?Q?Gon=C3=A9ri?= Le Bouder From: Baptiste Daroussin Subject: git: 14f366b358ac - stable/14 - nuageinit: set the hostname when user-data is missing 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 14f366b358ac336f78910e53d8e753f57f999852 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:10 +0000 Message-Id: <69678d42.3fab7.cf2acaa@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=14f366b358ac336f78910e53d8e753f57f999852 commit 14f366b358ac336f78910e53d8e753f57f999852 Author: Gonéri Le Bouder AuthorDate: 2026-01-07 21:03:34 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:41 +0000 nuageinit: set the hostname when user-data is missing This address the situation reported here https://github.com/freebsd/freebsd-src/pull/1952#issuecomment-3720210259 The user-data file was missing and the `sethostname` function is never called. This commit adjusts slightly the logic to avoid the `exit()` call when the `user-data` file is missing. MFC After: 1 week Signed-off-by: Gonéri Le Bouder Differential Revision: https://github.com/freebsd/freebsd-src/pull/1953 (cherry picked from commit cae280931c9e1f072d8bf300c377ae120300b898) --- libexec/nuageinit/nuageinit | 113 ++++++++++++++++++++++++++------------------ 1 file changed, 67 insertions(+), 46 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index c36467d2110f..c8a53316f682 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -22,7 +22,7 @@ local function default_user(obj, metadata) table.insert(ssh_authorized_keys, k) end end - if type(obj.ssh_authorized_keys) == "table" then + if obj and type(obj.ssh_authorized_keys) == "table" then for _, k in ipairs(obj.ssh_authorized_keys) do table.insert(ssh_authorized_keys, k) end @@ -93,13 +93,13 @@ end local function sethostname(obj, metadata) -- always prefer fqdn if specified over hostname - if obj.fqdn then + if obj and obj.fqdn then nuage.sethostname(obj.fqdn) - elseif obj.hostname then + elseif obj and obj.hostname then nuage.sethostname(obj.hostname) - elseif metadata["local-hostname"] then + elseif metadata["local-hostname"] then nuage.sethostname(metadata["local-hostname"]) - elseif metadata["local"] then + elseif metadata["hostname"] then nuage.sethostname(metadata["hostname"]) end end @@ -129,6 +129,10 @@ end local function create_default_user(obj, metadata) local function need_default_user() + -- no user data + if not obj then + return true + end if not obj.users then -- default user if "users" is undefined return true @@ -268,7 +272,7 @@ local function nameservers(interface, obj) -- Only call resolvconf with interface if interface is provided if interface then resolvconf_command = "resolvconf -a " .. interface .. " < " .. resolv_conf - else + else resolvconf_command = "resolvconf -u" end if not os.execute(resolvconf_command) then @@ -661,7 +665,7 @@ local function parse_network_config() return netobj end -local function load_metadata() +local function load_metadata(citype) if citype == "config-2" then local parser = ucl.parser() local res, err = parser:parse_file(ni_path .. "/meta_data.json") @@ -689,46 +693,70 @@ local function load_metadata() return {} end +local function load_userdata() + local ud = nil + local f = nil + local userdatas = {"user-data", "user_data"} + for _, v in pairs(userdatas) do + f = io.open(ni_path .. "/" .. v, "r") + if f then + ud = v + break + end + end + if not f then + return nil, nil + end + local line = f:read("*l") + if not line or #string.gsub(line, "^%s*(.-)%s*$", "%1") == 0 then + f:close() + return + end + if citype ~= "postnet" then + local content = f:read("*a") + if not content or #string.gsub(content, "^%s*(.-)%s*$", "%1") == 0 then + f:close() + return + end + nuage.mkdir_p(root .. "/var/cache/nuageinit") + local tof = assert(io.open(root .. "/var/cache/nuageinit/user_data", "w")) + tof:write(line .. "\n" .. content) + tof:close() + end + f:close() + + local obj = nil + if ud then + f = io.open(ni_path .. "/" .. ud) + obj = yaml.load(f:read("*a")) + f:close() + if not obj then + nuage.err("error parsing cloud-config file: " .. ud) + end + end + return line, obj +end if citype == "config-2" then -- network config2_network(ni_path) end -local metadata = load_metadata() +local metadata = load_metadata(citype) +local line, obj = load_userdata() --- deal with user-data -local ud = nil -local f = nil -local userdatas = {"user-data", "user_data"} -for _, v in pairs(userdatas) do - f = io.open(ni_path .. "/" .. v, "r") - if f then - ud = v - break - end -end -if not f then - os.exit(0) -end -local line = f:read("*l") -if not line or #string.gsub(line, "^%s*(.-)%s*$", "%1") == 0 then - f:close() - os.exit(0) -end -if citype ~= "postnet" then - local content = f:read("*a") - if not content or #string.gsub(content, "^%s*(.-)%s*$", "%1") == 0 then - f:close() - os.exit(0) +-- No user-data +if line == nil then + local calls_table = { + sethostname, + create_default_user, + } + + for i = 1, #calls_table do + calls_table[i](obj, metadata) end - nuage.mkdir_p(root .. "/var/cache/nuageinit") - local tof = assert(io.open(root .. "/var/cache/nuageinit/user_data", "w")) - tof:write(line .. "\n" .. content) - tof:close() -end -f:close() -if line == "#cloud-config" then +-- YAML user-data +elseif line == "#cloud-config" then local pre_network_calls = { sethostname, settimezone, @@ -748,13 +776,6 @@ if line == "#cloud-config" then write_files_deferred, } - f = io.open(ni_path .. "/" .. ud) - local obj = yaml.load(f:read("*a")) - f:close() - if not obj then - nuage.err("error parsing cloud-config file: " .. ud) - end - local calls_table = pre_network_calls if citype == "postnet" then calls_table = post_network_calls From nobody Wed Jan 14 12:34:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsw19DKz6NMV9 for ; Wed, 14 Jan 2026 12:34: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 4drlsv4kb3z3xV2 for ; Wed, 14 Jan 2026 12:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o51jfp+C+sWa5JrJAhBegKgCBJVwBs14ii3UKpewnV4=; b=OI1z3AtZV0R2mPwL2rObYdUW9J1CIowZsdoqqZy1hXXE/K+BSMyGFS3H9WyEo8VMySfAGA YbF4ZoV2xecVzbzaaQ0Hh49ALNy6jQoeG7CUbfnzYR1qzqtDn/P9GhVJDzQGo4/8HraXMz u0pdywHXB+RI7Cx7UQ/IaLR31vQFP+e27tmBVravU/aNIdtG02sqo5Me6xxWJ4UubT1Ut1 CI9thIjEOVrFlJM0fKa/vvd8PFf0xvy1WGWA90AXdqJyH2fa0/kHnhOMibY4JWhb1CpyaL qJPvz/CznHo3pfOFmBfCzSzIcdZnj4mietj6MLYGpked7z7FIy5NOKh8QTHSrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o51jfp+C+sWa5JrJAhBegKgCBJVwBs14ii3UKpewnV4=; b=mCvsO8g/4s7S0kn76XK8FORISzumjR9OlMuBYUzR0u1SLQPdbE/0gofrObc0WewHyTTi2g u5ewfTAUJkIkJWxPOFDbPShmfTkKKdy88D1Bmw/sLmzfLrVsOFoHkvSBHtM5y49mIIE1ey q6IhqAYdd+SAqtaAVvhcrc+7YprynzIJwl7ofC6wbLoJHMdJIORfv/hDlvVX4OLmbV2Jgg mQAMBZKDEAfsIsUH3x3LMXw4V2VpGOMM/+8UFrkm8FVI4SF0NjD3n1mvEbvmkpv2Sm3Axf 4drPMMli2MoMWNweSXA4nLm6M2LcU+uRP+OgdIG/0c0RrJ6ZTNT7jORktsc4PQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394051; a=rsa-sha256; cv=none; b=OvDVcgLAkHXSLqBBjnsVWoWpqT7yw7y65RBSAnSosY9bVZ0RTi7E+4CqC5K256zG1JIyR0 BoeJzi8O6E2QjxxzsTxpIltFPbgIBktb2VmTohH4MTDCSXropKSPQq94cJgsQ6q5KOEUAl oobwXA8ko2V+x0FevC74dbT6DGadG8yHyGVOL4zvowTkwg/InUWwPYqvzLcTEabkIIh+LP NdbgjBdqppP0cSdJMOavsyvekMfeqAYwPmjh9tcwx+Dm44iHIYLYuIEIke/1WnZKI48t5s Q5Pu4ybkLZvuCERNytpwOlEYU9s4QjTJOcMiUVNxi+SCNd6m76CzQRY42bt+pg== 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 4drlsv4Hpwzych for ; Wed, 14 Jan 2026 12:34:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f30c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: d3759996530a - stable/14 - release: make sh the default shell 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d3759996530a17d0ae17eb52703909b859ad1209 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:11 +0000 Message-Id: <69678d43.3f30c.1946a826@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=d3759996530a17d0ae17eb52703909b859ad1209 commit d3759996530a17d0ae17eb52703909b859ad1209 Author: Baptiste Daroussin AuthorDate: 2026-01-08 15:28:34 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:41 +0000 release: make sh the default shell The default shell for root has been changed to sh(1) followup changing in release images sh(1) the shell for the "freebsd" user. MFC After: 1 week Reviewed by: manu, emaste (re) Approved by: manu, emaste (re) Differential Revision: https://reviews.freebsd.org/D54602 (cherry picked from commit d64db8892f8519f108d838f8d7e1d3b675ed37cd) --- release/tools/arm.subr | 2 +- release/tools/vagrant.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/release/tools/arm.subr b/release/tools/arm.subr index 9adbe01700a9..dfa989f3cc4a 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -95,7 +95,7 @@ arm_create_user() { chroot ${CHROOTDIR} /usr/sbin/pw -R ${DESTDIR} \ useradd freebsd \ -m -M 0755 -w yes -n freebsd -u 1001 -g 1001 -G 0 \ - -c 'FreeBSD User' -d '/home/freebsd' -s '/bin/csh' + -c 'FreeBSD User' -d '/home/freebsd' -s '/bin/sh' chroot ${CHROOTDIR} /usr/sbin/pw -R ${DESTDIR} \ usermod root -w yes diff --git a/release/tools/vagrant.conf b/release/tools/vagrant.conf index b57c7e0e0f9f..321cddc9704f 100644 --- a/release/tools/vagrant.conf +++ b/release/tools/vagrant.conf @@ -38,7 +38,7 @@ vagrant_common () { /usr/sbin/pw -R ${DESTDIR} \ useradd vagrant \ -m -M 0755 -w yes -n vagrant -u 1001 -g 1001 -G 0 \ - -c 'Vagrant User' -d '/home/vagrant' -s '/bin/csh' + -c 'Vagrant User' -d '/home/vagrant' -s '/bin/sh' # Change root's password to vagrant echo 'vagrant' | /usr/sbin/pw -R ${DESTDIR} \ From nobody Wed Jan 14 12:34:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsx2LbJz6NMVD for ; Wed, 14 Jan 2026 12:34: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 4drlsw5G0Kz3xPJ for ; Wed, 14 Jan 2026 12:34:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3JIuu36edKmP3Y3k49HQlrMb5rtq8dsx37qb1HHyjSQ=; b=vAda32gpOtmj81yG7DNUOMpMTKOWLZC6V2sSkvx8bo6kzqv77PoE9O90TuYNgkPekagHk5 /qhQ7q5xNgtqTq02KnsESzuSPfj95AddGU8sjT+BUijhVXmS6qg9HCyzLzeCmvW03PDCo4 PIIPikT+F7Bah6XkqQZp0PQG5y0zZ1pFqUIgdHYcnI5VY7XZSiK5H5N8AMr7F/bC7ytuP5 PojZ9hxMVqW5lT26WPuVigXKGNkUpBCRdKk6hT/K2YKIsIsjkTC5/GHfc42xFsbmdijrC0 pAvRsORdftQ3C7aWU7k6S0eU5ex15BSMRDe0IYR6FYxhqpH96ndEkOiMCdjKYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3JIuu36edKmP3Y3k49HQlrMb5rtq8dsx37qb1HHyjSQ=; b=YkWU2D0kRqyx3uHgCU1e8BorUeiSoYp1xROWnTyJhGWzUoFy3iDt6EfuG1XT5yKdSkQyAk tmj1tpVL9wYPnwDVm0mUpBbH/b08zFUCmAsDz5t53M+K4ZgRX3wd+MBNkmH9KQ47pBOS2s xODrHs8efTYpU+WWqE7059Ms77WyxA61Rfv8qi041wazW27mB6IKng3JNXbPdM2HOxDvkE XSFolIpT9kTc5UYv6K11SgMx2/ZbVyCZJmZGPBRzfNQD9xO4Krou2NDxbt2qk4gRTigq7X Ltav+M9JFg1GiAbS+Id/3fQwzMa3MVPcQtTVGB4Hv8ZYVxZaXJ3NU4xiifwhRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394052; a=rsa-sha256; cv=none; b=fJjM+Q4lAu/u9uHOhy96MIJ69WfigiXGkGZ3aJvbT9e7vskyR1sfQX8VCz31Qu3NT4bUG8 kVrnTkMHJta/q8GR5NQEuCAjcaszioWNybl6/v52BAzIqw2V60sU9/Zlg4vk+j/tqJ/eJ5 jc/2Qizfg9na1i/lrjatH2PCpTnoY64SFzfrG4C1tNtDBgDbVW6x5sfe5FVjAFi/T+WQGx 545D02K5m+Dv7ySF92tS2pBQghMcg+oRTh4zJH0uDVzE2bHD7aVH8MLscUUMatsxnE4++X cbO73UX8jq6OuOLUOEtSgOUIuE49aPnbhzqvQrzMdPIXSVjSOuI0IBCDB2bM6Q== 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 4drlsw4nWqzycj for ; Wed, 14 Jan 2026 12:34:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c66e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: d565a5e904ed - stable/14 - usb_vendors: update to 2025-09-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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d565a5e904ed15cffb480088b908063c9cfc8847 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:12 +0000 Message-Id: <69678d44.3c66e.5679e24e@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=d565a5e904ed15cffb480088b908063c9cfc8847 commit d565a5e904ed15cffb480088b908063c9cfc8847 Author: Baptiste Daroussin AuthorDate: 2025-10-28 08:31:02 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:47 +0000 usb_vendors: update to 2025-09-15 (cherry picked from commit 90cd623611b22e2e484b800743845b38d9c20250) --- share/misc/usb_vendors | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/misc/usb_vendors b/share/misc/usb_vendors index 1878f503b676..fa798e65ed9a 100644 --- a/share/misc/usb_vendors +++ b/share/misc/usb_vendors @@ -9,8 +9,8 @@ # The latest version can be obtained from # http://www.linux-usb.org/usb.ids # -# Version: 2025.07.26 -# Date: 2025-07-26 20:34:01 +# Version: 2025.09.15 +# Date: 2025-09-15 20:34:02 # # Vendors, devices and interfaces. Please keep sorted. @@ -13488,7 +13488,9 @@ 0b0d ProjectLab 0000 CenturyCD 0b0e GN Netcom + 0301 Jabra EVOLVE 20 0305 Jabra EVOLVE Link MS + 030c Jabra EVOLVE 65 0311 Jabra EVOLVE 65 0312 enc060:Buttons Volume up/down/mute + phone [Jabra] 0343 Jabra UC VOICE 150a @@ -13507,6 +13509,11 @@ 2007 GN 2000 Stereo Corded Headset 2456 Jabra SPEAK 810 245e Jabra Link 370 + 248a Jabra Elite 85h + 24b8 Jabra Evolve2 65 + 24bb Jabra Evolve2 85 + 24c9 Jabra Link 380 + 24ca Jabra Link 380 620c Jabra BT620s 9330 Jabra GN9330 Headset a346 Jabra Engage 75 Stereo From nobody Wed Jan 14 12:34:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsz4lrwz6NM4Z for ; Wed, 14 Jan 2026 12:34:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlsy73lkz3xVb for ; Wed, 14 Jan 2026 12:34:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WywDZPqlz5o5lbzBn/bSR7jweDsOvvUCDNOb+HXVHVc=; b=ujDxoc9l6CNJjwg7m8Rv1Fk7/q3GJGVcEIHgY7e1de7oLrM50ZbWcCHqISTkyy09LwN+sA 47Hy4H4ME1rHsP2FU4th/TZU3p3HH6Nfl4StcnkVLHqy2+GYdCBrSOtm+F1iCxAkL7BUHq XqtQxzuQ28dxWJ7yGC7NAuVl/c2gBzqG/n/jPh08zAGb1QTWIOTkr6LWwQKzOd6o5YUvZz jYIcKKyVFd6dk75YW6TUFD6VKiU6t3BZtREWJbqE3RmjEIrpFBW2A4qs5zxavT/nzphBA9 CpC8TW/rqRXWpHfAtDnVZXCSSLEJdfVbkrj9Ojrd2annWDsjXs7Du92G16h/cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WywDZPqlz5o5lbzBn/bSR7jweDsOvvUCDNOb+HXVHVc=; b=TaOzuf7KYehN3PuA/Sg3aXK10roLOsaFqjsFOVtwiLjwL//LbF+qDTdsOd5QBrYqtmG4Gh QryWsKhcg+xboByc75tddag/6vh8k+CxWbWz4ZrfbPeccCNTCZeOo/JVMsJ9WOu1aVcGjH 87tEj/iU0GXVW8G0Q1lZDbm+LwgpOfoW3Zpof/8BuaOeH530vjBkINgnhkhKRs4VpRfyUm HrL92XN+M10UqSLXo/OLTA690WIHAw9xwQCib67p6qThg3vMFfjXQb6b7CQsHBQLwQYQiz vKmBo2cMJqErR3W28Mm1DiGx5N2nE9OkGh1B3pubGzCNeptettoiQ8ALAl1htQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394055; a=rsa-sha256; cv=none; b=ftoT1hUTUkhIja/LhUmmjH7YVuVG/CjPuQM9GrSPTV7VA+Hdtj20PLCWjB/X1J5dYzXr0N HhTfrF23TKhmgnlkeJTxH99KQ9mdzd5G7LegIjMAmbe+V/w+9sY69Rym0tcuxh9q8JAfp/ A52WOEUTmHCBHZDS4Ab5FJUQctlx1fyq5C+UvgYnnJv0uOUjiO1DujCdpevouaHp6IJ+yp 6FovqENsNwMxtaWGUkIwBXt7jI/ffZHBvE35e/0XlBiXsrlJcDy7CRqRZ0SZS7KWiX/Gxj kO3uedJY4c5rOeo6UTzu4rGfcF+r3M9FBCQFZrBtSpG9Mw7JXmdySBnHXsOH7g== 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 4drlsy6cGzzyJ5 for ; Wed, 14 Jan 2026 12:34:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fffb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: f21385688f52 - stable/14 - pci_vendors: update to version 2025-12-12 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f21385688f528adcee8f8293e0117cf4b066f393 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:14 +0000 Message-Id: <69678d46.3fffb.3fe82bae@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=f21385688f528adcee8f8293e0117cf4b066f393 commit f21385688f528adcee8f8293e0117cf4b066f393 Author: Baptiste Daroussin AuthorDate: 2025-12-12 14:24:32 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:47 +0000 pci_vendors: update to version 2025-12-12 (cherry picked from commit 3b8e13c4696e9b3dab284842902b9f7b18073c8d) --- share/misc/pci_vendors | 1312 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 1079 insertions(+), 233 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 1b13509f002d..bcb3d2f9e030 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2025.10.18 -# Date: 2025-10-18 03:15:01 +# Version: 2025.12.12 +# Date: 2025-12-12 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -30,49 +30,65 @@ # This is a relabelled RTL-8139 8139 AT-2500TX V3 Ethernet 0014 Loongson Technology LLC - 7a00 Hyper Transport Bridge Controller - 7a02 APB (Advanced Peripheral Bus) Controller - 7a03 Gigabit Ethernet Controller - 7a04 OTG USB Controller - 7a05 Vivante GPU (Graphics Processing Unit) - 7a06 DC (Display Controller) - 7a07 HDA (High Definition Audio) Controller - 7a08 SATA AHCI Controller - 7a09 PCI-to-PCI Bridge - 7a0b SPI Controller - 7a0c LPC Controller - 7a0f DMA (Direct Memory Access) Controller -# Found on some boards with two sockets - 7a10 Hyper Transport Bridge Controller - 7a13 7A2000 PCH Gigabit Ethernet Controller - 7a14 EHCI USB Controller - 7a15 Vivante GPU (Graphics Processing Unit) - 7a18 SATA 3 AHCI Controller + 7a00 7A1000 Chipset Hyper Transport Bridge Controller + 7a02 2K1000 / 7A1000 Chipset Advanced Peripheral Bus Controller + 7a03 2K1000/2000 / 7A1000 Chipset Gigabit Ethernet Controller + 7a04 2K1000 / 7A1000 Chipset OTG USB Controller + 7a05 2K1000 Vivante GC1000 GPU + 7a06 2K1000 / 7A1000 Chipset Display Controller + 7a07 2K1000/2000 / 7A1000/2000 Chipset HD Audio Controller + 7a08 2K1000 / 7A1000 Chipset 3Gb/s SATA AHCI Controller + 7a09 2K1000 / 7A1000 Chipset PCIe x1 Bridge + 7a0b 7A1000 Chipset SPI Controller + 7a0c 2K2000 / 7A1000/2000 Chipset LPC Controller + 7a0e 2K2000 AES Controller + 7a0f 2K1000 / 7A1000 Chipset DMA Controller + 7a10 7A2000 Chipset Hyper Transport Bridge Controller + 7a13 2K2000 / 7A2000 Chipset Gigabit Ethernet Controller + 7a14 2K1000 / 7A1000/2000 Chipset USB EHCI Controller + 7a15 7A1000 Chipset Vivante GC1000 GPU + 7a16 2K1000/2000 VPU Decoder + 7a17 7A1000 Chipset AC97 Audio Controller + 7a18 2K2000 / 7A2000 Chipset 6Gb/s SATA AHCI Controller 7a19 PCI-to-PCI Bridge - 7a1b SPI Controller - 7a24 OHCI USB Controller -# Found on 7A2000 PCH - 7a25 LG100 GPU - 7a27 7A2000 PCH I2S Controller - 7a29 PCI-to-PCI Bridge - 7a34 xHCI USB Controller -# Found on 7A2000 PCH - 7a36 Display Controller - 7a39 PCIe x1 Root Port - 7a49 PCIe x4 Root Port - 7a59 PCIe x8 Root Port - 7a69 PCIe x16 Root Port + 7a1a 2K2000 Configuration Bus + 7a1b 2K2000 / 7A2000 Chipset SPI Controller + 7a1d 2K2000 RapidIO Interface + 7a1e 2K2000 DES Controller + 7a22 2K2000 Advanced Peripheral Bus Controller + 7a24 2K1000 / 7A1000/2000 Chipset USB OHCI Controller + 7a25 2K2000 / 7A2000 Chipset LG100 GPU + 7a26 2K1000 Camera Controller + 7a27 2K2000 / 7A2000 Chipset I2S Controller + 7a29 7A1000 Chipset PCIe x8 Bridge + 7a2e 2K2000 RSA Controller + 7a2f 2K2000 DMA Controller + 7a34 2K2000 / 7A2000 Chipset USB 3.0 xHCI Controller + 7a36 2K2000 / 7A2000 Chipset Display Controller + 7a37 2K2000 HDMI Audio Controller + 7a39 2K2000 / 7A2000 Chipset PCIe x1 Root Port + 7a3e 2K2000 RNG Controller + 7a44 2K2000 USB 2.0 xHCI Controller + 7a48 2K2000 SDIO Controller + 7a49 2K2000 / 7A2000 Chipset PCIe x4 Root Port + 7a54 2K2000 OTG USB Controller + 7a59 7A2000 Chipset PCIe x8 Root Port + 7a69 7A2000 Chipset PCIe x16 Root Port + 7a79 2K2000 PCIe Root Complex + 7a88 2K2000 eMMC Controller + 7a8e 2K2000 SE Controller + 7af9 2K2000 PCIe Endpoint 0018 Fn-Link Technology Limited 6252 6252CPUB 802.11ax PCIe Wireless Network Adapter 001c PEAK-System Technik GmbH 0001 PCAN-PCI CAN-Bus controller 001c 0004 2 Channel CAN Bus SJC1000 001c 0005 2 Channel CAN Bus SJC1000 (Optically Isolated) +0029 MICROCHIP 003d Lockheed Martin-Marietta Corp # Real TJN ID is e159, but they got it wrong several times --mj 0059 Tiger Jet Network Inc. (Wrong ID) 0070 Hauppauge computer works Inc. - 7801 WinTV HVR-1800 MCE 0071 Nebula Electronics Ltd. 0095 Silicon Image, Inc. (Wrong ID) 0680 Ultra ATA/133 IDE RAID CONTROLLER CARD @@ -80,6 +96,7 @@ 00a7 Teles AG (Wrong ID) 0100 nCipher Security 0123 General Dynamics +0127 MIPS 0128 Dell (wrong ID) # 018a is not LevelOne but there is a board misprogrammed 018a LevelOne @@ -137,11 +154,14 @@ 0303 Hewlett-Packard Company (Wrong ID) 0308 ZyXEL Communications Corporation (Wrong ID) 0315 SK-Electronics Co., Ltd. +031e ANDES 0357 TTTech Computertechnik AG (Wrong ID) 000a TTP-Monitoring Card V2.0 0432 SCM Microsystems, Inc. 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] +0489 SIFIVE 0497 Dell Inc. (wrong ID) +05b7 THEAD 060e Lightelligence 0001 Hummingbird ES 0675 Dynalink @@ -184,6 +204,7 @@ 0731 920a JH920 0731 920b JH920-I 0731 920c JH920-M + 0731 920d JH920-II 920b JH920-I 920c JH920-M 9210 JM9210 @@ -200,6 +221,7 @@ 0731 930a JH930-I 0731 930b JH930-M 0731 930c JH930 + 0731 930d JH930-II 930b JH930-M f011 JM1100-IV f111 JM1100-MV @@ -245,8 +267,6 @@ 0e11 409b Smart Array 642 0e11 409c Smart Array 6400 0e11 409d Smart Array 6400 EM - 0049 NC7132 Gigabit Upgrade Module - 004a NC6136 Gigabit Server Adapter 005a Remote Insight II board - Lights-Out 007c NC7770 1000BaseTX 007d NC6770 1000BaseTX @@ -254,9 +274,7 @@ 00b1 Remote Insight II board - PCI device 00bb NC7760 00ca NC7771 - 00cb NC7781 00cf NC7772 - 00d0 NC7782 00d1 NC7783 00e3 NC7761 0508 Netelligent 4/16 Token Ring @@ -268,18 +286,10 @@ 4000 4000 [Triflex] 4040 Integrated Array 4048 Compaq Raid LC2 - 4050 Smart Array 4200 - 4051 Smart Array 4250ES - 4058 Smart Array 431 4070 Smart Array 5300 4080 Smart Array 5i 4082 Smart Array 532 4083 Smart Array 5312 - 4091 Smart Array 6i - 409a Smart Array 641 - 409b Smart Array 642 - 409c Smart Array 6400 - 409d Smart Array 6400 EM 6010 HotPlug PCI Bridge 6010 7020 USB Controller a0ec Fibre Channel Host Controller @@ -312,31 +322,13 @@ ae6d NorthStar CPU to PCI Bridge b011 Netelligent 10/100 TX Embedded UTP b012 Netelligent 10 T/2 PCI UTP/Coax - b01e NC3120 Fast Ethernet NIC - b01f NC3122 Fast Ethernet NIC - b02f NC1120 Ethernet NIC b030 Netelligent 10/100 TX UTP - b04a 10/100 TX PCI Intel WOL UTP Controller b060 Smart Array 5300 Controller - b0c6 NC3161 Fast Ethernet NIC - b0c7 NC3160 Fast Ethernet NIC - b0d7 NC3121 Fast Ethernet NIC - b0dd NC3131 Fast Ethernet NIC - b0de NC3132 Fast Ethernet Module - b0df NC6132 Gigabit Module - b0e0 NC6133 Gigabit Module b0e1 NC3133 Fast Ethernet Module - b123 NC6134 Gigabit NIC - b134 NC3163 Fast Ethernet NIC - b13c NC3162 Fast Ethernet NIC - b144 NC3123 Fast Ethernet NIC - b163 NC3134 Fast Ethernet NIC - b164 NC3165 Fast Ethernet Upgrade Module b178 Smart Array 5i/532 0e11 4080 Smart Array 5i 0e11 4082 Smart Array 532 0e11 4083 Smart Array 5312 - b1a4 NC7131 Gigabit Server Adapter b200 Memory Hot-Plug Controller b203 Integrated Lights Out Controller 103c 3305 iLO2 @@ -540,7 +532,7 @@ 1028 1f35 PERC H710 Adapter 1028 1f37 PERC H710 Mini (for blades) 1028 1f38 PERC H710 Mini (for monolithics) - 15d9 0690 LSI MegaRAID ROMB + 15d9 0690 AOC-S2208L-H8iR 8086 3510 RMS25PB080 RAID Controller 8086 3511 RMS25PB040 RAID Controller 8086 3512 RMT3PB080 RAID Controller @@ -642,6 +634,7 @@ 1000 3040 9210-8i 1000 3080 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] 1000 30b0 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] + 1000 30e0 9202-16e 1014 03ca IBM 6Gb SAS HBA [9212-4i4e] 1028 1f1c 6Gbps SAS HBA Adapter 1028 1f1d PERC H200 Adapter @@ -760,6 +753,7 @@ 1000 3040 9207-8e SAS2.1 HBA 1000 3050 SAS9217-8i 1000 3060 SAS9217-4i4e + 1000 3070 SAS9206-16e 1014 0472 N2125 External Host Bus Adapter 1014 047a N2115 Internal Host Bus Adapter 1590 0041 H220i @@ -843,6 +837,7 @@ 15d9 1d03 AOC-S4116L-H16IR (16DD/96DD) RAID Adapter 15d9 1d07 AOC-S4016L-L16IT Storage Adapter 15d9 1d08 AOC-S4016L-L16IR Storage Adapter + 17aa 7855 ThinkSystem RAID 950W-16i 8GB Flash PCIe Gen4 24Gb Adapter 1d49 020a ThinkSystem 450W-16e SAS/SATA PCIe Gen4 24Gb HBA 00ab SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC) # 8 Internal and 8 External port channel 9400 HBA @@ -868,6 +863,7 @@ 1d49 0202 ThinkSystem 430-8e SAS/SATA 12Gb HBA 1d49 0204 ThinkSystem 430-8i SAS/SATA 12Gb Dense HBA 00b2 PCIe Switch management endpoint + 15d9 1d24 AOM-PCIE5-418P 1d49 0003 ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter # 24G SAS/PCIe storage adapter chip 00b3 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx @@ -888,7 +884,9 @@ 1028 23cb PERC H975i Front 1028 23cd PERC H975i Adapter 1028 2446 PERC H976i Front + 17aa 784c ThinkSystem RAID 960W PCIe Gen5 Adapter 1d49 020b ThinkSystem 460-16e SAS/SATA PCIe Gen5 24Gb HBA + 00b4 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx 00b5 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx # 9760W 32 internal port RAID controller 1000 5000 MegaRAID 9760W-32i 24G SAS/PCIe Storage Adapter @@ -906,6 +904,14 @@ 1028 22d3 PERC H975i Adapter - Virtual 1028 23cb PERC H975i Front - Virtual 1028 23cd PERC H975i Adapter - Virtual + 17aa 784c ThinkSystem RAID 960W PCIe Gen5 Adapter + 00b6 Fusion-MPT 24G SAS/PCIe SAS50xx/SAS51xx + 1000 5000 MegaRAID 9760W-32i 24G SAS/PCIe Storage Adapter + 1000 5001 MegaRAID 9760W-16i 24G SAS/PCIe Storage Adapter + 1000 5010 MegaRAID 9760W-16i16e 24G SAS/PCIe Storage Adapter + 1000 5020 eHBA 9700W-32i 24G SAS/PCIe Storage Adapter + 1000 5021 eHBA 9700W-16i 24G SAS/PCIe Storage Adapter + 1000 5030 eHBA 9700-16e 24G SAS/PCIe Storage Adapter 1028 2446 PERC H976i Front - Virtual # Broadcom next-gen MPT PCIe switch 00b8 Fusion-MPT Switch SAS50xx/SAS51xx @@ -920,6 +926,7 @@ 1000 3190 SAS9305-16i # SAS 9305 24 internal port HBA 1000 31a0 SAS9305-24i + 1000 31b0 SAS9306-24i 1170 0002 SAS3224 PCI Express to 12Gb HBA MEZZ CARD 00c5 SAS3316 PCI-Express Fusion-MPT SAS-3 00c6 SAS3316 PCI-Express Fusion-MPT SAS-3 @@ -1157,11 +1164,15 @@ 1d49 0505 ThinkSystem RAID 540-8i PCIe Gen4 12Gb Adapter 1d49 0506 ThinkSystem RAID 540-16i PCIe Gen4 12Gb Adapter 1d49 0507 ThinkSystem RAID 545-8i PCIe Gen4 12Gb Adapter + 1d49 0508 ThinkSystem RAID 545-8i PCIe Gen4 12Gb Internal Adapter 1d49 0700 ThinkSystem M.2 RAID B540i-2i SATA/NVMe Enablement Kit 1d49 0701 ThinkSystem 7mm RAID B540p-2HS SATA/NVMe Enablement Kit 1d49 0702 ThinkSystem M.2 RAID B540p-2HS SATA/NVMe Enablement Kit 1d49 0703 ThinkSystem M.2 RAID B540d-2HS SATA/NVMe Enablement Kit 1d49 0704 ThinkSystem M.2 RAID B545i-2i SATA/NVMe Enablement Kit + 1d49 0705 ThinkSystem M.2 RAID B550p-2HS SATA/NVMe Enablement Kit + 1d49 0706 ThinkSystem M.2 RAID B550d-2HS SATA/NVMe Enablement Kit + 1d49 0707 ThinkSystem M.2 RAID B550i-2i SATA/NVMe Enablement Kit 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller @@ -1220,6 +1231,7 @@ 1000 100b PEX89000 PCIe Gen 5 Virtual Upstream/Downstream Port 1000 2004 PEX89000 Virtual PCIe TWC/NT 2.0 Endpoint 1000 2005 PEX89000 Virtual PCIe gDMA Endpoint + 15d9 1d24 AOM-PCIE5-418P # Lower lane count PEX89000 switch c034 PEX890xx PCIe Gen 5 Switch # Lower lane count PEX89000 switch @@ -1282,7 +1294,8 @@ 145a Dummy Function (absent graphics controller) 1478 Navi 10 XL Upstream Port of PCI Express Switch 1479 Navi 10 XL Downstream Port of PCI Express Switch - 1506 Mendocino + 1506 Mendocino [Radeon 610M] + 17aa 380e IdeaPad 1 15AMN7 150e Strix [Radeon 880M / 890M] 154c Kryptos [Radeon RX 350] 1462 7c28 MS-7C28 Motherboard @@ -1291,6 +1304,7 @@ 1552 Pooky 1561 Anubis 1586 Strix Halo [Radeon Graphics / Radeon 8050S Graphics / Radeon 8060S Graphics] + 15b3 Stoney HDMI/DP Audio Controller 15bf Phoenix1 15c8 Phoenix2 15d8 Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] @@ -1322,7 +1336,7 @@ 1043 16c2 Radeon Vega 8 # Used in the Steam Deck LCD 163f VanGogh [AMD Custom GPU 0405] - 1640 Radeon High Definition Audio Controller [Rembrandt/Strix] + 1640 Radeon High Definition Audio Controller 164c Lucienne 164d Rembrandt 164e Raphael @@ -3849,6 +3863,7 @@ 6995 Lexa XT [Radeon PRO WX 2100] 699f Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] 1028 1720 Radeon RX 550X + 1458 22f3 Radeon RX 550 2GB 148c 2380 Lexa XL [Radeon RX 550] 17aa 5069 Thinkpad E480/E580 1da2 e367 Lexa PRO [Radeon RX 550] @@ -4056,6 +4071,7 @@ 73c4 Navi 22 USB 73ce Navi 22-XL SRIOV MxGPU 73df Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] + 1002 0e36 Radeon RX 6700 XT 12G 1043 16c2 Radeon RX 6800M 1458 2408 Radeon RX 6750 XT GAMING OC 12G 1462 3980 Radeon RX 6700 XT Mech 2X 12G [MSI] @@ -4098,6 +4114,7 @@ 7446 Navi 31 USB 7448 Navi 31 [Radeon Pro W7900] 744a Navi 31 [Radeon Pro W7900 Dual Slot] + 744b Navi 31 [Radeon Pro W7900D] 744c Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] 1002 0e3b RX 7900 XTX / RX 7900 GRE [XFX] 1043 0506 TUF Gaming Radeon RX 7900 XTX OC @@ -4136,6 +4153,9 @@ 1da2 e490 Navi 48 XTX [Sapphire Pulse Radeon RX 9070 XT] 7551 Navi 48 [Radeon AI PRO R9700] 7590 Navi 44 [Radeon RX 9060 XT] + 1eae 8601 RX-96TS316W7 [SWIFT RX 9060 XT OC White Triple Fan Gaming Edition 16GB] + 75a0 Aqua Vanjaram [Instinct MI350X] + 75a3 Aqua Vanjaram [Instinct MI355X] 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4894,6 +4914,7 @@ 0144 Yotta Video Compositor Output 1014 0145 Yotta Output Controller (ytout) 0156 405GP PLB to PCI Bridge + 1fc3 0004 IC695ETM001 RX3i Ethernet PCI Module 015e 622Mbps ATM PCI Adapter 0160 64bit/66MHz PCI ATM 155 MMF 016e GXT4000P Graphics Adapter @@ -5472,7 +5493,7 @@ 15e2 Audio Coprocessor 17aa 5124 ThinkPad E595 ea50 ce19 mCOM10-L1900 - 15e3 Family 17h/19h/1ah HD Audio Controller + 15e3 Ryzen HD Audio Controller 103c 8615 Pavilion Laptop 15-cw1xxx 103c 8b17 ProBook 445 G9/455 G9 1043 86c7 PRIME B450M-A Motherboard @@ -6237,6 +6258,7 @@ 0534 G200eR2 1028 04f7 PowerEdge R320 server 0536 Integrated Matrox G200eW3 Graphics Controller + 1028 0a6b PowerEdge R760 0538 MGA G200eH3 1590 00e4 iLO5 VGA 0540 M91XX @@ -6418,6 +6440,7 @@ 01b4 Celleb platform IDE interface 01b5 SCC USB 2.0 EHCI controller 01b6 SCC USB 1.1 OHCI controller + 01ba SpursEngine SE1000 accelerator 1030 TMC Research 1031 Miro Computer Products AG 5601 DC20 ASIC @@ -6447,6 +6470,7 @@ 1033 0035 USB Controller 103c 1293 USB add-in card 103c 1294 USB 2.0 add-in card + 1154 0207 Buffalo IFC-USB2P4 1179 0001 USB 1186 0035 DUB-C2 USB 2.0 2-port 32-bit cardbus controller 12ee 7000 Root Hub @@ -6481,6 +6505,7 @@ 00ce uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller 00df Vr4131 00e0 uPD72010x USB 2.0 Controller + 1154 0208 Buffalo IFC-USB2P4 1186 f100 DUB-C2 USB 2.0 2-port 32-bit cardbus controller 12ee 7001 Root hub 14c2 0205 PTI-205N USB 2.0 Host Controller @@ -6493,6 +6518,7 @@ 010c VR7701 0125 uPD720400 PCI Express - PCI/PCI-X Bridge 013a Dual Tuner/MPEG Encoder + 0165 uPD61253F1 MPEG Video Broadcast Decoder 0194 uPD720200 USB 3.0 Host Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 @@ -7268,6 +7294,7 @@ ac8f PCI7420/7620 SD/MS-Pro Controller 1028 018d Inspiron 700m/710m b001 TMS320C6424 + b012 TDA4VH PCIE Root Complex fe00 FireWire Host Controller fe03 12C01A FireWire Host Controller 104d Sony Corporation @@ -7439,8 +7466,7 @@ 4802 Falcon 4803 Hawk 4806 CPX8216 -# MPC7410 PowerPC microprocessor and PCI host bridge - 480b MPC7410 + 480b Harrier PCI Host Bridge 4d68 20268 5600 SM56 PCI Modem 1057 0300 SM56 PCI Speakerphone Modem @@ -7839,6 +7865,11 @@ 1077 e4f7 FastLinQ QL45212H 25GbE Adapter (SR-IOV VF) 1077 e4f8 FastLinQ QL45611H 100GbE Adapter (SR-IOV VF) 1590 0245 10/20/25GbE 2P 4820c CNA SRIOV + 16a1 BCM57840 NetXtreme II 10 Gigabit Ethernet + 1590 00ec FlexFabric 10Gb 4-port 536FLR-T Adapter + 16ab NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function + 16ad NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function + 1590 00ec FlexFabric 10Gb 4-port 536FLR-T Adapter 2020 ISP2020A Fast!SCSI Basic Adapter 2031 ISP8324-based 16Gb Fibre Channel to PCI Express Adapter 103c 17e7 SN1000Q 16Gb Single Port Fibre Channel Adapter @@ -9637,6 +9668,8 @@ 1885 0701 Tsunami FPGA PMC with Altera Stratix S30 9712 PEX9712 12-Lane, 5-Port PCIe Gen 3 (8.0 GT/s) ExpressFabric Switch 9733 PEX 9733 33-lane, 9-port PCI Express Gen 3 (8.0 GT/s) Switch + 1028 1fc7 UCEA-200 0235NK NVMe PCIe Extender Adapter with Full-Height Bracket + 1028 1fc8 UCEA-200 0CDC7W NVMe PCIe Extender Adapter with Half-Height Bracket 1d49 0001 ThinkSystem 1610-4P NVMe Switch Adapter 1d49 0002 ThinkSystem 810-4P NVMe Switch Adapter 9749 PEX 9749 49-lane, 13-port PCI Express Gen 3 (8.0 GT/s) Switch @@ -12891,11 +12924,13 @@ 15fb GP100GL [GP100 SKU 200] 15fc GP100GL [Tesla P100-DGXS-16GB] 15ff GP100GL [GP100 SKU 15ff] + 1613 GM204GL [GRID M60 Service Provider] 1617 GM204M [GeForce GTX 980M] 1618 GM204M [GeForce GTX 970M] 1619 GM204M [GeForce GTX 965M] 161a GM204M [GeForce GTX 980 Mobile] 1667 GM204M [GeForce GTX 965M] + 1676 GM204GLM [Quadro M2200 Mobile] 1725 GP100 172e GP100 172f GP100 @@ -13211,6 +13246,7 @@ 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] + 2186 TU116 [PG160 SKU18] 2187 TU116 [GeForce GTX 1650 SUPER] 2188 TU116 [GeForce GTX 1650] 2189 TU116 [CMP 30HX] @@ -13225,7 +13261,8 @@ 2200 GA102 2203 GA102 [GeForce RTX 3090 Ti] 2204 GA102 [GeForce RTX 3090] - 147d 10de NVIDIA Geforce RTX 3090 Founders Edition + 10de 147d GeForce RTX 3090 Founders Edition + 3842 3973 GeForce RTX 3090 XC3 2205 GA102 [GeForce RTX 3080 Ti 20GB] 2206 GA102 [GeForce RTX 3080] 10de 1467 GA102 [GeForce RTX 3080] @@ -13256,12 +13293,21 @@ 229e Orin PCIe x1 Root Complex 22a3 GH100 [H100 NVSwitch] 22ba AD102 High Definition Audio Controller + 22bb AD103 High Definition Audio Controller 22bc AD104 High Definition Audio Controller 22bd AD106M High Definition Audio Controller 22be AD107 High Definition Audio Controller + 22ce GB10 GEN5 X4 PCIe host + 22d0 GB10 GEN4 X1 PCIe host + 22d1 GB20B PCI bridge 22d8 THOR Processor PCI Express Root Port 22e6 THOR Processor PCI Express x16 Controller + 22e8 GB202 High Definition Audio Controller + 22e9 GB203 High Definition Audio Controller + 22eb GB206 High Definition Audio Controller + 22ec GB207 High Definition Audio Controller 2302 GH100 + 230c GH100 [H20 NVL16] 230e GH100 [H20 NVL16] 2313 GH100 [H100 CNX] 2321 GH100 [H100L 94GB] @@ -13284,6 +13330,7 @@ 2343 GH100 2345 GH100 [GH100-88K-A1] 2348 GH100 [GH200 144G HBM3e] + 237e GH100 [H100 GH3] 237f GH100 [Skinny Joe] 23b0 GH100 23f0 GH100 @@ -13456,46 +13503,70 @@ 2941 GB100 [HGX GB200] 297e GB100 2980 GB102 [Reserved Dev ID A] + 29bb GB102 [DRIVE P2021] 29bc GB102 [B100] 29c0 GB102 [Reserved Dev ID B] 29f1 GB102 - 2b00 TA1090SA [THOR] +# space added + 2b00 GB10B [Jetson AGX Thor] 2b85 GB202 [GeForce RTX 5090] 2b87 GB202 [GeForce RTX 5090 D] + 2b8c GB202 [GeForce RTX 5090 D V2] 2bb1 GB202GL [RTX PRO 6000 Blackwell Workstation Edition] - 2bb3 GB202GL [RTX PRO 5000 Blackwell] + 2bb2 GB202GL [RTX PRO 6000D Blackwell Workstation Edition] + 2bb3 GB202GL [RTX PRO 5000 Blackwell / RTX PRO 5000 72GB Blackwell] 2bb4 GB202GL [RTX PRO 6000 Blackwell Max-Q Workstation Edition] 2bb5 GB202GL [RTX PRO 6000 Blackwell Server Edition] + 2bb9 GB202GL [RTX 6000D] + 2bbc GB202GL [RTX PRO 6000D Blackwell Max-Q Workstation Edition] 2c02 GB203 [GeForce RTX 5080] 2c05 GB203 [GeForce RTX 5070 Ti] 2c18 GB203M / GN22 [GeForce RTX 5090 Max-Q / Mobile] 2c19 GB203M / GN22 [GeForce RTX 5080 Max-Q / Mobile] 2c2c GB6-256(N22W-ES-A1) 2c31 GB203GL [RTX PRO 4500 Blackwell] + 2c33 GB203GL [RTX PRO 4000 Blackwell SFF Edition] 2c34 GB203GL [RTX PRO 4000 Blackwell] 2c38 GB203GLM [RTX PRO 5000 Blackwell Generation Laptop GPU] 2c39 GB203GLM [RTX PRO 4000 Blackwell Generation Laptop GPU] + 2c3a GB203GL [RTX PRO 4500 Blackwell] 2c58 GB203M / GN22-X11 [GeForce RTX 5090 Max-Q / Mobile] 2c59 GB203M / GN22-X9 [GeForce RTX 5080 Max-Q / Mobile] + 2c77 GB203GLM [RTX PRO 5000 Blackwell Embedded GPU] + 2c79 GB203GLM [RTX PRO 4000 Blackwell Embedded GPU] 2d04 GB206 [GeForce RTX 5060 Ti] 2d05 GB206 [GeForce RTX 5060] 2d18 GB206M [GeForce RTX 5070 Max-Q / Mobile] 2d19 GB206M [GeForce RTX 5060 Max-Q / Mobile] 2d2c GB6-128 (N22Y-ES-A1) + 2d30 GB206GL [RTX PRO 2000 Blackwell] 2d39 GB206GLM [RTX PRO 2000 Blackwell Generation Laptop GPU] 2d58 GB206M [GeForce RTX 5070 Max-Q / Mobile] 2d59 GB206M [GeForce RTX 5060 Max-Q / Mobile] + 2d79 GB206GLM [RTX PRO 2000 Blackwell Embedded GPU] 2d83 GB207 [GeForce RTX 5050] 2d98 GB207M [GeForce RTX 5050 Max-Q / Mobile] 2db8 GB207GLM [RTX PRO 1000 Blackwell Generation Laptop GPU] 2db9 GB207GLM [RTX PRO 500 Blackwell Generation Laptop GPU] 2dd8 GB207M [GeForce RTX 5050 Max-Q / Mobile] - 2e2a GB20B + 2df9 GB207GLM [RTX PRO 500 Blackwell Embedded GPU] + 2e12 GB20B [GB10] +# N1X + 2e2a GB20B [JMJWOA-Generic-GPU] 2f04 GB205 [GeForce RTX 5070] 2f18 GB205M [GeForce RTX 5070 Ti Mobile] 2f38 GB205GLM [RTX PRO 3000 Blackwell Generation Laptop GPU] 2f58 GB205M [GeForce RTX 5070 Ti Mobile] - 31c0 GB110 + 2f80 GB205 High Definition Audio Controller + 3180 GB110 [Reserved Dev ID A] + 3182 GB110 [B300 SXM6 AC] + 31a1 GB110 [GB300 MaxQ] + 31c0 GB110 [Reserved Dev ID B] + 31c2 GB110 [GB300] + 31fe GB110 + 3200 GB112 + 3224 GB112 + 323e GB112 3340 GB120 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) @@ -13517,6 +13588,7 @@ 072b OneConnect iSCSI Initiator + Target (Skyhawk-VF) 072c OneConnect FCoE Initiator (Skyhawk-VF) 1ae5 LP6000 Fibre Channel Host Adapter + d300 LPE41100/LPE42100 Series 64G/128G Fibre Channel Adapter e100 Proteus-X: LightPulse IOV Fibre Channel Host Adapter e131 LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter e180 Proteus-X: LightPulse IOV Fibre Channel Host Adapter @@ -13598,6 +13670,9 @@ f500 LPe37000/LPe38000 Series 32Gb/64Gb Fibre Channel Adapter 1014 06c1 PCIe4 4-Port 32Gb Fibre Channel Adapter for POWER (FC EN1L/EN1M; CCIN 2CFC) 1014 06c2 PCIe4 2-Port 64Gb Fibre Channel Adapter for POWER (FC EN1N/EN1P; CCIN 2CFD) + 1590 042e Synergy 7330C 64Gb Fibre Channel Host Bus Adapter + 1590 0451 SN1620E 2-Port 32Gb Fibre Channel Adapter + 1590 0452 SN1720E 2-Port 64Gb Fibre Channel Adapter 1590 0454 Synergy 5331C 32Gb Fibre Channel Host Bus Adapter f600 LPe37100S/LPe38100S Series 32Gb/64Gb Fibre Channel Adapter f700 LP7000 Fibre Channel Host Adapter @@ -13713,6 +13788,7 @@ 2600 Killer E2600 GbE Controller 3000 Killer E3000 2.5GbE Controller 4321 RTL8852BE 802.11ax PCIe Wireless Network Adapter + 5000 Killer E5000 5GbE Controller 5208 RTS5208 PCI Express Card Reader 5209 RTS5209 PCI Express Card Reader 5227 RTS5227 PCI Express Card Reader @@ -13767,6 +13843,7 @@ 8125 RTL8125 2.5GbE Controller 4c52 2022 LRES2022PT Single-port 2.5Gb Ethernet Network Adapter 8126 RTL8126 5GbE Controller + 8127 RTL8127 10GbE Controller 8129 RTL-8129 10ec 8129 RT8129 Fast Ethernet Adapter 11ec 8129 RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) @@ -13913,7 +13990,7 @@ ea50 ce19 mCOM10-L1900 816d RTL811x EHCI host controller ea50 ce19 mCOM10-L1900 - 816e Realtek RealManage BMC + 816e RealManage BMC 8171 RTL8191SEvA Wireless LAN Controller 8172 RTL8191SEvB Wireless LAN Controller 8173 RTL8192SE Wireless LAN Controller @@ -14322,6 +14399,7 @@ 0410 VX900 Series Host Bridge: Host Control 0415 VT6415 PATA IDE Host Controller 1043 838f Motherboard + 1849 0415 Motherboard 0419 VN1000 Host Bridge 0501 VT8501 [Apollo MVP4] 0505 VT82C505 @@ -16282,7 +16360,7 @@ 1324 10cf P7120 17aa 20cb ThinkPad T400 e230 R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] - e476 CardBus bridge + e476 R5U242 PCIe to CardBus Bridge 1028 040a Latitude E6410 1028 040b Latitude E6510 e822 MMC/SD Host Controller @@ -16642,6 +16720,7 @@ 6180 88F6180 [Kirkwood] ARM SoC 6192 88F6190/6192 [Kirkwood] ARM SoC 6281 88F6281 [Kirkwood] ARM SoC + 6282 88F6282 [Armada 300] ARM SoC # This device ID was used for earlier chips. 6381 MV78xx0 [Discovery Innovation] ARM SoC 6440 88SE63x0 x1, 88SE6440 x4 PCIe SAS/SATA 3Gb/s RAID controller @@ -17215,7 +17294,7 @@ 103c 0890 NC6000 laptop 10cf 11c4 Lifebook P5020D Laptop 7233 OZ711MP3/MS3 4-in-1 MemoryCardBus Controller - 8120 Integrated MMC/SD Controller + 8120 OZ888 SD/MMC Card Reader Controller 8130 Integrated MS/MSPRO/xD Controller 8220 OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller 8221 OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller @@ -17225,9 +17304,11 @@ 8330 OZ600 MS/xD Controller 1028 04a3 Precision M4600 8331 O2 Flash Memory Card - 8520 SD/MMC Card Reader Controller - 8621 SD/MMC Card Reader Controller + 8520 OZ777 SD/MMC Card Reader Controller + 8620 OZ620 SD/MMC Card Reader Controller + 8621 OZ711 SD/MMC Card Reader Controller 17aa 5068 Thinkpad E480/E580 + 1e44 1776 Steam Deck 8760 FORESEE E2M2 NVMe SSD 1218 Hybricon Corp. 1219 First Virtual Corporation @@ -17453,6 +17534,7 @@ a000 6000 SPI a000 7000 Local Bus ea50 1c10 RXi2-BP + 9105 AX99100 PCIe to I/O Bridge 125c Aurora Technologies, Inc. 0101 Saturn 4520P 0640 Aries 16000P @@ -17597,6 +17679,7 @@ 2263 SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers 2268 SM2268XT (DRAM-less) NVMe SSD Controller 2269 SM2269XT (DRAM-less) NVMe SSD Controller + 2508 SM2508 NVMe 2.0 SSD Controller 8366 SM8366 NVMe SSD Controller [MonTitan] 1270 Olympus Optical Co., Ltd. 1271 GW Instruments @@ -17952,6 +18035,11 @@ 12b9 00d3 USR 56K Internal V92 FAX Modem (Model 5610) 12b9 baba USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] 12ba BittWare, Inc. + 0069 VectorPath S7t-VG6 + 12ba b5d4 BW_BMC_IF + 0079 VectorPath VP815 + 12ba b5d4 BW_BMC_IF + 007a VectorPath VP708 12bb Nippon Unisoft Corporation 12bc Array Microsystems 12bd Computerm Corp. @@ -18088,6 +18176,7 @@ e110 PI7C9X110 PCIe- to-PCI bridge 1775 11cc CC11/CL11 CompactPCI Bridge e111 PI7C9X111SL PCIe-to-PCI Reversible Bridge + ea50 3bbb OCuLink to RX3i backplane bridge e112 PI7C9X112SL PCIe-to-PCI Bridge e113 PI7C9X113SL/PI7C9X118SL PCIe-to-PCI Bridge e130 PCI Express to PCI-XPI7C9X130 PCI-X Bridge @@ -18558,6 +18647,40 @@ 1028 2293 DC NVMe SED 7450 MU U.2 12.8TB 1028 2294 DC NVMe ISE 7450 MU U.2 12.8TB 1344 3000 U.3 1600GB [MTFDKCB1T6TFS/MTFDKCC1T6TFS] + 51c9 7600 PRO NVMe SSD + 1028 2421 MTFDLBQ1T9THG-1BP1DFCDA + 1028 2422 MTFDLBQ3T8THG-1BP1DFCDA + 1028 2423 MTFDLBQ7T6THG-1BP1DFCDA + 1028 2424 MTFDLBQ15T3THG-1BP1DFCDA + 1028 2429 MTFDLBQ1T9THG-1BP1JABDA + 1028 242a MTFDLBQ3T8THG-1BP1JABDA + 1028 242b MTFDLBQ7T6THG-1BP1JABDA + 1028 242c MTFDLBQ15T3THG-1BP1JABDA + 1028 2431 MTFDLAL1T9THG-1BP1DFCDA + 1028 2432 MTFDLAL3T8THG-1BP1DFCDA + 1028 2433 MTFDLAL7T6THG-1BP1DFCDA + 1028 2434 MTFDLAL15T3THG-1BP1DFCDA + 1028 2439 MTFDLAL1T9THG-1BP1JABDA + 1028 243a MTFDLAL3T8THG-1BP1JABDA + 1028 243b MTFDLAL7T6THG-1BP1JABDA + 1028 243c MTFDLAL15T3THG-1BP1JABDA + 51ca 7600 MAX NVMe SSD + 1028 2425 MTFDLBQ1T6THS-1BP1DFCDA + 1028 2426 MTFDLBQ3T2THS-1BP1DFCDA + 1028 2427 MTFDLBQ6T4THS-1BP1DFCDA + 1028 2428 MTFDLBQ12T8THS-1BP1DFCDA + 1028 242d MTFDLBQ1T6THS-1BP1JABDA + 1028 242e MTFDLBQ3T2THS-1BP1JABDA + 1028 242f MTFDLBQ6T4THS-1BP1JABDA + 1028 2430 MTFDLBQ12T8THS-1BP1JABDA + 1028 2435 MTFDLAL1T6THS-1BP1DFCDA + 1028 2436 MTFDLAL3T2THS-1BP1DFCDA + 1028 2437 MTFDLAL6T4THS-1BP1DFCDA + 1028 2438 MTFDLAL12T8THS-1BP1DFCDA + 1028 243d MTFDLAL1T6THS-1BP1JABDA + 1028 243e MTFDLAL3T2THS-1BP1JABDA + 1028 243f MTFDLAL6T4THS-1BP1JABDA + 1028 2440 MTFDLAL12T8THS-1BP1JABDA 51cb 6550 ION NVMe SSD 1028 2379 MTFDLBQ61T4THL-1BK1JABDA 1028 23a6 MTFDLBQ30T7THL-1BK1JABDA @@ -18577,6 +18700,8 @@ 5428 4600 NVMe SSD 5429 2600 NVMe SSD (DRAM-less) 6001 2100AI NVMe SSD [Nitro] + 6003 4150AT NVMe SSD + 6004 4100AT NVMe SSD (DRAM-less) 1345 Arescom Inc 1347 Odetics 1349 Sumitomo Electric Industries, Ltd. @@ -19038,8 +19163,13 @@ 0252 XR17V252 Dual UART PCI controller 0254 XR17V254 Quad UART PCI controller 0258 XR17V258 Octal UART PCI controller - 0352 XR17V3521 Dual PCIe UART + 0352 XR17V352 High Performance Dual PCI Express UART 4c52 9252 LRUS9252H 2-Port RS232 Serial Adapter + 0354 XR17V354 High Performance Quad PCI Express UART + 0358 XR17V358 High Performance Octal PCI Express UART + ea50 8232 8-Channel RS232 Card + 8358 Twin XR17V358 High Performance Octal PCI Express UARTs + ea50 8232 16-Channel RS232 Card 13a9 Siemens Medical Systems, Ultrasound Group 13aa Broadband Networks Inc 13ab Arcom Control Systems Ltd @@ -20327,6 +20457,8 @@ 1432 Edimax Computer Co. 9130 RTL81xx Fast Ethernet 1433 Eltec Elektronik GmbH + 0002 XRD_FG (PCGR-200) [95510214H] + 0006 XRD_FGx Opto (PCGR-300) [95510215H] # Nee Real Time Devices US Inc. 1435 RTD Embedded Technologies, Inc. 4520 PCI4520 @@ -20379,7 +20511,6 @@ 144c Catalina Research Inc 144d Samsung Electronics Co Ltd 1600 S4LN053X01 AHCI SSD Controller(Apple slot) - 9602 RS780/RS880 PCI to PCI bridge (int gfx) a544 Exynos 8890 PCIe Root Complex a575 Exynos 7420 PCIe Root Complex a5e3 Exynos 5433 PCIe Root Complex @@ -20389,21 +20520,13 @@ 144d a801 PM963 2.5" NVMe PCIe SSD a804 NVMe SSD Controller SM961/PM961/SM963 144d a801 SM963 2.5" NVMe PCIe SSD - a806 NVMe SSD SM0032L + a806 PM971 BGA PCIe x2 NVMe SSD a808 NVMe SSD Controller SM981/PM981/PM983 # Used by different variants of SSD 970 EVO and PRO 144d a801 SSD 970 EVO/PRO 1d49 403b Thinksystem U.2 PM983 NVMe SSD a809 NVMe SSD Controller 980 (DRAM-less) a80a NVMe SSD Controller PM9A1/PM9A3/980PRO - 0128 215a DC NVMe PM9A3 RI U.2 960GB - 0128 215b DC NVMe PM9A3 RI U.2 1.92TB - 0128 215c DC NVMe PM9A3 RI U.2 3.84TB - 0128 215d DC NVMe PM9A3 RI U.2 7.68TB - 0128 2166 DC NVMe PM9A3 RI 110M.2 960GB - 0128 2167 DC NVMe PM9A3 RI 110M.2 1.92TB - 0128 2168 DC NVMe PM9A3 RI 80M.2 480GB - 0128 2169 DC NVMe PM9A3 RI 80M.2 960GB 1028 215a DC NVMe PM9A3 RI U.2 960GB 1028 215b DC NVMe PM9A3 RI U.2 1.92TB 1028 215c DC NVMe PM9A3 RI U.2 3.84TB @@ -20420,6 +20543,7 @@ # Actually 88SS1322 according to techpowerup a80b NVMe SSD Controller PM9B1 (DRAM-less) a80c NVMe SSD Controller S4LV008[Pascal] + 144d a801 SSD 990 PRO a80d NVMe SSD Controller PM9C1a (DRAM-less) a80e NVMe SSD Controller PM9D3a a80f BM9C1 QLC NVME SSD (DRAM-less) @@ -20799,12 +20923,15 @@ # MT7612E too? 7662 MT7662E 802.11ac PCI Express Wireless Network Adapter 7663 MT7663 802.11ac PCI Express Wireless Network Adapter + 7902 MT7902 802.11ax PCIe Wireless Network Adapter [Filogic 310] 7915 MT7915E 802.11ax PCI Express Wireless Network Adapter 7916 MT7905D/MT7975 # WiFi 6E capable 7922 MT7922 802.11ax PCI Express Wireless Network Adapter 1a3b 5300 ASUS PCE-AXE59BT - 7961 MT7921 802.11ax PCI Express Wireless Network Adapter + 7925 MT7925 802.11be 160MHz 2x2 PCIe Wireless Network Adapter [Filogic 360] + 7927 MT7927 802.11be 320MHz 2x2 PCIe Wireless Network Adapter [Filogic 380] + 7961 MT7921 802.11ax PCIe Wireless Network Adapter [Filogic 330] 7988 MT7988 PCI Express Host Bridge [Filogic 880] 7990 MT7996 802.11be PCI Express Wireless Network Adapter (Port 0) 7991 MT7996 802.11be PCI Express Wireless Network Adapter (Port 1) @@ -21686,6 +21813,7 @@ 4430 BCM44xx CardBus iLine32 HomePNA 2.0 4432 BCM4432 CardBus 10/100BaseT 4433 BCM4387 802.11ax Dual Band Wireless LAN Controller + 4434 BCM4388 802.11ax Dual Band Wireless LAN Controller 4464 BCM4364 802.11ac Wireless Network Adapter # brcmfmac reports it as BCM4377/4 but macOS drivers call it BCM4377b 4488 BCM4377b Wireless Network Adapter @@ -21743,6 +21871,8 @@ 5f69 BRCM4378 Bluetooth Controller # Bluetooth PCI function of the BRCM4387 Wireless Network Adapter 5f71 BRCM4387 Bluetooth Controller +# Bluetooth PCI function of the BCM4388 Wireless Network Adapter + 5f72 BCM4388 Bluetooth Controller # Bluetooth PCI function of the BRCM4377 Wireless Network Adapter 5fa0 BRCM4377 Bluetooth Controller 8411 BCM47xx PCIe Bridge @@ -22264,10 +22394,6 @@ 1539 ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A. 153a ONO SOKKI 153b TERRATEC Electronic GmbH - 1144 Aureon 5.1 -# Terratec seems to use several IDs for the same card. - 1147 Aureon 5.1 Sky - 1158 Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV] 153c ANTAL Electronic 153d FILANET Corp 153e TECHWELL Inc @@ -22536,8 +22662,9 @@ 0278 Quantum-4 in Flash Recovery Mode 0279 Quantum-4 RMA 027a Eros Chiplet - 027c Quantum-5 in Flash Recovery Mode - 027d Quantum-5 RMA + 027c Nvlink-7 Switch in Flash Recovery Mode + 027d Nvlink-7 Switch RMA + 027e Spectrum-7 Tile 0281 NPS-600 Flash Recovery 0282 ArcusE Flash recovery 0283 ArcusE RMA @@ -22560,8 +22687,8 @@ 029a OPHY3.1 # Sagitta 029c OPHY3.5 - 02a0 Quantum-6 in Flash Recovery Mode - 02a1 Quantum-6 RMA + 02a0 Nvlink-8 Switch in Flash Recovery Mode + 02a1 Nvlink-8 RMA 02a2 Spectrum-7 in Flash Recovery Mode 02a3 Spectrum-7 RMA 1002 MT25400 Family [ConnectX-2 Virtual Function] @@ -22782,6 +22909,7 @@ # Spectrum, 100GbE Switch cb84 MT52100 cf08 Switch-IB2 + cf09 Quantum Aggregation Node cf6c MT53100 [Spectrum-2] cf70 Spectrum-3 cf80 Spectrum-4 @@ -22793,8 +22921,8 @@ d2f4 Quantum-3 d2f6 Quantum-3CPO d2f8 Quantum-4 - d2fa Quantum-5 - d2fc Quantum-6 + d2fa Nvlink-7 Switch + d2fc Nvlink-8 Switch 15b4 CCI/TRIAD 15b5 Cimetrics Inc 15b6 Texas Memory Systems Inc @@ -22822,7 +22950,7 @@ 5004 PC SN520 x2 M.2 2230 NVMe SSD 5005 PC SN520 x2 M.2 2242 NVMe SSD 5006 SanDisk Extreme Pro / WD Black SN750 / PC SN730 / Red SN700 NVMe SSD - 5007 IX SN530 NVMe SSD (DRAM-less) + 5007 IX SN530 NVMe SSD / microSD Express Card (DRAM-less) 5008 PC SN530 NVMe SSD (DRAM-less) 5009 SanDisk Ultra 3D / WD PC SN530, IX SN530, Blue SN550 NVMe SSD (DRAM-less) 15b7 5009 WD Blue SN550 NVMe SSD @@ -22848,12 +22976,14 @@ 5036 WD PC SN5000S M.2 2280 NVMe SSD (DRAM-less) 5041 WD Blue SN580 NVMe SSD (DRAM-less) 5042 WD Black SN770M NVMe SSD (DRAM-less) - 5044 WD PC SN7100S NVMe SSD (DRAM-less) - 5045 WD_BLACK SN7100 NVMe SSD (DRAM-less) + 5043 WD PC SN7100S M.2 2230 NVMe SSD (DRAM-less) + 5044 WD PC SN7100S M.2 2242 NVMe SSD (DRAM-less) + 5045 WD_BLACK SN7100/WD PC SN7100S M.2 2280 NVMe SSD (DRAM-less) 5046 SanDisk Extreme NVMe SSD (DRAM-less) 5049 SN8000S NVMe SSD 504a WD Blue SN5000 NVMe SSD (DRAM-less) 5050 WD PC SN8050S / WD_BLACK SN8100 NVMe SSD + 5063 WD Blue SN5100 NVMe SSD (DRAM-less) 15b8 ADDI-DATA GmbH 1001 APCI1516 SP controller (16 digi outputs) 1003 APCI1032 SP controller (32 digi inputs w/ opto coupler) @@ -22909,6 +23039,8 @@ 15ce Genrad Inc 15cf Hilscher Gesellschaft für Systemautomation mbH *** 2213 LINES SKIPPED *** From nobody Wed Jan 14 12:34:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4drlsy2vPHz6NMMK for ; Wed, 14 Jan 2026 12:34:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4drlsx5t8Sz3xB9 for ; Wed, 14 Jan 2026 12:34:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XFn7DS7lK3kQlXV1SMZBIQ7rfJFNz0Yu1uGmOutc5ig=; b=M+wgtYVVxEdW7tEYDZ8ZA2qId7gWcb3Bxy4DVI2ucam4ZFdqqVkl9D5w77PEg8qL5QaBho G+WqrQQwTLKGNXEUvpKiaEmv9/51t4tk4a9St7DndHV7rQWHXIR/3WKD0FX0+dw+MExZMZ MFMn787NSjqzsMsXwvHYapWdODU0fW9otKSS+smYWHe/OFFKutzpRmHawjl/31SKhSK8xk O1R6O2Z1Qu8e1voSKI4gTtgnuk8AAAECXqqHpFZMn5kN0qjF5YmNAPHjI8hIkFiUmbMGxC P3DyyGsOg1YrP+4wjxyKMWBCICZMQx0rCEU0mKfT5iwjhE0Q3ewydZsWH4/Pqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768394053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XFn7DS7lK3kQlXV1SMZBIQ7rfJFNz0Yu1uGmOutc5ig=; b=EQkzMlnTA41YoKabEUqe3EBFPM6J+eJTwo70KZxmQvBOeHQCde/kvWiqTOXwJwzxn+u6JI nEZqUCHC95c5OSOvOvG+hIZUInH6xO5+TZrKwqpwezd7OThOWXS/r77Ihc1sfPSB8VniVk ZIRQCMpT/f3m7uRhXJTSudfMchOiARl6myK/2G8mzQnAGEn2oc26Afyk/995AJgyLaaTKr 9LeigMI9KXhAWgKiFq9KDorpQbwF8nuH+AKDzichTGcZ96FTJmc8DwPD+YDOhfEt2aqNbW Y0HKZoMsqCscl727HUz6y/BgoBMcrjoXeCOnsadDCrtl26gymKqfRvuRx1T8yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768394053; a=rsa-sha256; cv=none; b=veilv4weHtJZS81Ycpq3Qm/BTmMQWJhUgVN+6hmVbDWm9bc5tF4l0fMu3f0S3lQ4+lmflX sRrJS9UtjU9ndh71rDlLRPXOoXLGCEQF+nf0G4hDDGoS8LQVt3sjmRas+OOtr0EbmN5vvT BZLYsPFRumvqFVCmENF8OzOo8iBKM6FYgqka8PiyUaTa1FzsozgfbH3Ob5ald+FJ0SZp7i knz53nOnECM8P0IT0WMNj6pISGHpaDyogXsvovYz09ogopK1TI0UbwVOLJcMqlzuDJKVrn hjHQLfCeq1yZpA4z60Pp3lrOdtL22qTI8hKT562KGBba/iOtqpBUcsHBphFrig== 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 4drlsx5T3TzyXD for ; Wed, 14 Jan 2026 12:34:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fabc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 12:34:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 23a18b79bd8b - stable/14 - pci_vendors: update to 2025-10-18 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 23a18b79bd8bac5ab770c357f0e1c6db0fc290f7 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 12:34:13 +0000 Message-Id: <69678d45.3fabc.62a620ef@gitrepo.freebsd.org> The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=23a18b79bd8bac5ab770c357f0e1c6db0fc290f7 commit 23a18b79bd8bac5ab770c357f0e1c6db0fc290f7 Author: Baptiste Daroussin AuthorDate: 2025-10-28 08:31:46 +0000 Commit: Baptiste Daroussin CommitDate: 2026-01-14 12:33:47 +0000 pci_vendors: update to 2025-10-18 (cherry picked from commit e5f545e0d872fbfdb6c3c94ca81e7f3bce9d094a) --- share/misc/pci_vendors | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 6fb8865340a0..1b13509f002d 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2025.07.11 -# Date: 2025-07-11 03:15:02 +# Version: 2025.10.18 +# Date: 2025-10-18 03:15:01 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -27979,6 +27979,10 @@ 1007 CL4-8D512 NVMe SSD M.2 (DRAM-less) 1008 CL5-8D512 NVMe SSD M.2 (DRAM-less) 100c CL6 Series NVMe SSD M.2 (DRAM-less) + 100d PJ1 Series NVMe SSD + 1e95 0001 M.2 2280 960 GB + 1e95 0002 M.2 2280 1920 GB + 1e95 100d M.2 2280 480 GB 1010 CX3 Series NVMe SSD 1e95 0000 M.2 2280 480 GB 1e95 0001 M.2 2280 960 GB From nobody Wed Jan 14 22:10:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ds0g60hn2z6P073 for ; Wed, 14 Jan 2026 22:10:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ds0g56bvWz3H2Z for ; Wed, 14 Jan 2026 22:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768428641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qnKm+FSEooWnrALjk6Xrcrea9/xIVvaxWNPKFe/Cqiw=; b=Nrgrz0VaDL8x80P4xMMTPaNLeVQoya52pYYYxMcTZjIcd0JFX5kueAcnN1VgIf72FBYQaf m6EYD6tdSzFHmMX+11oi0xQ6xpSnwns5XUlskJUcGWzYOLJfYx52yQaijvkPWt8fN2G8Zz zoYc2fUXJnjOlS6Zue0cjyfrxWCbjwWiIvW648DfrbNtg/VsQHc9imkKwGsHvnaZxAdm8r HqzBasV/ksv+NVyypDdNtLH78XaE0kRVkGyvNyv8sPYMUvHLfzE/CHQ9BIiEWKAMYtfiHP rcEp+QhGFdLEOoTOvK5RQporauQV2qyMwrOGSurcEhJ3iXlfPwzcWAa1XzeqRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768428641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qnKm+FSEooWnrALjk6Xrcrea9/xIVvaxWNPKFe/Cqiw=; b=MU4pM8kbEcbq89/j+FqfBtQef4qmIHhHgsjim+YSRoxAUaFuod1FY+ZcHuw6KKPxEAW0db zxStd8p0IBTsGXTsvseyw8Xmrqpp3I1j/hTLlqvMzacoKSg8smxqV6KrHnEl9GXEYx2DVB JFTXCV9Gn3tZ5kHTUgna+GCsmi2ej4JMwhzCztMCwA5JPj/TCG6yPbJ2acr9X8g1/L32vp t90it5JH8m77Gxa9GDOsSfwnJMiyGM3BEe0DglcWpQGvk/e2n0Pqmk/N7BT5MUwQsI4xgp 5gRsN0XYI9KN0OqqTi1OK7efd5gCzDyHQX8/jsBefs70RCkfqmbW6T94bcGdQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768428641; a=rsa-sha256; cv=none; b=RZCbb6e69FRHrZyIJmWLHJPZnzj+FxOUYr1suLXBgRaOb4uqtdC4vN5bt8eo1g1M8P/EQW awhnCMRI04zbXEN0eRLXO8KIzOBiJHmc7j6AQC8E+1SVaECPcrY2gSyYy5n5u4WRWf77MF dQfUIodMXouUDWYlK1reY2tAgs2z4nuRRdmk2lXKtj1ZIE7JbKkZBv2QJjbnz77VBp54QM KoSVK/xGZj+DXwEmTuJQAqK74li1QQ7hST/fMcyGwvmo8xsUuk37KIBfbuBVkdlFsp12o3 o6hE2w+pIUe1dOMmDMi9MOFvXj1hKQf4fNQqqpdpJROwvaW1vvpLKCCE7K342Q== 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 4ds0g56870z1FfL for ; Wed, 14 Jan 2026 22:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3037e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 22:10:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: eb9c65a3d60b - stable/15 - EC2: Add extra SSM Parameter names for releases 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: eb9c65a3d60bb78e418d69a717ea34380e7aab10 Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 22:10:41 +0000 Message-Id: <69681461.3037e.3636f9a0@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=eb9c65a3d60bb78e418d69a717ea34380e7aab10 commit eb9c65a3d60bb78e418d69a717ea34380e7aab10 Author: Colin Percival AuthorDate: 2026-01-11 22:25:51 +0000 Commit: Colin Percival CommitDate: 2026-01-14 22:10:32 +0000 EC2: Add extra SSM Parameter names for releases Record releases in the SSM Parameter Store not just as e.g. /aws/service/freebsd/arm64/small/ufs/15.0/RELEASE but also as .../RELEASE/latest, e.g. /aws/service/freebsd/arm64/small/ufs/15.0/RELEASE/latest The latter parameters will be updated when new AMIs are built with security and errata updates appplied, and have been backfilled for 15.0. MFC after: 3 days MFC to: stable/15 (14.x will not get security-update AMIs) Sponsored by: Amazon (cherry picked from commit b558c92fd0005d311edbcd02953c17d4a34fb909) --- release/Makefile.ec2 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/release/Makefile.ec2 b/release/Makefile.ec2 index 47561feefc23..c33345201b36 100644 --- a/release/Makefile.ec2 +++ b/release/Makefile.ec2 @@ -61,6 +61,9 @@ cw-ec2-portinstall: .for _FL in ${EC2_FLAVOURS:tl} .if defined(SSMPREFIX) && !empty(SSMPREFIX) SSMOPTS_${_FL}_${_FS}= --ssm-name ${SSMPREFIX}/${TARGET_ARCH:S/aarch64/arm64/}/${_FL}/${_FS}/${REVISION}/${BRANCH} +.if ${BRANCH} == "RELEASE" +SSMOPTSEXTRA_${_FL}_${_FS}= --ssm-name-extra ${SSMPREFIX}/${TARGET_ARCH:S/aarch64/arm64/}/${_FL}/${_FS}/${REVISION}/${BRANCH}/latest +.endif .endif EC2AMILIST+= ec2ami-${_FL}-${_FS} CLEANFILES+= ec2ami-${_FL}-${_FS} @@ -84,7 +87,8 @@ ec2ami-${_FL}-${_FS}: cw-ec2-${_FL}-${_FS} ${CW_EC2_PORTINSTALL} @false .endif /usr/local/bin/bsdec2-image-upload ${PUBLISH} ${PUBLICSNAP} \ - ${EC2ARCH} ${SSMOPTS_${_FL}_${_FS}} ${BOOTMODEOPT} --sriov --ena \ + ${EC2ARCH} ${SSMOPTS_${_FL}_${_FS}} ${SSMOPTSEXTRA_${_FL}_${_FS}} \ + ${BOOTMODEOPT} --sriov --ena \ ${.OBJDIR}/${EC2-${_FL:tu}${_FS:tu}IMAGE} \ "${AMIBASENAME} ${_FL} ${_FS:tu}" \ "${TYPE}/${TARGET} ${GITBRANCH}@${GITREV}" \ From nobody Thu Jan 15 14:50:55 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsC2CWHz6P3xk for ; Thu, 15 Jan 2026 14:50: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 4dsQsC1Pslz3JD2 for ; Thu, 15 Jan 2026 14:50:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ajjwinlacYFGWmg+FVPPDmPANmby1DX4t013U1wGV/Q=; b=b0DuuYanFrZsiFo5cdmy3lXu6nXB5VfzDe6pbPdA2VXQwCpg2f29ERMgx8T4pchbj8RT7P lZ9/MQpCBaZGFMzri8gwB7ca0crvCaej84cwyr1DFoittmhAxw/ksfEFIy6EqTUq6kR17r UAGHay+9Io62ESXjsF383LEYkb28VctevPZJWgUKMXaNc8EvM1sPocCoULntlq//APOmW9 5WmxaFqnTWJQJC6r2UAmEDWoqKjWk1vDslQOSZ4LXBiQEUc0t+S819HOP6jRHTTGEwffr0 CzLN6n8uuDy0GS5wgJYyWQX5/OMvKzz1FVLbluF5bR8/uHGFHXznK/3D39VBMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ajjwinlacYFGWmg+FVPPDmPANmby1DX4t013U1wGV/Q=; b=UFh4JUohDqct8jvSwHV0FGLpIz0iOeEFym3VEoaDio+sbenxCBHQ7TEm0VdqWOQzYkNRjm 2s8tDt8trGOiL5ULysUPvpmTiP4GmXblhYwyv3HNx5mML0J90zEeSAkqzKnbIC54vtQBkn Sadrf3SmiidyRMELFqZ4g00CQ4Enf+ZD9YEQnrIeZKRF8WL4//9qAZneGkKypKLAPJoeq9 4ocmE/HR24F7AUM1WT0CE2J/QzDiXfhrNFPCmHfp3LL1U1Rc2bPmjJLWCT7fP7/z2Us7EA fDAApdHO7jGA9arD25Kj1MzCDZwonKrFeDUD3QChOKIjIZohy8fItjBo/5xBDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488655; a=rsa-sha256; cv=none; b=iJBxwJp9LfHHTQSkgVluY0pPXoMPJd+aCZ/RT0qRJ4+mTdAprtk08qLBzyKKX40fPLCBzq lRQAlEoUxFx0cfcYnGfvstZmfgQ7W3AsBGobziurY26Qvml5L0rHPaK9/ENFOf0XpIQOZj O2Zzj7dXB4kRRYiTvQ+ZchzV0pr5OFXWMCIbE92o6yG0VsqN9z8AyGM+kLc64N+9km8brf fAaobaEfw+cBLKxoP5lpSIMp0kVXUAyF7eXZURC75xVhdwuZCPDg7gYwluvXv0R3n0y1bl xF4djSuJ1/S5yW/k5SntI73ktee2ZtarZNaQA2kOaT+TzU72OTpiV5iaDFTsaw== 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 4dsQsC0vxYzYsj for ; Thu, 15 Jan 2026 14:50:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 231ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:50:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 6025e23a8f2f - stable/14 - pci/n1sdp: Disable HotPlug 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6025e23a8f2fca481e31436e3fa7a47fba5306d6 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:50:55 +0000 Message-Id: <6968fecf.231ae.37cb50e9@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6025e23a8f2fca481e31436e3fa7a47fba5306d6 commit 6025e23a8f2fca481e31436e3fa7a47fba5306d6 Author: Andrew Turner AuthorDate: 2025-10-17 15:02:19 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:10 +0000 pci/n1sdp: Disable HotPlug Work around an issue when HotPlug is enabled where pcib3 and pcib5 continuously report the following: pcib3: HotPlug interrupt: 0x30 pcib3: Command Completed pcib3: HotPlug interrupt: 0x30 pcib3: Command Completed ... As a workaround disable HotPlug on the N1SDP as it's unlikely anyone will depend on it. Reviewed by: br Fixes: 1f5c50a86173 ("pci_host_generic:Add pcib_request_feature on ACPI") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D53134 (cherry picked from commit edbbf26e2650e02cd3925dd1deaacf9b8fb2e2a0) --- sys/dev/pci/controller/pci_n1sdp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/dev/pci/controller/pci_n1sdp.c b/sys/dev/pci/controller/pci_n1sdp.c index b6f2b11dea05..4c8c04e6057f 100644 --- a/sys/dev/pci/controller/pci_n1sdp.c +++ b/sys/dev/pci/controller/pci_n1sdp.c @@ -345,6 +345,17 @@ n1sdp_pcie_write_config(device_t dev, u_int bus, u_int slot, bus_space_write_4(t, h, offset & ~3, data); } +static int +n1sdp_pcie_acpi_request_feature(device_t pcib __unused, device_t dev __unused, + enum pci_feature feature __unused) +{ + /* + * HotPlug isn't supported on the N1SDP as it causes an interrupt storm + */ + return (EINVAL); +} + + static device_method_t n1sdp_pcie_acpi_methods[] = { DEVMETHOD(device_probe, n1sdp_pcie_acpi_probe), DEVMETHOD(device_attach, n1sdp_pcie_acpi_attach), @@ -352,6 +363,7 @@ static device_method_t n1sdp_pcie_acpi_methods[] = { /* pcib interface */ DEVMETHOD(pcib_read_config, n1sdp_pcie_read_config), DEVMETHOD(pcib_write_config, n1sdp_pcie_write_config), + DEVMETHOD(pcib_request_feature, n1sdp_pcie_acpi_request_feature), DEVMETHOD_END }; From nobody Thu Jan 15 14:50:56 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsD4Nblz6P4HT for ; Thu, 15 Jan 2026 14:50: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 4dsQsD26hCz3JR5 for ; Thu, 15 Jan 2026 14:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Wm5hQbWuurwpt69M5S4AT8Yi4IdsJ0eeebxpb30Rnk=; b=DVohtjne1JQoSNruGvvmm2eZWzgKmFpO0IiFzYmk34hzrYmf83WuxBO45vxzw9HAIUFoV0 ZC/uafJJDK8z1yuvozpaPZ4aa/tG3TPZ160xwyLW6n3X5EkfGFTGq0gXqvoq1Ni54Z/hJW 8dQV7A7cyarpCv52ut0c0YCNQkFxBOTz7NC0pKmht1XDGdL2fESrIEq19yGLvbax4BG2A1 cfliEONo9e8OJVKyyYR40VDpGBAwNhYeV3n9vHc7ry6NYmisTggeeay9ONhyW9ihvvx4R1 oPklntjvmxEdFmH+bGSbrIcdnK67O3zzOlW7Q8c4pHbbcsAxVF+Wgnx5UJmbxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Wm5hQbWuurwpt69M5S4AT8Yi4IdsJ0eeebxpb30Rnk=; b=peNLBGIJ4Us3EycrG2OSGRaJSmCidCHoW9iw5G6Yq7P/rl0QVNc/6HNIfhMs+S7UNLzf/I MeDdKpJS7CTC7oiHHb28pYc8d0G55t0bCIloa1su7iml8FWr01y+9UXuas3ySP6cO4P41c B3iGajt9B2N0a2KTcrRC9H2tkTa79Cj/zpitzXTlpcAo2xpsSpWyBjN0T4kkVttW8VE3Hf 8Lje3q/BemEzMpdpCBaFU8oxbRZ+WjI18gqpKEqDTbKngXF3HfNSQAFWTaZnI81i+zB9AI RLWT1OcEOGe4qva57z8/Mcjr5+0Lg0ON3BTuOWK6M/zcXwNYMhi/q2+mjQ+ORQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488656; a=rsa-sha256; cv=none; b=QrHwcoSz7KvamQfmKU9VA7cCgsbFf12XOHQAVhxhNyFp3mLlTbr+BRTYHhq5HfhqVC/zI6 nwsV4euM4leagORt1YLGCf1Rt8NzSK4brHfbQM7wOGd75Xdx2omRHp4sC3q2Nfqvpx6PNN al1iIRyLnxgKdRaGmck1zWZnyH8lMBw8d0+0S5bbQUHEaL6rLXXk+QX4PAZq+TtBj5eKhC gVNpHvfTwz6O6jCZXG6qId3QlyFPE8ej00bNICbYRzqVpw2yv/kRaBwCJtzPWhGIlSjvNT WGJRITcBFyVYpsXA3FLMRb1M/uPbv9k98MsAz51zw/yGRYbCCjz+MA7Oi5wKXg== 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 4dsQsD1gSszYwD for ; Thu, 15 Jan 2026 14:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 220ad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:50:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 935f00c4ddf6 - stable/14 - arm64: Add more CPU MIDR values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 935f00c4ddf6c0e90752e7017e1d8d165e0796a1 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:50:56 +0000 Message-Id: <6968fed0.220ad.74a3636c@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=935f00c4ddf6c0e90752e7017e1d8d165e0796a1 commit 935f00c4ddf6c0e90752e7017e1d8d165e0796a1 Author: Andrew Turner AuthorDate: 2025-06-23 12:28:36 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:10 +0000 arm64: Add more CPU MIDR values Found in Linux and https://github.com/arm-software/data Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50726 (cherry picked from commit 124b5dbf5c09a17251b75f6b96c9ab7b218eee7f) --- sys/arm64/arm64/identcpu.c | 28 ++++++++++++++++++++++++++-- sys/arm64/include/cpu.h | 20 +++++++++++++++++++- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index d0b4f74c8a15..40ca4e11afe5 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -211,19 +211,28 @@ static const struct cpu_parts cpu_parts_arm[] = { { CPU_PART_CORTEX_A76AE, "Cortex-A76AE" }, { CPU_PART_CORTEX_A77, "Cortex-A77" }, { CPU_PART_CORTEX_A78, "Cortex-A78" }, + { CPU_PART_CORTEX_A78AE, "Cortex-A78AE" }, { CPU_PART_CORTEX_A78C, "Cortex-A78C" }, { CPU_PART_CORTEX_A510, "Cortex-A510" }, + { CPU_PART_CORTEX_A520, "Cortex-A520" }, { CPU_PART_CORTEX_A710, "Cortex-A710" }, { CPU_PART_CORTEX_A715, "Cortex-A715" }, + { CPU_PART_CORTEX_A720, "Cortex-A720" }, + { CPU_PART_CORTEX_A725, "Cortex-A725" }, + { CPU_PART_CORTEX_X925, "Cortex-A925" }, { CPU_PART_CORTEX_X1, "Cortex-X1" }, { CPU_PART_CORTEX_X1C, "Cortex-X1C" }, { CPU_PART_CORTEX_X2, "Cortex-X2" }, { CPU_PART_CORTEX_X3, "Cortex-X3" }, + { CPU_PART_CORTEX_X4, "Cortex-X4" }, { CPU_PART_NEOVERSE_E1, "Neoverse-E1" }, { CPU_PART_NEOVERSE_N1, "Neoverse-N1" }, { CPU_PART_NEOVERSE_N2, "Neoverse-N2" }, + { CPU_PART_NEOVERSE_N3, "Neoverse-N3" }, { CPU_PART_NEOVERSE_V1, "Neoverse-V1" }, { CPU_PART_NEOVERSE_V2, "Neoverse-V2" }, + { CPU_PART_NEOVERSE_V3, "Neoverse-V3" }, + { CPU_PART_NEOVERSE_V3AE, "Neoverse-V3AE" }, CPU_PART_NONE, }; @@ -234,12 +243,25 @@ static const struct cpu_parts cpu_parts_cavium[] = { CPU_PART_NONE, }; -/* APM / Ampere */ +/* APM (now Ampere) */ static const struct cpu_parts cpu_parts_apm[] = { { CPU_PART_EMAG8180, "eMAG 8180" }, CPU_PART_NONE, }; +/* Ampere */ +static const struct cpu_parts cpu_parts_ampere[] = { + { CPU_PART_AMPERE1, "AmpereOne AC03" }, + { CPU_PART_AMPERE1A, "AmpereOne AC04" }, + CPU_PART_NONE, +}; + +/* Microsoft */ +static const struct cpu_parts cpu_parts_microsoft[] = { + { CPU_PART_AZURE_COBALT_100, "Azure Cobalt 100" }, + CPU_PART_NONE, +}; + /* Qualcomm */ static const struct cpu_parts cpu_parts_qcom[] = { { CPU_PART_KRYO400_GOLD, "Kryo 400 Gold" }, @@ -273,7 +295,7 @@ static const struct cpu_parts cpu_parts_none[] = { * Implementers table. */ const struct cpu_implementers cpu_implementers[] = { - { CPU_IMPL_AMPERE, "Ampere", cpu_parts_none }, + { CPU_IMPL_AMPERE, "Ampere", cpu_parts_ampere }, { CPU_IMPL_APPLE, "Apple", cpu_parts_apple }, { CPU_IMPL_APM, "APM", cpu_parts_apm }, { CPU_IMPL_ARM, "ARM", cpu_parts_arm }, @@ -282,9 +304,11 @@ const struct cpu_implementers cpu_implementers[] = { { CPU_IMPL_DEC, "DEC", cpu_parts_none }, { CPU_IMPL_FREESCALE, "Freescale", cpu_parts_none }, { CPU_IMPL_FUJITSU, "Fujitsu", cpu_parts_none }, + { CPU_IMPL_HISILICON, "HiSilicon", cpu_parts_none }, { CPU_IMPL_INFINEON, "IFX", cpu_parts_none }, { CPU_IMPL_INTEL, "Intel", cpu_parts_none }, { CPU_IMPL_MARVELL, "Marvell", cpu_parts_none }, + { CPU_IMPL_MICROSOFT, "Microsoft", cpu_parts_microsoft }, { CPU_IMPL_NVIDIA, "NVIDIA", cpu_parts_none }, { CPU_IMPL_QUALCOMM, "Qualcomm", cpu_parts_qcom }, CPU_IMPLEMENTER_NONE, diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index 0701a75d17f7..dd0aff7a1c35 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -77,6 +77,7 @@ #define CPU_IMPL_CAVIUM 0x43 #define CPU_IMPL_DEC 0x44 #define CPU_IMPL_FUJITSU 0x46 +#define CPU_IMPL_HISILICON 0x48 #define CPU_IMPL_INFINEON 0x49 #define CPU_IMPL_FREESCALE 0x4D #define CPU_IMPL_NVIDIA 0x4E @@ -86,6 +87,7 @@ #define CPU_IMPL_APPLE 0x61 #define CPU_IMPL_INTEL 0x69 #define CPU_IMPL_AMPERE 0xC0 +#define CPU_IMPL_MICROSOFT 0x6D /* ARM Part numbers */ #define CPU_PART_FOUNDATION 0xD00 @@ -105,6 +107,7 @@ #define CPU_PART_AEM_V8 0xD0F #define CPU_PART_NEOVERSE_V1 0xD40 #define CPU_PART_CORTEX_A78 0xD41 +#define CPU_PART_CORTEX_A78AE 0xD42 #define CPU_PART_CORTEX_A65AE 0xD43 #define CPU_PART_CORTEX_X1 0xD44 #define CPU_PART_CORTEX_A510 0xD46 @@ -117,6 +120,14 @@ #define CPU_PART_CORTEX_A715 0xD4D #define CPU_PART_CORTEX_X3 0xD4E #define CPU_PART_NEOVERSE_V2 0xD4F +#define CPU_PART_CORTEX_A520 0xD80 +#define CPU_PART_CORTEX_A720 0xD81 +#define CPU_PART_CORTEX_X4 0xD82 +#define CPU_PART_NEOVERSE_V3AE 0xD83 +#define CPU_PART_NEOVERSE_V3 0xD84 +#define CPU_PART_CORTEX_X925 0xD85 +#define CPU_PART_CORTEX_A725 0xD87 +#define CPU_PART_NEOVERSE_N3 0xD8E /* Cavium Part numbers */ #define CPU_PART_THUNDERX 0x0A1 @@ -129,9 +140,16 @@ #define CPU_REV_THUNDERX2_0 0x00 -/* APM / Ampere Part Number */ +/* APM (now Ampere) Part number */ #define CPU_PART_EMAG8180 0x000 +/* Ampere Part numbers */ +#define CPU_PART_AMPERE1 0xAC3 +#define CPU_PART_AMPERE1A 0xAC4 + +/* Microsoft Part numbers */ +#define CPU_PART_AZURE_COBALT_100 0xD49 + /* Qualcomm */ #define CPU_PART_KRYO400_GOLD 0x804 #define CPU_PART_KRYO400_SILVER 0x805 From nobody Thu Jan 15 14:50:57 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsF4gpbz6P3xl for ; Thu, 15 Jan 2026 14:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsF2pqnz3JGS for ; Thu, 15 Jan 2026 14:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=geubr8mgQvQaFN7yQQ4LzA6ebf7wxT2i0R90rFLvTEw=; b=I1BNujSFYO02LVrzb7ee+QNIbMpQ3lPMrGjNWXs53cqEARx6soOSuwih3NW61Q3ok1qZ66 dzC4ZtjHXDcEz38WzQ0AO1J9ktiF3a/WASpowbYyNK3sPV6mCBT0iaocVRL8U8Vqsqvwe0 M5h0p8UKgkcGANUCwOrM8Fzn9gaCtnSW1gzvm+NUJceCKQfDD9DWlBvmp2cY0N0TNRYgL8 jj0jKCcDpKsqAmw1v4mdpW2jjD2AyHl3cL/i0elsxkGlijiJl4zPuNDm6u+T5oY72JRE+K qkvWWHXXPzivydybjnhR/ilpkm5ERw9plKJ0oN9Nyf3iVghRn19ACm44gYdWKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=geubr8mgQvQaFN7yQQ4LzA6ebf7wxT2i0R90rFLvTEw=; b=nHCSCH8L9fuLud5Djr7DmwujGDOgbYSMtb0BkGx8s5g2726upu0UtHtX+AulpiNHMjH2n/ 5VSsYLQkiGTr5eNjP7EU+5K2lxVs8Utgd58lc4Y1u1psPTlHOFXMB3UrfDDT42qDjUi5vr kZ4LNbm1XyWi+3wMxgojMhPHLkFLLpg5dhJP0G3KKwCFNqgQP8GTkkmBlTk+en4sWDLXIP juVcxdtVzx0twjBYswx6BRlQgdgiAayQsfl/pzqwRc7fTJVTmwdegxtmVDqdF0aPhLh6yQ 0jPmlBcw/PeFVTONFYhKDwG4w1UR65fKzo4auJZvMVDJD3KW+XwIBVsWrCdefQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488657; a=rsa-sha256; cv=none; b=PIPIti6/iAsAcNTbPMJ/dOv/r3wlH65l8ascG7bWvaU864fSbkaa4jnN01cvKRk8beJ83w 2ql2I0PlX8GQmDAfHvz5ssZxIU/ezvlZjbEArg6+ZXWpB/u5qvBxpRCirZAtzQXKHxfqDd TeeaHSvEZgggABrTUbej1k9byeADnfYVaynZf4D5m+R3RkbasTgT9uw1hFuuwKnMbWtt8M mjvNR5JKDG/F7R+DyIQLCfzvFyBmeuMhCieREGyjluPVDGe329Sq9vKC8p7tqwddDF9AjU 2yFTl8D4X3UuusqwJjwv/6wBikfrRcloXM2puMAJOFuR8Ob+ijlfA1EANsJecw== 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 4dsQsF2PL6zZ5Y for ; Thu, 15 Jan 2026 14:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2233b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:50:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 25ff471f0bbc - stable/14 - arm64: Add the new C1 CPU IDs 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 25ff471f0bbcf5b489678e9f94877386366dc521 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:50:57 +0000 Message-Id: <6968fed1.2233b.634f7e44@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=25ff471f0bbcf5b489678e9f94877386366dc521 commit 25ff471f0bbcf5b489678e9f94877386366dc521 Author: Andrew Turner AuthorDate: 2025-09-15 12:05:05 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:11 +0000 arm64: Add the new C1 CPU IDs Add the Arm C1-Nano, C1-Pro, C1-Premium, and C1-Ultra CPUs from their Technical Reference Manuals. Sponsored by: Arm Ltd (cherry picked from commit 8fee6b9ecc84d3602a461f1cd33df91e50849cdf) --- sys/arm64/arm64/identcpu.c | 4 ++++ sys/arm64/include/cpu.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 40ca4e11afe5..9f2fe6e8a42a 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -225,6 +225,10 @@ static const struct cpu_parts cpu_parts_arm[] = { { CPU_PART_CORTEX_X2, "Cortex-X2" }, { CPU_PART_CORTEX_X3, "Cortex-X3" }, { CPU_PART_CORTEX_X4, "Cortex-X4" }, + { CPU_PART_C1_NANO, "C1-Nano" }, + { CPU_PART_C1_PRO, "C1-Pro" }, + { CPU_PART_C1_PREMIUM, "C1-Premium" }, + { CPU_PART_C1_ULTRA, "C1-Ultra" }, { CPU_PART_NEOVERSE_E1, "Neoverse-E1" }, { CPU_PART_NEOVERSE_N1, "Neoverse-N1" }, { CPU_PART_NEOVERSE_N2, "Neoverse-N2" }, diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index dd0aff7a1c35..dbb92d75dd85 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -127,7 +127,11 @@ #define CPU_PART_NEOVERSE_V3 0xD84 #define CPU_PART_CORTEX_X925 0xD85 #define CPU_PART_CORTEX_A725 0xD87 +#define CPU_PART_C1_NANO 0xD8A +#define CPU_PART_C1_PRO 0xD8B +#define CPU_PART_C1_ULTRA 0xD8C #define CPU_PART_NEOVERSE_N3 0xD8E +#define CPU_PART_C1_PREMIUM 0xD90 /* Cavium Part numbers */ #define CPU_PART_THUNDERX 0x0A1 From nobody Thu Jan 15 14:50:58 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsG4yZYz6P426 for ; Thu, 15 Jan 2026 14:50: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 4dsQsG3RbZz3JLv for ; Thu, 15 Jan 2026 14:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a2pRT9W6m2g6255WHVtkbL0I3jKU091oH0aNpLIzSh0=; b=iVD/+RVE+m++025vdMlM72YqtzPqMiyabra6795Ok5W6tGdTgQuA41oy1RQDoNZ556uHwJ pKv4jC5aeKjSQlk/wv0pzaPNERDYYPXCH8NRpXMFZaOibvrqpdd6x05bnyB0M2hHbduLJP AD9yoWLdk9pYh7eupIaSY5gtw16p5XU4EdWPJXHUXYzuwTRR/+sniXdkCGT0DYRok2Xkwt LcrFnPUCILJIbulhMKAkb0JGHmosZUjrVSCUku4HmukCqbNcXYlBB/ZcpMbyAu+tKy1iyH aoz59PeFACXEk1jR8gbT2ZLF2DilJgo+Gxfi7uxtNKp3STXTS59V4faAE9t9+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a2pRT9W6m2g6255WHVtkbL0I3jKU091oH0aNpLIzSh0=; b=b1wo64xVOPzDmuvozV2p1c3VDf9DbjKy//SPoGCL5dNJ/k3Q8bkyApydWwrfKM0jj/tl6r wAiZBw221w8iqN3PO0sEJFU7pqDt8s5T3LasrRJg62e+2PJjSVVox6NeuXssuZXAfD02Mg iwztIPVE6blW2dO7jD8hXxvUVL006833xxKkoh8ClgAUnMSb0ITwwwzQz0J9b2qIs0M9sd c+XcDVbChIkLMyflQanLcS63OOrnBSsAgqLkNlUEgl1qSwEq0SAXxkiwPL15jvPYVA3wQv q3ZGgMlgHT9foeQNzZ+FZgEdZOg6qM2PDRhQdskMNVvuG6G09SBd4+rtZ8Tj9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488658; a=rsa-sha256; cv=none; b=pRrIcGecgfYuUJf5rmUz0qksBwGTlsxt2lod3WiKxV2GAwKU63i6uhM1owY8r6YST0bbaB j1Q0AGjxkNcySmzXN8xamHaxmty4u0nR1RYLw5XpRuKdkoe+D8+sP6BB+XZ+rxOKNDXpUZ jp6QSiKh2Aeq350LOj/7VIJh/o9pgGro8EbPC5ha0tMunH/6+3AjiKGmyoAuWkPEvqLjDd TwyjpYd+VWIJH2DsDJeWTErgaRv0XCiY+U40xfHAakT6EljY/0FT2k9HexkLZX1Xr+l3Rc OSsHoR1aWoPAH5YPwEa+Le8Tc4WP3veccPgmGF2UVvuEgyZuHkX0gEU6hLXzOQ== 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 4dsQsG2mRGzZ5c for ; Thu, 15 Jan 2026 14:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23691 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:50:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 3b24eedc93b7 - stable/14 - arm64: Add a new CPU feature framework 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3b24eedc93b77640280baf42b7ce560a32b0745b Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:50:58 +0000 Message-Id: <6968fed2.23691.23df8b11@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3b24eedc93b77640280baf42b7ce560a32b0745b commit 3b24eedc93b77640280baf42b7ce560a32b0745b Author: Andrew Turner AuthorDate: 2025-01-24 11:42:29 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:11 +0000 arm64: Add a new CPU feature framework This will be used to enable features that are discoverable on boot. It has support to check if a feature needs to be enabled, and if there is any errata associated with the feature that mean it shouldn't be enabled. It can also be used to enable errata workarounds that aren't associated with a specific feature, e.g. where we need to trap access to a register in userspace to emulate it. As some features need to be enabled early, while others can wait there are two options for when to enable a feature: * CPU_FEAT_EARLY_BOOT: The feature will be enabled early in the boot. On the boot CPU this is in initarm, while on secondary CPUs this is before signalling the CPU has started. * CPU_FEAT_AFTER_DEV: The feature will be enabled after devices have attached but before interrupts are enabled. There are also two scopes for where to enable the feature: * CPU_FEAT_PER_CPU: The feature will be checked and enabled on all CPU cores. * CPU_FEAT_SYSTEM: The feature will only be checked and enabled on a single core. It is expected the former will be used for most features, while the latter is for features that set a global variable to be checked. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D47812 (cherry picked from commit ac4fa5838bb33f0c3ba05fce02d41164bd84a560) --- sys/arm64/arm64/cpu_feat.c | 119 +++++++++++++++++++++++++++++++++++++++++++ sys/arm64/arm64/machdep.c | 4 ++ sys/arm64/arm64/mp_machdep.c | 5 ++ sys/arm64/include/cpu_feat.h | 88 ++++++++++++++++++++++++++++++++ sys/conf/files.arm64 | 1 + 5 files changed, 217 insertions(+) diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c new file mode 100644 index 000000000000..cc262394913d --- /dev/null +++ b/sys/arm64/arm64/cpu_feat.c @@ -0,0 +1,119 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Arm Ltd + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include +#include + +/* TODO: Make this a list if we ever grow a callback other than smccc_errata */ +static cpu_feat_errata_check_fn cpu_feat_check_cb = NULL; + +void +enable_cpu_feat(uint32_t stage) +{ + struct cpu_feat **featp, *feat; + uint32_t midr; + u_int errata_count, *errata_list; + cpu_feat_errata errata_status; + + MPASS((stage & ~CPU_FEAT_STAGE_MASK) == 0); + + midr = get_midr(); + SET_FOREACH(featp, cpu_feat_set) { + feat = *featp; + + /* Run the enablement code at the correct stage of boot */ + if ((feat->feat_flags & CPU_FEAT_STAGE_MASK) != stage) + continue; + + /* If the feature is system wide run on a single CPU */ + if ((feat->feat_flags & CPU_FEAT_SCOPE_MASK)==CPU_FEAT_SYSTEM && + PCPU_GET(cpuid) != 0) + continue; + + if (feat->feat_check != NULL && !feat->feat_check(feat, midr)) + continue; + + /* + * Check if the feature has any errata that may need a + * workaround applied (or it is to install the workaround for + * known errata. + */ + errata_status = ERRATA_NONE; + errata_list = NULL; + errata_count = 0; + if (feat->feat_has_errata != NULL) { + if (feat->feat_has_errata(feat, midr, &errata_list, + &errata_count)) { + /* Assume we are affected */ + errata_status = ERRATA_AFFECTED; + } + } + + if (errata_status == ERRATA_AFFECTED && + cpu_feat_check_cb != NULL) { + for (int i = 0; i < errata_count; i++) { + cpu_feat_errata new_status; + + /* Check if affected by this erratum */ + new_status = cpu_feat_check_cb(feat, + errata_list[i]); + if (new_status != ERRATA_UNKNOWN) { + errata_status = new_status; + errata_list = &errata_list[i]; + errata_count = 1; + break; + } + } + } + + /* Shouldn't be possible */ + MPASS(errata_status != ERRATA_UNKNOWN); + + feat->feat_enable(feat, errata_status, errata_list, + errata_count); + } +} + +static void +enable_cpu_feat_after_dev(void *dummy __unused) +{ + MPASS(PCPU_GET(cpuid) == 0); + enable_cpu_feat(CPU_FEAT_AFTER_DEV); +} +SYSINIT(enable_cpu_feat_after_dev, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE, + enable_cpu_feat_after_dev, NULL); + +void +cpu_feat_register_errata_check(cpu_feat_errata_check_fn cb) +{ + MPASS(cpu_feat_check_cb == NULL); + cpu_feat_check_cb = cb; +} diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index cdc812269542..bf7b9ea810e4 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -77,6 +77,7 @@ #include #include +#include #include #include #include @@ -990,6 +991,9 @@ initarm(struct arm64_bootparams *abp) panic("Invalid bus configuration: %s", kern_getenv("kern.cfg.order")); + /* Detect early CPU feature support */ + enable_cpu_feat(CPU_FEAT_EARLY_BOOT); + /* * Check if pointer authentication is available on this system, and * if so enable its use. This needs to be called before init_proc0 diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c index 8dc967b0ccb3..4d111472694b 100644 --- a/sys/arm64/arm64/mp_machdep.c +++ b/sys/arm64/arm64/mp_machdep.c @@ -57,6 +57,7 @@ #include #include +#include #include #include #include @@ -222,6 +223,9 @@ init_secondary(uint64_t cpu) /* Ensure the stores in identify_cpu have completed */ atomic_thread_fence_acq_rel(); + /* Detect early CPU feature support */ + enable_cpu_feat(CPU_FEAT_EARLY_BOOT); + /* Signal the BSP and spin until it has released all APs. */ atomic_add_int(&aps_started, 1); while (!atomic_load_int(&aps_ready)) @@ -239,6 +243,7 @@ init_secondary(uint64_t cpu) pcpup->pc_curpmap = pmap0; install_cpu_errata(); + enable_cpu_feat(CPU_FEAT_AFTER_DEV); intr_pic_init_secondary(); diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h new file mode 100644 index 000000000000..9fe6a9dd95d9 --- /dev/null +++ b/sys/arm64/include/cpu_feat.h @@ -0,0 +1,88 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Arm Ltd + * + * 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. + */ + +#ifndef _MACHINE_CPU_FEAT_H_ +#define _MACHINE_CPU_FEAT_H_ + +#include + +typedef enum { + ERRATA_UNKNOWN, /* Unknown erratum */ + ERRATA_NONE, /* No errata for this feature on this system. */ + ERRATA_AFFECTED, /* There is errata on this system. */ + ERRATA_FW_MITIGAION, /* There is errata, and a firmware */ + /* mitigation. The mitigation may need a */ + /* kernel component. */ +} cpu_feat_errata; + +#define CPU_FEAT_STAGE_MASK 0x00000001 +#define CPU_FEAT_EARLY_BOOT 0x00000000 +#define CPU_FEAT_AFTER_DEV 0x00000001 + +#define CPU_FEAT_SCOPE_MASK 0x00000010 +#define CPU_FEAT_PER_CPU 0x00000000 +#define CPU_FEAT_SYSTEM 0x00000010 + +struct cpu_feat; + +typedef bool (cpu_feat_check)(const struct cpu_feat *, u_int); +typedef bool (cpu_feat_has_errata)(const struct cpu_feat *, u_int, + u_int **, u_int *); +typedef void (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, + u_int *, u_int); + +struct cpu_feat { + const char *feat_name; + cpu_feat_check *feat_check; + cpu_feat_has_errata *feat_has_errata; + cpu_feat_enable *feat_enable; + uint32_t feat_flags; +}; +SET_DECLARE(cpu_feat_set, struct cpu_feat); + +/* + * Allow drivers to mark an erratum as worked around, e.g. the Errata + * Management ABI may know the workaround isn't needed on a given system. + */ +typedef cpu_feat_errata (*cpu_feat_errata_check_fn)(const struct cpu_feat *, + u_int); +void cpu_feat_register_errata_check(cpu_feat_errata_check_fn); + +void enable_cpu_feat(uint32_t); + +/* Check if an erratum is in the list of errata */ +static inline bool +cpu_feat_has_erratum(u_int *errata_list, u_int errata_count, u_int erratum) +{ + for (u_int i = 0; i < errata_count; i++) + if (errata_list[0] == erratum) + return (true); + + return (false); +} + +#endif /* _MACHINE_CPU_FEAT_H_ */ diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index cf2e1d22da88..cfb4bf358f45 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -32,6 +32,7 @@ arm64/arm64/busdma_machdep.c standard arm64/arm64/clock.c standard arm64/arm64/copyinout.S standard arm64/arm64/cpu_errata.c standard +arm64/arm64/cpu_feat.c standard arm64/arm64/cpufunc_asm.S standard arm64/arm64/db_disasm.c optional ddb arm64/arm64/db_interface.c optional ddb From nobody Thu Jan 15 14:51:00 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsK3S3fz6P4QD for ; Thu, 15 Jan 2026 14:51: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 4dsQsJ4gffz3JZD for ; Thu, 15 Jan 2026 14:51:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9EvCls/MKKDk3SOmjPpxajvIcoIuDzo+ZbI5u2IKuRQ=; b=lp8AS9DUTXqNYAXh/4m3R0hTo57E1zfSUIxdUC3TOPDIJeIX4lClwHSCyZLA34lUwm+71V C6UDzGN+iWXtvLFSwneEdm7lQkOH81juNTOwsYxVxLZ87+T1D9boy4t67KKstAi8OaSsCz hQmx4OPwKGXfL+v6+0RUHjf73v8L8iyLCT5Hfqi6wJHhdQRIlF7fEwz0poNXpwjf/tu92t 8YPAaU/o8smmYxl3njfPJstGQD5iSxCRh36njChSbhMPzjNfgawUwv74S0rucL0GgEFV2d soCOaMYSh/r711+9QedwZkLxahng0vFgs6TEpRbNkqwNo8E8m7ELBfnBiLtH7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9EvCls/MKKDk3SOmjPpxajvIcoIuDzo+ZbI5u2IKuRQ=; b=eVIL15m0J9ACjISSITqOBBiHoBv4AImlBummfMBUhPYjrxEdDANJz00PSdcFOuILU3+Aja VYRj/MkFddxR/KPvcsBq3mOGa0TsLmOEaLWza82S0ILJu2JNdxYD/Gs5w8IsaILc+L2X88 F4hQ3vbuLR5I8UHLgX7PnTveMGTyOYHNVXCPmNVrqga4dcJtO0TbuzIgnXqWfo3qT9abbS qPPsvXm5vv3p09ZmJGAkZRfcBDYbpNxItzoBouE0+aCByMe2haA6nrg1+Q89Uy01bogjG6 FLey1BioeXIqsPOPte1HVJYR3CvTYX0H5OA/XSKN6CluKJwQyT2LB8Lm5+U15A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488660; a=rsa-sha256; cv=none; b=u7eFMjJgsnxlX9X2Zgw349PxHoqCsrZ4D+hXRc7s1q8fI7W3SPzTVDvx4zHt1xeUuO0orF FjfmEc6FjiR7xZCyMCRsIdAyD8OPcgR7oCi5gAuauifE50hJuQK8ZC0wT8e7xkMhM96Qfk b/Brj6bBB+xVmLcwMdgKtFj4FI1co/0AnjKyqaZZ9udn/Mewhw5eDPFY3rGw3JtDVIiM0D OSQP9y1x2obb0VGAFTSnQNKjOBFaA9LUA5kOWAn5ct8miVBv0nFy2SkOOD2nNyWMSLlwyG CRIP8BNdylNw99yR3PrTHStk2/JLSRL4UWGLOiG22Ktff6ViDSillO8wLW2Eww== 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 4dsQsJ4HSgzYjW for ; Thu, 15 Jan 2026 14:51:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22ac7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: ddc20379099b - stable/14 - arm64: Add a sysctl to see if features are enabled 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ddc20379099b8c3fea87bc0a8f2c8b6585b1d0bc Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:00 +0000 Message-Id: <6968fed4.22ac7.3ee9bc0c@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ddc20379099b8c3fea87bc0a8f2c8b6585b1d0bc commit ddc20379099b8c3fea87bc0a8f2c8b6585b1d0bc Author: Andrew Turner AuthorDate: 2025-09-04 14:44:31 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:12 +0000 arm64: Add a sysctl to see if features are enabled This will also be used as a tunable to control features in a later change. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52357 (cherry picked from commit 9204a315a71c5aa9a9b8c11f2dcefb155dd5fc34) --- sys/arm64/arm64/cpu_feat.c | 7 +++++-- sys/arm64/include/cpu_feat.h | 13 ++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index cc262394913d..fd1b8429295f 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -32,6 +32,8 @@ #include #include +SYSCTL_NODE(_hw, OID_AUTO, feat, CTLFLAG_RD, 0, "CPU features/errata"); + /* TODO: Make this a list if we ever grow a callback other than smccc_errata */ static cpu_feat_errata_check_fn cpu_feat_check_cb = NULL; @@ -97,8 +99,9 @@ enable_cpu_feat(uint32_t stage) /* Shouldn't be possible */ MPASS(errata_status != ERRATA_UNKNOWN); - feat->feat_enable(feat, errata_status, errata_list, - errata_count); + if (feat->feat_enable(feat, errata_status, errata_list, + errata_count)) + feat->feat_enabled = true; } } diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index 6a0b2d78f526..f62f3e334dc1 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -29,6 +29,7 @@ #define _MACHINE_CPU_FEAT_H_ #include +#include typedef enum { ERRATA_UNKNOWN, /* Unknown erratum */ @@ -52,7 +53,7 @@ struct cpu_feat; typedef bool (cpu_feat_check)(const struct cpu_feat *, u_int); typedef bool (cpu_feat_has_errata)(const struct cpu_feat *, u_int, u_int **, u_int *); -typedef void (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, +typedef bool (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, u_int *, u_int); struct cpu_feat { @@ -61,18 +62,24 @@ struct cpu_feat { cpu_feat_has_errata *feat_has_errata; cpu_feat_enable *feat_enable; uint32_t feat_flags; + bool feat_enabled; }; SET_DECLARE(cpu_feat_set, struct cpu_feat); -#define CPU_FEAT(name, check, has_errata, enable, flags) \ +SYSCTL_DECL(_hw_feat); + +#define CPU_FEAT(name, descr, check, has_errata, enable, flags) \ static struct cpu_feat name = { \ .feat_name = #name, \ .feat_check = check, \ .feat_has_errata = has_errata, \ .feat_enable = enable, \ .feat_flags = flags, \ + .feat_enabled = false, \ }; \ -DATA_SET(cpu_feat_set, name) +DATA_SET(cpu_feat_set, name); \ +SYSCTL_BOOL(_hw_feat, OID_AUTO, name, CTLFLAG_RD, &name.feat_enabled, \ + 0, descr) /* * Allow drivers to mark an erratum as worked around, e.g. the Errata From nobody Thu Jan 15 14:50:59 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsJ0bQvz6P4Sm for ; Thu, 15 Jan 2026 14:51:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsH5Rz3z3JM9 for ; Thu, 15 Jan 2026 14:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FFK19PcdKl4KX/cG5JOzwhZBgFjquLQreUVqCUmqa0M=; b=EfCBftaRbo3/k1DIu95yN4Z/FoildrI5efMIrzL3BKuxzx/V/zN1q/Ltqd7CMIq2rkysmI RnQlooU9WPV7hb932RpeUAr2jLVG5obXVeKRkHm3IqugL9/uxN5YjlwyjMIohmBVsGxE1J ctMvSXl5YfOcDj+rhrTn24Pp5hz7I2zCSZmaweS+7ntcUnKx2jyT+Ug4djeUrcQChG87Ar ZDC/9OoyiDDPwPfAvQiQ5J7gQuv+7RA23m2Q4IWG8/klzDDqha2wVVIw14SxJqR8C6jc9Y 8kQiDe/rVN9V1kgSl5QQf+DXOe50MI5NuwyKJ+oj4T9VNc7XSBL3TfpFdeWoFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FFK19PcdKl4KX/cG5JOzwhZBgFjquLQreUVqCUmqa0M=; b=KaH7LF25Tt3KWDIctAc4pT5DmLmuw4jcUyEu5TvLinRzy9ppXXKw2XBc3iAGZvxSmNiCn6 k2iAkL/QnYXzhbXSXso/MKhCcz4OD1t6UrPhkIr5nZOoXpboROPSFLw3qIton1moqU+jAe 0HQ/nzHGv3j+OCpgqEClbbEZCiB+7IPVdINSD5b3p45f6Yh4FluQ+xQa63qp7Vcjvuiah6 eT92l8BpkqhTOrgjsr9gOGCNwQHHzyenzDpC++/UW+mi7voIMzysSZMHquyNNuokNcYNtC X0AUawFhwNPQVH0qnJwVEdp5zSO2Jpa17NIjlxcetGe6M37z+yufirZwi6U3hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488659; a=rsa-sha256; cv=none; b=I0QFKsxcpLpSWDK/u1XS8mNrm9SdVltrRKjqXdnWjqHiJRUUex43mmsIqc53EEzHYJTTFm DqY59In9zHagjVHQX2kFjmN9GXQknPLMnLjpOPdrehN1ecbK+maBHGrLv8NiaCdhSIXgyF VvgHNcI8A3KGMSmr9YK7LCCMNiNlygEULoJxd0rzI3/BYmFNI6jq3IwfqF1rm0ON7wWlYx NlxioYH+CCPii3lUhbfiCGj7DHNgFY6gCOLMVnm+g+4BTPBYzQW4hJhzgASP/kcIZlFNw0 5RYC4PoH/KtZ7gGCdcMTm+Dt3nevIV9FJxdA4OSpM2MOINoVK7iGk1efVpJawA== 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 4dsQsH3VtBzYwL for ; Thu, 15 Jan 2026 14:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 224bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:50:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 1c375ad453c0 - stable/14 - arm64: Add a macro to create cpu_feat 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1c375ad453c000f64aa4f48eb4709bd5d3383bf7 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:50:59 +0000 Message-Id: <6968fed3.224bd.7d6614ba@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1c375ad453c000f64aa4f48eb4709bd5d3383bf7 commit 1c375ad453c000f64aa4f48eb4709bd5d3383bf7 Author: Andrew Turner AuthorDate: 2025-09-04 14:23:23 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:11 +0000 arm64: Add a macro to create cpu_feat This will be used later to extend cpu feature detection Reviewed by: imp (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52356 (cherry picked from commit b3605a7bb6f8c58d939e642671ce70b0ce39b95e) --- sys/arm64/include/cpu_feat.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index 9fe6a9dd95d9..6a0b2d78f526 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -64,6 +64,16 @@ struct cpu_feat { }; SET_DECLARE(cpu_feat_set, struct cpu_feat); +#define CPU_FEAT(name, check, has_errata, enable, flags) \ +static struct cpu_feat name = { \ + .feat_name = #name, \ + .feat_check = check, \ + .feat_has_errata = has_errata, \ + .feat_enable = enable, \ + .feat_flags = flags, \ +}; \ +DATA_SET(cpu_feat_set, name) + /* * Allow drivers to mark an erratum as worked around, e.g. the Errata * Management ABI may know the workaround isn't needed on a given system. From nobody Thu Jan 15 14:51:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsL3sZbz6P4X1 for ; Thu, 15 Jan 2026 14:51:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsK5fcHz3JTt for ; Thu, 15 Jan 2026 14:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3F4kVXxT9O4XCSvUMMZi8dd3vLvXvl0I4BHPys5gIqk=; b=HrnnnFgMgLxc6xLvu2girI15tSIxeTnyB0Xj1Hq60VVHdzWTq3ZTC80TM3uvb62ybhvX+q sC3thfzrvdAhdgY1Ok1SkvQhGmqkYnxyjNlhLXDKSbEAM6VFZKHKsFGWYslzxmA07T90DQ iUhyiv6R+O+admYtV6OfCaBK6a3LlzS/IWBsLLkPZH/BUtip2jWsL0LzVuudIQJSGbTOB7 7MH/jHMO2I9ITRK8f/Uv1iOpUwkBbHDzVfx2ckgmA7PEEhw44qqZu9yBYMk+wI7gLCdSpd YbeVbET6ASfZ6+zVFBpfPs3ddH300+cUnvo05vVpQlF9LhKIMOhnMD1n1siDAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3F4kVXxT9O4XCSvUMMZi8dd3vLvXvl0I4BHPys5gIqk=; b=YREaCx73/NkwsSGKukXX8Xl8/P04IhojseVSjz+gy9Xzd3Jh/6FjBod3SCnNBEIgEg4jd4 UnLjhDCI8IEWrlWUVaeUSFejf8uyUZvsaR5SIbwf8rPAMqZqNkjUhC0lHwBL0Bs8zZvAxs DidDTIsv6r1XDoi1yb1YvpaZmFS+NerP/8kzlRt3ntnjpoDK/GdaJsHhHqA58xDeB+UkfF /Uu0sIjjLuF79QY0BiK06buFYQRGMS1LxFuZhj6YOPCyo3oU9QvJlJQRY+29cSR1JZVU10 QKRoteTWqAYSECZ8IAb3lwXzm86WI2nVXCEzqP8gLPhcwItkRepxigo72ExCpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488661; a=rsa-sha256; cv=none; b=qcO4WjNxwKqsNddQyvw8EqfSXJFbT/LZSE7PU4mo+1ImAydEZOYBr80SXtq7r83njPmYIA LotgkQCRSdmu5eX3NcqsGk5Os7Gybpvuem19f9QXQCFDDUyTa1FOcCQ8bz8QAaQKcGNWg7 zVbCOX45nGKF/WkP6j/ZDbALSnmNBXV2gTU1coJCi1n6z3u74hHLW9ZVXFJ96FlFcLZoHg h8LdFmMh/pR19t7NHs4WWuTsQ0+8f/Za6+fky1VvNdFiKmU3Z2y9nzdWjZ3mFfFHm83J4+ TgT+XFgX3Pog1UCOsTe8fFICK0a9rRc2jKP5I0Axf62UU63zVthnNUzcnXbVzQ== 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 4dsQsK53YGzYjX for ; Thu, 15 Jan 2026 14:51:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 221de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 2210c15b08b9 - stable/14 - arm64: Support managing features from loader 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2210c15b08b9f70054d4de46a5a8566d395e0abe Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:01 +0000 Message-Id: <6968fed5.221de.23055389@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2210c15b08b9f70054d4de46a5a8566d395e0abe commit 2210c15b08b9f70054d4de46a5a8566d395e0abe Author: Andrew Turner AuthorDate: 2025-09-04 14:45:09 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:12 +0000 arm64: Support managing features from loader Allow the user to enable/disable supported cpu features/errata from a known tunable. This will allow the user to disable features, e.g. to work around broken firmware. It can also be used to enable workarounds for rare errata. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52358 (cherry picked from commit 4bc68fa98f68211ee7943d77cfc91f60ccb5880d) --- sys/arm64/arm64/cpu_feat.c | 22 +++++++++++++++++++++- sys/arm64/include/cpu_feat.h | 27 ++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index fd1b8429295f..986d5079e980 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -40,10 +40,13 @@ static cpu_feat_errata_check_fn cpu_feat_check_cb = NULL; void enable_cpu_feat(uint32_t stage) { + char tunable[32]; struct cpu_feat **featp, *feat; uint32_t midr; u_int errata_count, *errata_list; cpu_feat_errata errata_status; + cpu_feat_en check_status; + bool val; MPASS((stage & ~CPU_FEAT_STAGE_MASK) == 0); @@ -60,9 +63,26 @@ enable_cpu_feat(uint32_t stage) PCPU_GET(cpuid) != 0) continue; - if (feat->feat_check != NULL && !feat->feat_check(feat, midr)) + if (feat->feat_check != NULL) continue; + check_status = feat->feat_check(feat, midr); + /* Ignore features that are not present */ + if (check_status == FEAT_ALWAYS_DISABLE) + continue; + + snprintf(tunable, sizeof(tunable), "hw.feat.%s", + feat->feat_name); + if (TUNABLE_BOOL_FETCH(tunable, &val)) { + /* Is the feature disabled by the tunable? */ + if (!val) + continue; + /* If enabled by the tunable then enable it */ + } else if (check_status == FEAT_DEFAULT_DISABLE) { + /* No tunable set and disabled by default */ + continue; + } + /* * Check if the feature has any errata that may need a * workaround applied (or it is to install the workaround for diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index f62f3e334dc1..6a554b6baedf 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -40,6 +40,31 @@ typedef enum { /* kernel component. */ } cpu_feat_errata; +typedef enum { + /* + * Don't implement the feature or erratum wrokarount, + * e.g. the feature is not implemented or erratum is + * for another CPU. + */ + FEAT_ALWAYS_DISABLE, + + /* + * Disable by default, but allow the user to enable, + * e.g. For a rare erratum with a workaround, Arm + * Category B (rare) or similar. + */ + FEAT_DEFAULT_DISABLE, + + /* + * Enabled by default, bit allow the user to disable, + * e.g. For a common erratum with a workaround, Arm + * Category A or B or similar. + */ + FEAT_DEFAULT_ENABLE, + + /* We could add FEAT_ALWAYS_ENABLE if a need was found. */ +} cpu_feat_en; + #define CPU_FEAT_STAGE_MASK 0x00000001 #define CPU_FEAT_EARLY_BOOT 0x00000000 #define CPU_FEAT_AFTER_DEV 0x00000001 @@ -50,7 +75,7 @@ typedef enum { struct cpu_feat; -typedef bool (cpu_feat_check)(const struct cpu_feat *, u_int); +typedef cpu_feat_en (cpu_feat_check)(const struct cpu_feat *, u_int); typedef bool (cpu_feat_has_errata)(const struct cpu_feat *, u_int, u_int **, u_int *); typedef bool (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, From nobody Thu Jan 15 14:51:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsN3T1wz6P4ZW for ; Thu, 15 Jan 2026 14:51: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 4dsQsN0YtSz3JXL for ; Thu, 15 Jan 2026 14:51:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VIsJ47AAmftuSMVH5xor7+5mm8IPybhe/eTyFwUosHk=; b=U34sfi3pn3rB/JCIcj8IqO3dqU8Wd9EojMPt7oGrxMWreb2hedMu4y5BFeQrUn+htAhzPE 7lGDjovKn7MGz+mGsWtrqU613WRQ3uaEKkFCSEjwTZ0Yw6gjWa/7wfSLw4PvVlapdc7qUH 3C8oe0dkFUmaGDwvVTM44lG1GiDqs+o7DpLf4H55GnpmhK/JYLXuqrPZsK4oeqVDvMWFWQ AXd3ZHPkpmk5+qYwJDdp6qL14m+74c3/BE1FW8id7D9NQWJ/tw8n5yWqNHAIgDk19INwBI J/5NZJlS+0ruBT6/yORKGR1nKco3QX7HO2oco0+ntNIJgKsZkrzIosgQ0VnneQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VIsJ47AAmftuSMVH5xor7+5mm8IPybhe/eTyFwUosHk=; b=EMRMTQipLNUrNjSf4oeQhnAcTpoyrL9jEG/L7FIHPqdxkLxtQ/DIxpNSjz0WYkv78UrAYC lB7I0gnvyCn84aF02Zt1c00GFqxP9tDp5amuH3Z7hIjWlizYbzSC+GXLnV4N9FERQSwNOi 5F9SfYGQ4PL279d5XgwVrpHBkyBx049xFuyaifcEd5kSjseGgA6rsbroSuf0uE12sMuJeQ t8Cq3TIuj75gE9S46wlpIoOypLpoGxjtYOLbYGf2FpYcAio7eQK11VHaRtq+t/fPB/oif+ I1HZHjDYHBxGczn5r0gmDxtEuhLXIrvfh8wKCvMboEcb1/klYNpHmZWdAKRkzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488664; a=rsa-sha256; cv=none; b=rR4TySybnKb1uej160+BfKzOTCJKex0OifCsQd/kuQdBX4064vcx5MMDD6YUeCLKxKEnra vYA/OsT6rba954MxUp8GSFOpB/nq1QhRQ66Iaod4NvZnVb4tlwXkMqRuNVO1ULKWcjPLSY zMxEf6V31Xspg2elEsJ1LCPu31VcuNIHb0b4kztq/f2NPH7btWMpXajtHop0qN+7TChQ+E CDuDPYLgbA76oDSzlO62ZFIdIeISMVBuY2SVIIYwDRPWWv5dFB0PPcOPXCRCXig5L8HxcD l/kS+qLIbybFkKCl9UlTvqZmCQBrx+PZm2wYiSofsHoo/cDg50zhdmZtY97bxw== 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 4dsQsM6Zc5zZ5k for ; Thu, 15 Jan 2026 14:51:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 221e2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: e79e4c7031a4 - stable/14 - arm64: Add cpu_feat_disabled for disabled features 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e79e4c7031a444ac4d8466bc9834d2f4c3d31132 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:03 +0000 Message-Id: <6968fed7.221e2.502cbff5@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e79e4c7031a444ac4d8466bc9834d2f4c3d31132 commit e79e4c7031a444ac4d8466bc9834d2f4c3d31132 Author: Andrew Turner AuthorDate: 2025-09-19 10:05:46 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:13 +0000 arm64: Add cpu_feat_disabled for disabled features When a feature is disabled we may need to run a cleanup handler, e.g. to remove a feature from the sanitized ID registers. Add support for this with a new feat_disabled handler. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52577 (cherry picked from commit 055229eda697445880edd0050d0230a3f1bc85b3) --- sys/arm64/arm64/cpu_feat.c | 10 +++++++--- sys/arm64/include/cpu_feat.h | 5 ++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index 6aec0fdf8a78..11d42d5f3561 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -70,18 +70,18 @@ enable_cpu_feat(uint32_t stage) } /* Ignore features that are not present */ if (check_status == FEAT_ALWAYS_DISABLE) - continue; + goto next; snprintf(tunable, sizeof(tunable), "hw.feat.%s", feat->feat_name); if (TUNABLE_BOOL_FETCH(tunable, &val)) { /* Is the feature disabled by the tunable? */ if (!val) - continue; + goto next; /* If enabled by the tunable then enable it */ } else if (check_status == FEAT_DEFAULT_DISABLE) { /* No tunable set and disabled by default */ - continue; + goto next; } /* @@ -123,6 +123,10 @@ enable_cpu_feat(uint32_t stage) if (feat->feat_enable(feat, errata_status, errata_list, errata_count)) feat->feat_enabled = true; + +next: + if (!feat->feat_enabled && feat->feat_disabled != NULL) + feat->feat_disabled(feat); } } diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index 6a554b6baedf..20c743a7e507 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -80,12 +80,14 @@ typedef bool (cpu_feat_has_errata)(const struct cpu_feat *, u_int, u_int **, u_int *); typedef bool (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, u_int *, u_int); +typedef void (cpu_feat_disabled)(const struct cpu_feat *); struct cpu_feat { const char *feat_name; cpu_feat_check *feat_check; cpu_feat_has_errata *feat_has_errata; cpu_feat_enable *feat_enable; + cpu_feat_disabled *feat_disabled; uint32_t feat_flags; bool feat_enabled; }; @@ -93,12 +95,13 @@ SET_DECLARE(cpu_feat_set, struct cpu_feat); SYSCTL_DECL(_hw_feat); -#define CPU_FEAT(name, descr, check, has_errata, enable, flags) \ +#define CPU_FEAT(name, descr, check, has_errata, enable, disabled, flags) \ static struct cpu_feat name = { \ .feat_name = #name, \ .feat_check = check, \ .feat_has_errata = has_errata, \ .feat_enable = enable, \ + .feat_disabled = disabled, \ .feat_flags = flags, \ .feat_enabled = false, \ }; \ From nobody Thu Jan 15 14:51:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsM2Thzz6P4ZR for ; Thu, 15 Jan 2026 14:51:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsL6N5sz3JPd for ; Thu, 15 Jan 2026 14:51:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qGypGlioopK9WmpJNLvnTPij5S/vBwPbHm5GkfeoG7c=; b=vkegjDFFlP8FCTzm25Np2FxiyM70o1sZMJMlR9vmVW+eZEMxhCiIjTrWNhyOs7UMe/PfTl /B5Ej7NGthHrJaz0bx3wDfKl7B0CDxJkve7qa7cA6aqG1JgFTZc+lBii9hK42mA+L0GLrO 7YutB3Syq8wnM5i5wbVrF/bgTvrCfIjWP9h3JN5r7b+lS3IP+f9qEfXcqiQ1qTKIi/gh9d CBkYAdHXfwmoN7LBqZUpG2Egs48OSadFRMGAcIQmhz/9Dnn6T2FMMKTh8CUpvu6qNE6Sp7 HC6yGqZ4XB/hKjSPrB8G9IXD3VlANXEHLsLu/C5Ia3TwhbreKFN1xdM5zsgHJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qGypGlioopK9WmpJNLvnTPij5S/vBwPbHm5GkfeoG7c=; b=NT1GO2yHRHwR0ouLqbaU3/sH5haQ+fED3HB6/LdaAyHbBeE5C7xQp0Zqi8EziP/ynxydaF 9Bgmovq+4PkzpKIjBTZjVERmr7+SS5LIvzzGtEFRGWWgWRa4XRUPkkkOq6qjaOQrx3B+6Y g8LKe7OpmImY/bIygGgO2OFsmkwpz9kWHFLsAV/JAlc9ZYvmKpPnhPdC7aJjwJbBJD7TCc 8VIlcoePYwacoO+1ylBTweD9s5yUEjuwV6yiPLHgOn8LMoumPiePEh42QhunMCZ7MO0Wez HhW9OujPLUYMHuWeMkeYwx8EbEhb/gdbjtHZVef2rRPYwRaLeiJtBqBrz6AoHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488662; a=rsa-sha256; cv=none; b=S4np2IVImdqZAZI25mIgj031u4MOK0Bzbu3eBn4is6wfuCPMg85nRkAlWhEAYiSbx/GQWM kAhn7IuJwwDaw0YkiY08XjBAmNcTSsczbA98fQxdET8imxGjfItcs4bQWLnD3GLQ1CyVPp UXZdiHLi4Avqdxk3LWR8ZZ8VY/qbg+Iq9pDCIIRa2CXQbM2sZmWGEC/n9up/LUjSfKTaqt 8rZYIqrsvItHSTfvbqy21DYV4fmNs0oREuqs1Wwyv7rFMsT+hA1MZ48LmV00o/JwbSpuV/ 4Xdfbd7Fqg1ZGCrGXpOMKc3/wMc/wKTrvp+mxL5jwm3JGS+miLPj2s+7klMIOg== 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 4dsQsL5nfrzZ5h for ; Thu, 15 Jan 2026 14:51:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23715 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 68d8de27c94d - stable/14 - arm64: Fix enabling CPU features 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 68d8de27c94d585980a99e22fed60171bcaed2ef Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:02 +0000 Message-Id: <6968fed6.23715.502cfe06@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=68d8de27c94d585980a99e22fed60171bcaed2ef commit 68d8de27c94d585980a99e22fed60171bcaed2ef Author: Andrew Turner AuthorDate: 2025-09-19 10:05:47 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:13 +0000 arm64: Fix enabling CPU features Previously when enabling CPU feature we assumed the no check function means the feature was unconditionally enabled. When adding support to disable features on boot this check was incorrectly partially left in place. As all current features have a check function this meant all features were disabled. Fix this by restoring the previous behaviour while also allowing the user to disable the feature. Reviewed by: emaste Fixes: 4bc68fa98f68 ("arm64: Support managing features from loader") Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52579 (cherry picked from commit 5e690f1e12ce8699f16019854dfffd1857a801d8) --- sys/arm64/arm64/cpu_feat.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index 986d5079e980..6aec0fdf8a78 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -63,10 +63,11 @@ enable_cpu_feat(uint32_t stage) PCPU_GET(cpuid) != 0) continue; - if (feat->feat_check != NULL) - continue; - - check_status = feat->feat_check(feat, midr); + if (feat->feat_check != NULL) { + check_status = feat->feat_check(feat, midr); + } else { + check_status = FEAT_DEFAULT_ENABLE; + } /* Ignore features that are not present */ if (check_status == FEAT_ALWAYS_DISABLE) continue; From nobody Thu Jan 15 14:51:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsP5bV6z6P4fn for ; Thu, 15 Jan 2026 14:51:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsP0jsjz3Jjf for ; Thu, 15 Jan 2026 14:51:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F9LFo84wfTVFZRgBp+vvWUmQ3P73LfK0PiqD/m4K2vE=; b=Moef2Ju6cGHwzBuMX61Cmw1D3n/WAZbJ/8JgpcJIarEOBM/klXTTM8AZhFSYUFZrdTrH6Q 0EllNs2DpKBRiqRODxH8Zg1tCUI+r0G8VfXt44PSzSnQOhuHjq06znm5DS8Y2uYF1Wg7Uk g7Qs/VdlkdT6aUl/pkdkxAc16qDfBfKMlyYi7G2v6bRgitxARM628XrhF102R0aMmTuUkg ONMvlnNlOcpmX1DduCm6bgpyh/uk6peAOeboCD2XajgeqEsQIpBicczC4sHrifO4A4tMSZ BQKQGwAfr2jye/rvp4Qbx9HSP1ikorASzoSri7NPAXeJzJ/fNh1165B6M/e5Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F9LFo84wfTVFZRgBp+vvWUmQ3P73LfK0PiqD/m4K2vE=; b=mAUtmxR8VwufXYXGHRBzYQ/C66QI12TDT0ccsuNi5LAFSSxT8/Be/38wmY4IU+22i2KjEO YnCKT+G87+uR9AUDWHjawspuEyFk6Ba1uYgATqrKpkPnfSwspHOR2FmACnlnckp67A7XZj 1Sx61XGATmt/wETgO2HXQFY9kH8Jl85S2JopbknUMBR+r42ipgPtwaaZewQlvciqOY7edi bx6+j2reFoHcoQiVWjiEtA6TK6u0u37zWOOaTv0OX0lkhzDtvcctnyw/suTljwKKFieG0D fkuuPtQ2cvN3ekyFiDwGRS6if43YgQUH1OviM1CqXiUp+rpkbzZTQyobBY3PNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488665; a=rsa-sha256; cv=none; b=ZPd+5b5j932eJv6reHpcYlAecNcSsdBTW+Va1Y32LbKfeiX6qjRHYlD1sdjt8c+uuIDicl OJ/ky12ijzDjZAj529b+W5kvstvaYymWl7+P3Gl3Sb8gs3b7u2SViQfDfilqjF2S0+V7zr mykn2q50DPB/5JowAGWE2XsSaqJOT4V2lx/rk/Wv76hf83ZcwshhsN19J0oybW8TnoKtt5 zr/3eQb9DII7VHDJA0yHK5LiWQZOnM6YtB4rI2+b9a64z2c84thMMJ4qlwXSmePOOTZZ4g MYUjk2vOHcM/O0oT5vlDZl8xEZaW64OUJqFC62qRgoFa/sTykYwFsF1wtjjHJA== 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 4dsQsP0FhNzY5m for ; Thu, 15 Jan 2026 14:51:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22acb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 5b364c721f8e - stable/14 - arm64: Read the CPU feature tunables once 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b364c721f8e85c54f1bcfa073f7c59f29e494ba Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:05 +0000 Message-Id: <6968fed9.22acb.29e6241a@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5b364c721f8e85c54f1bcfa073f7c59f29e494ba commit 5b364c721f8e85c54f1bcfa073f7c59f29e494ba Author: Andrew Turner AuthorDate: 2025-09-19 10:05:47 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:14 +0000 arm64: Read the CPU feature tunables once Rather than reading the CPU tunables each time we enable a feature just read them once on boot. Reading them early on non-boot CPUs causes issues where they try to allocate memory before the core is set up to do so. As they don't change it is safe to cache the state of them. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52578 (cherry picked from commit 5e0e2565288f3d1f1b4223d8bb53c7d70e0aa92c) --- sys/arm64/arm64/cpu_feat.c | 35 +++++++++++++++++++++++++---------- sys/arm64/include/cpu_feat.h | 3 +++ 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index 11d42d5f3561..94114d47f846 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -54,6 +54,21 @@ enable_cpu_feat(uint32_t stage) SET_FOREACH(featp, cpu_feat_set) { feat = *featp; + /* Read any tunable the user may have set */ + if (stage == CPU_FEAT_EARLY_BOOT && PCPU_GET(cpuid) == 0) { + snprintf(tunable, sizeof(tunable), "hw.feat.%s", + feat->feat_name); + if (TUNABLE_BOOL_FETCH(tunable, &val)) { + if (val) { + feat->feat_flags |= + CPU_FEAT_USER_ENABLED; + } else { + feat->feat_flags |= + CPU_FEAT_USER_DISABLED; + } + } + } + /* Run the enablement code at the correct stage of boot */ if ((feat->feat_flags & CPU_FEAT_STAGE_MASK) != stage) continue; @@ -72,17 +87,17 @@ enable_cpu_feat(uint32_t stage) if (check_status == FEAT_ALWAYS_DISABLE) goto next; - snprintf(tunable, sizeof(tunable), "hw.feat.%s", - feat->feat_name); - if (TUNABLE_BOOL_FETCH(tunable, &val)) { - /* Is the feature disabled by the tunable? */ - if (!val) - goto next; - /* If enabled by the tunable then enable it */ - } else if (check_status == FEAT_DEFAULT_DISABLE) { - /* No tunable set and disabled by default */ + /* The user disabled the feature */ + if ((feat->feat_flags & CPU_FEAT_USER_DISABLED) != 0) + goto next; + + /* + * The feature was disabled by default and the user + * didn't enable it then skip. + */ + if (check_status == FEAT_DEFAULT_DISABLE && + (feat->feat_flags & CPU_FEAT_USER_ENABLED) == 0) goto next; - } /* * Check if the feature has any errata that may need a diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index 20c743a7e507..6a311d4000bb 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -73,6 +73,9 @@ typedef enum { #define CPU_FEAT_PER_CPU 0x00000000 #define CPU_FEAT_SYSTEM 0x00000010 +#define CPU_FEAT_USER_ENABLED 0x40000000 +#define CPU_FEAT_USER_DISABLED 0x80000000 + struct cpu_feat; typedef cpu_feat_en (cpu_feat_check)(const struct cpu_feat *, u_int); From nobody Thu Jan 15 14:51:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsR3mtCz6P4Th for ; Thu, 15 Jan 2026 14:51: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 4dsQsR229pz3JhD for ; Thu, 15 Jan 2026 14:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1lIu4f5S936os7yXqRjGr5JGUemOVwyHgm1xzQ3TCc=; b=tHJtT1v7sxJ7YVLmoGKYJJZwxl7tRrRCOQrvSnqB7w3ONY7W1UUVR2DGpKx1lbNkpbMbP5 wfc0RooxZBTATeMiZROcyUFg8VLXXrv8YZd1B8TXopEKjy94XN5ecz51Yda40s4ZoVi10o 6/kcP0tMsAKV+virvB7hu9cDd9gxXzPwGvCCFupOuaAl0/esoovx31BkfkBFKs34XLQtRm 2Ob7YmtSBGLH0MEYwMe2ytFc6ZQeE1d7SzHxOsixYyWWOw2uKkd5f43x9rz1f5s9rjUP8S It/ukuZlLpT/0emuhDDUxjxHCYe+MH2j4BFEBNb4Hupc34gY0viY/MNYjyZkrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1lIu4f5S936os7yXqRjGr5JGUemOVwyHgm1xzQ3TCc=; b=cpjlCjB4Ll3+UEGYy1YI9SRuQGOHunVNi1GB70K6qIfw4gO+ABTivDE9VW27hUU63Oh8tW +NXE/5uxcWwjgq7zpUVW91MD7Ee+Lqgf6yVT6STngkUGAytoYq55v2APoBxpPAqB3vGx3Z JBYJWdfQ97DMxCz0E6huyxJsLegJZRII0lg5bV22KLQ8dl2gDTXGGmTP8ae9mBMUJcxxeq ymauBnibyiqMfGduR0ZwZpeWejoaAnr1zzVHT6hL2E12rvt4dXtYlkRAQPYYbz2ILICCrO 2TXeelX6bzHxizL6bGd+OquCNQtQbFB2+MJa9C8Elvl0O5jme0cgzlvxpIhmLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488667; a=rsa-sha256; cv=none; b=ko+cY8mc4ZMyWJERKd0pMSh2PncHaFBpxgubyq5h2HWHxfvNAMgec7OgQXdt0hj6cR0aut jg5o4tvLBVqstJiZcjNVGn/IcEzgLCFd6YrKb3/bCVUnZIRXdtT9Gr/n/DKW/iMxW2l56j 1GOaSstSHjYbU6bYWrKlClh5cQZtCEzKvxCbQqWOOhg3pTn66Vm0mUP71tA1pPi5MFIAZJ p0j1HynZbH1YWO2+aZtKzjNHpqDxPcmdQ1jBJPUXajjeR2SYxYmDK4orcsthGax/eUCp1w Z5PsLNNDEaKMDijOh+USH8cMK92xM5GNOSQg43lmURmMVozrLEemyIT6dBtJxQ== 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 4dsQsR1R0QzYkt for ; Thu, 15 Jan 2026 14:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23801 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 972c4dc33bd7 - stable/14 - arm64: Replace cpu_tlb_flushID in initarm 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 972c4dc33bd76495581f4067234ca73865d65e09 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:07 +0000 Message-Id: <6968fedb.23801.6af63e5@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=972c4dc33bd76495581f4067234ca73865d65e09 commit 972c4dc33bd76495581f4067234ca73865d65e09 Author: Andrew Turner AuthorDate: 2025-09-04 17:24:30 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:15 +0000 arm64: Replace cpu_tlb_flushID in initarm Replace cpu_tlb_flushID with pmap_s1_invalidate_all_kernel in initarm. They are identical in the SMP case. Reviewed by: alc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52184 (cherry picked from commit fa23bfb425d53a87064d86ec9ae0ae5e31aa5d5b) --- sys/arm64/arm64/machdep.c | 2 +- sys/arm64/arm64/pmap.c | 4 +--- sys/arm64/include/pmap.h | 2 ++ 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index bf7b9ea810e4..7599e5301223 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -985,7 +985,7 @@ initarm(struct arm64_bootparams *abp) cninit(); set_ttbr0(abp->kern_ttbr0); - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); if (!valid) panic("Invalid bus configuration: %s", diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index b25c862b8ea3..f4b2e0d4e895 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -194,8 +194,6 @@ __exclusive_cache_line static struct pmap_large_md_page pv_dummy_large; #define pv_dummy pv_dummy_large.pv_page __read_mostly static struct pmap_large_md_page *pv_table; -static __inline void pmap_s1_invalidate_all_kernel(void); - static struct pmap_large_md_page * _pa_to_pmdp(vm_paddr_t pa) { @@ -1730,7 +1728,7 @@ pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pmap_s2_invalidate_range(pmap, sva, eva, final_only); } -static __inline void +void pmap_s1_invalidate_all_kernel(void) { dsb(ishst); diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index a250b5a20420..5b5b4eb9f59b 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -166,6 +166,8 @@ int pmap_fault(pmap_t, uint64_t, uint64_t); struct pcb *pmap_switch(struct thread *); +void pmap_s1_invalidate_all_kernel(void); + extern void (*pmap_clean_stage2_tlbi)(void); extern void (*pmap_invalidate_vpipt_icache)(void); extern void (*pmap_stage2_invalidate_range)(uint64_t, vm_offset_t, vm_offset_t, From nobody Thu Jan 15 14:51:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsQ4sVdz6P4XB for ; Thu, 15 Jan 2026 14:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsQ13xXz3Jjl for ; Thu, 15 Jan 2026 14:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kard8ev3eLkvF00cqLGY81Y8E4e70tNChUrCXKm00+w=; b=jSxkBTe/bbTaWlXGJtxRyvePw84OdVhVSun1cUjFjSZTT1CPEZDwRDqCMEMscgOleW7Qqh nEKXqOl9eRrKX1OI+yDzeisCo90d1O+5PTbt+7mtMfPnMiElKlKqMGx7FK9JD8zjhRa1k5 DsUHsUTnAB6fbb1DczOEuJX9Gm9NL0qqsNKMEl5UuZb3JjBRX3pUKly5pAdw34/W0QyFNY FotBLI+2PriJbmrm8rYVdKZ8jmLfy4kGyZ5wHzQ0zDYVq9nyS3tQLX8IxinXpbVkcdJYSJ 8dYdhgTJJ9oPmoXT6EAxdh8YajhoOkF0Xrt3esGgPGeSN1jaF6ei7IicUhestg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kard8ev3eLkvF00cqLGY81Y8E4e70tNChUrCXKm00+w=; b=V19Aiq0w2vQI1+gjkSgip43FXrL7MNIKSdpt6QH1TicrNZX6uHeArhCGgYlMODQGQSzDX1 gZhfGGuFq8V5ZtoaWBaL4A9Re+FXPeauCBTMgi4Yjs5kBoKfpkKtktXb5fiUlsxUWSlsqq IDhZVb5s8Rhmr8ZmtoiKsFyAyDpUiSp6vyZSA+hMAnOJHdKuEaV6cGFdSq8CBrI2yXfPae ImjJYEW6wDJW2du4eewAJMMwkARQCSQW+PW2L6ZAnSWDdw0Pb1QWikPFv9dhIAPQyp0d3u PtTVmBeDE/LJ/F9oiTdL1EJjvl/H3csJuxFA9Nm5jeISu2RIFif3oPiM6v2Q/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488666; a=rsa-sha256; cv=none; b=nlDC0CTVIs0N3b2gbpNqhWGdoT9U+ihmbxV8a00ygwNhfpnVa0LUnERNJk6qx6nGdOHDuj hTp/tyvDi4XnX39ldrhXbVf67VK0a1o//CtaFxVWAsCeUKpLv06tOMJRObrYatYhgszFpc PgrmhCDGWzK5Ybc9RSRaF3UFPNwHrah7Zym5x6xvOMTgmH6Mle7NGg3IdOfnerexoanIqY WUa/YFEA/VoyJnpWdn7P4l4h34w0zhiI8ScvXpfktCYNF4uh6AEpkHttEy96dbINY2r2Et M7ouU8wRtQS+JSAsgJ9KBKhdFAoC4qVK4NgFHqWrARZx6Ke1cNks2x0QFA158A== 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 4dsQsQ0cdtzYwZ for ; Thu, 15 Jan 2026 14:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2233f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: a5371aed0235 - stable/14 - arm64: Create a TLBI invalidate for the kernel 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a5371aed0235915187a3d39809a637a63d510b37 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:06 +0000 Message-Id: <6968feda.2233f.430c3983@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a5371aed0235915187a3d39809a637a63d510b37 commit a5371aed0235915187a3d39809a637a63d510b37 Author: Andrew Turner AuthorDate: 2025-09-04 17:24:07 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:14 +0000 arm64: Create a TLBI invalidate for the kernel Add pmap_s1_invalidate_all_kernel to remove the need to check for the kernel_pmap when it's passed in. While here replace pmap calls to cpu_tlb_flushID with pmap_s1_invalidate_all_kernel as they are identical. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52183 (cherry picked from commit 8df4dc90952be7afee36e3cc80c1a76e2c66fbac) --- sys/arm64/arm64/pmap.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index a3014fd5cee3..b25c862b8ea3 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -194,6 +194,8 @@ __exclusive_cache_line static struct pmap_large_md_page pv_dummy_large; #define pv_dummy pv_dummy_large.pv_page __read_mostly static struct pmap_large_md_page *pv_table; +static __inline void pmap_s1_invalidate_all_kernel(void); + static struct pmap_large_md_page * _pa_to_pmdp(vm_paddr_t pa) { @@ -1186,7 +1188,7 @@ pmap_bootstrap_dmap(vm_paddr_t min_pa) } } - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); } static void @@ -1327,7 +1329,7 @@ pmap_bootstrap(vm_size_t kernlen) /* And the l3 tables for the early devmap */ pmap_bootstrap_l3(VM_MAX_KERNEL_ADDRESS - (PMAP_MAPDEV_EARLY_SIZE)); - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); #define alloc_pages(var, np) \ (var) = bs_state.freemempos; \ @@ -1728,6 +1730,15 @@ pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pmap_s2_invalidate_range(pmap, sva, eva, final_only); } +static __inline void +pmap_s1_invalidate_all_kernel(void) +{ + dsb(ishst); + __asm __volatile("tlbi vmalle1is"); + dsb(ish); + isb(); +} + /* * Invalidates all cached intermediate- and final-level TLB entries for the * given virtual address space. @@ -6615,7 +6626,7 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size) pa += L2_SIZE; } if ((old_l2e & ATTR_DESCR_VALID) != 0) - pmap_s1_invalidate_all(kernel_pmap); + pmap_s1_invalidate_all_kernel(); else { /* * Because the old entries were invalid and the new @@ -6691,7 +6702,7 @@ pmap_unmapbios(void *p, vm_size_t size) } } if (preinit_map) { - pmap_s1_invalidate_all(kernel_pmap); + pmap_s1_invalidate_all_kernel(); return; } From nobody Thu Jan 15 14:51:08 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsX4HHxz6P4jN for ; Thu, 15 Jan 2026 14:51:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsQsV1MMkz3JfT for ; Thu, 15 Jan 2026 14:51:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Y+0DvFZHrEdI7CYzcDTMCEu8zjdlqqC3CASy31uPd0=; b=YYTGg2WP875b88oyyAKzL52f2sIrOmtrk21RYOJaxEl9EZY3DpA7TC515Clv9oDHkgOhgK Leyjlp1bWDFU8pSPyVHoMq6CsTfqWgo5N4Z1IaUJFWx33lxc0Jx9T83TNPFlMWsoNRdU+2 30zxWGeTqNtQ8dUAP/sSe8Y3EP6ES888SiQBMkQV6y0Le2kdui76WpvjX67UrvVqYVSopF jk88SHd8NTAbARQgvqJWitBmmh9mzVMrssjBjlzm10mXsAeDMmPeQ9DDu7WvmeqY71dIxr vPExlVYVUHO0QZTYKTu6Mre3KcRR8+C2lH6cignezSjyUONROSd+YNb6rKy3LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Y+0DvFZHrEdI7CYzcDTMCEu8zjdlqqC3CASy31uPd0=; b=aBFCQlQXgSC03xhjiBOxI8Rij9npNthbxNHVCCxVCyWpIm4KD77CkvEn2C8p/GBO47ZMxA wop4u8c7BOB2rnJ+g+1WkRZwxxDzh/A2wCpySmcKEmPaSL40Aq5IPm5qeLxyJ2WRkD0uvx F4o7Cr3s+5b98seYzG+tGwTsO+z/RWQtwPWASRJHokLz2costuJ1zUK59U6lRq57cWEYbX V/ZxfN/wDRevCpEdKwZ5KYiyptsaVIN3slnF8bzsNnhMSxFfFFlIdF9d6v6uXOoaUFBWfL nmRHUhO1x1xGqRGc/UiehTST+//NbN9IPWtcTo9VGFLE8AZbUNpZyP/84+qYbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488670; a=rsa-sha256; cv=none; b=cd4PbDd9yVHi7hfjeHmbKodckkFdGpPJdJ1NXrS1q1lDw7vYG203eh7qdlZwNcSHuyyGD5 k6whFbHdhoLvSvF09+qhQs5dyvq5eZsYEoru95J6YRiOmQ0yR9N6E9TpNA1lgfHCMGFQ9i JL3GM4PO0rNI/MydFfqeRmjJkEJreEvuXWEn189O2dSHfDoQ0EEPsw3wuuoX67ugwkzYac 24d/7MMDYEUvsxywUHHNElc4VlTy2q/rzEPF+lhRDHxMG1AMug0+MN7Yir7PWXfKtm+YVT u3IKIbBk7hJiUBUKskF0NdHgV5w9EEatlZ25qOlie+AcovuYwesq58MCLZcO1w== 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 4dsQsS2Bj5zYwf for ; Thu, 15 Jan 2026 14:51:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22acf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 7cd4ec4adb8f - stable/14 - arm64: Add a function to check a range of CPU revs 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7cd4ec4adb8f3727f59b6208b9e3bcc6c0bf30c0 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:08 +0000 Message-Id: <6968fedc.22acf.7df3d6b2@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7cd4ec4adb8f3727f59b6208b9e3bcc6c0bf30c0 commit 7cd4ec4adb8f3727f59b6208b9e3bcc6c0bf30c0 Author: Andrew Turner AuthorDate: 2025-09-04 14:57:41 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:15 +0000 arm64: Add a function to check a range of CPU revs Add a function that can check if a given midr is within a range of revisions. This will be used to check if a CPU is affected by a known erratum. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52187 (cherry picked from commit c76b0247a95ed090cc0d83b2698228d2937af3e6) --- sys/arm64/include/cpu.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index dbb92d75dd85..f61f727315a6 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -202,6 +202,31 @@ #define CPU_MATCH_RAW(mask, devid) \ (((mask) & PCPU_GET(midr)) == ((mask) & (devid))) +#if !defined(__ASSEMBLER__) +static inline bool +midr_check_var_part_range(u_int midr, u_int impl, u_int part, u_int var_low, + u_int part_low, u_int var_high, u_int part_high) +{ + /* Check for the correct part */ + if (CPU_IMPL(midr) != impl || CPU_PART(midr) != part) + return (false); + + /* Check if the variant is between var_low and var_high inclusive */ + if (CPU_VAR(midr) < var_low || CPU_VAR(midr) > var_high) + return (false); + + /* If the variant is the low value, check if the part is high enough */ + if (CPU_VAR(midr) == var_low && CPU_PART(midr) < part_low) + return (false); + + /* If the variant is the high value, check if the part is low enough */ + if (CPU_VAR(midr) == var_high && CPU_PART(midr) > part_high) + return (false); + + return (true); +} +#endif + /* * Chip-specific errata. This defines are intended to be * booleans used within if statements. When an appropriate From nobody Thu Jan 15 14:51:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsQsY1D3bz6P4J5 for ; Thu, 15 Jan 2026 14:51: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 4dsQsW43vBz3JW8 for ; Thu, 15 Jan 2026 14:51:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m3FUMCFF+5NmpsXIvt2bL9IMMw/ViZ/9cUZE0u1mnQw=; b=AdG/idOe3Lp6nVwtIOEyHY4HN51OXB/WTsVKIgnOxNh/HB2E1KtS5rAPpBxneCN0fFptzp FPPx4FaKelYVlGEuXr5WzAqciLXRg6/04E50tBXgdkpmBIlFKTFy9d2cHLCRL6H+KKHjyU MtXSeODJFc4MO8jsGbtphVZWpyEOU+jqF5CTpaNmoL/uPPxalG4QZq/qU/x4LXjWEjuEXD MMJc6NtKNGWpRwSJyKzOqfi4vC9pCOeIOKfTjGqjWKKoc1y0sS9RhNquna0COSJYCNz+de +hPjsa5MSFY+/OB63AbIC/fb5zO68d6HAK3ANAO2VVcygZVCGUEWUFvjA797cA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768488671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m3FUMCFF+5NmpsXIvt2bL9IMMw/ViZ/9cUZE0u1mnQw=; b=AREyUuVsoOzfYu5actDhLIx51DUwlhoJ+k4QvW8lau4XQAZVHliVvZtUVAmo3b6752be/i EY5Hv8BVpVE9IAfgDps+UA6775q9feY9UHNV6cnmI/GcuwG7g4dTIFwKZYR37mZ5UjTyVA YQQddIlnnMFpU9CRmlOu0utdDZQPny9fRgATHeVWf8cRNp5ROAI6HT/rq20eHP0zKKaOQI Ak5ZAqsM84khWGFhyhIvppMzIjZXkG/FEOwj/HJAttIi4Wb6xWCQip+fvBQcFQYnJv2vse dnk3/00w1kGbX/kpVHwKu9jLAbJmuL7ZTTQzc0I8gJogOcwR7hfXmW3xSKTB/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768488671; a=rsa-sha256; cv=none; b=QRwSR68ocB7sTUD4JN8rzvGnlnlTHT7BPyk1ZRQLF3XFIhUABDLcwuqd/0hQlMyUm3yDW9 zXCb45JIlMWTV8yEzwH5XWCLH4WYU2UETSVyR+rtEhIhuphZko0d47yhxLi150TEMEn+cP oSIFaJgXr/1283EpJrpWfAJ4NZCsqAeoAbuxtcU+ICdkxBc8a0KldHdDECwS0mIJCaumzY nlOFLW6px7rg7MzrMIhp5a5Uhe06rcxknQ6WpGy0NQ/G9wvpJ0hA1tsHMG2expHtXnRqD2 00L6gwJbinQhCYjfPUshqWNxUKs8qGShWBqjlUWRrIa2owL/tLI6FOekE3mtJw== 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 4dsQsT303rzYBQ for ; Thu, 15 Jan 2026 14:51:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 230ae by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 14:51:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 2706f7abcac7 - stable/14 - arm64: Add a multiple TLBI workaround 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2706f7abcac7da9bfec2895102f0631b6f7b4b7c Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 14:51:09 +0000 Message-Id: <6968fedd.230ae.6ed7ca1d@gitrepo.freebsd.org> The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2706f7abcac7da9bfec2895102f0631b6f7b4b7c commit 2706f7abcac7da9bfec2895102f0631b6f7b4b7c Author: Andrew Turner AuthorDate: 2025-09-04 17:24:56 +0000 Commit: Andrew Turner CommitDate: 2026-01-14 21:14:15 +0000 arm64: Add a multiple TLBI workaround The Arm Cortex-A55, Cortex-A76, and Cortex-A510 CPUs have errata that require multiple TLBI, DSB instructions to workaround. Add support to pmap to implement these. As it appears that all affected TLBI calls are via pmap.c this should be sufficient. As all variants of this erratum are Category-B (rare) require the user to enable it at boot time. Reviewed by: alc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52190 (cherry picked from commit a884f699e4bfc1be4e721d3ec4fa93915be18a86) --- sys/arm64/arm64/pmap.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index f4b2e0d4e895..517052419ed4 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -146,6 +146,7 @@ #include #include +#include #include #include #include @@ -183,6 +184,8 @@ #define PMAP_SAN_PTE_BITS (ATTR_DEFAULT | ATTR_S1_XN | \ ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | ATTR_S1_AP(ATTR_S1_AP_RW)) +static bool __read_mostly pmap_multiple_tlbi = false; + struct pmap_large_md_page { struct rwlock pv_lock; struct md_page pv_page; @@ -1540,6 +1543,51 @@ pmap_init_pv_table(void) } } +static cpu_feat_en +pmap_multiple_tlbi_check(const struct cpu_feat *feat __unused, u_int midr) +{ + /* + * Cortex-A55 erratum 2441007 (Cat B rare) + * Present in all revisions + */ + if (CPU_IMPL(midr) == CPU_IMPL_ARM && + CPU_PART(midr) == CPU_PART_CORTEX_A55) + return (FEAT_DEFAULT_DISABLE); + + /* + * Cortex-A76 erratum 1286807 (Cat B rare) + * Present in r0p0 - r3p0 + * Fixed in r3p1 + */ + if (midr_check_var_part_range(midr, CPU_IMPL_ARM, CPU_PART_CORTEX_A76, + 0, 0, 3, 0)) + return (FEAT_DEFAULT_DISABLE); + + /* + * Cortex-A510 erratum 2441009 (Cat B rare) + * Present in r0p0 - r1p1 + * Fixed in r1p2 + */ + if (midr_check_var_part_range(midr, CPU_IMPL_ARM, CPU_PART_CORTEX_A510, + 0, 0, 1, 1)) + return (FEAT_DEFAULT_DISABLE); + + return (FEAT_ALWAYS_DISABLE); +} + +static bool +pmap_multiple_tlbi_enable(const struct cpu_feat *feat __unused, + cpu_feat_errata errata_status, u_int *errata_list __unused, + u_int errata_count __unused) +{ + pmap_multiple_tlbi = true; + return (true); +} + +CPU_FEAT(errata_multi_tlbi, "Multiple TLBI errata", + pmap_multiple_tlbi_check, NULL, pmap_multiple_tlbi_enable, NULL, + CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU); + /* * Initialize the pmap module. * @@ -1654,9 +1702,17 @@ pmap_s1_invalidate_page(pmap_t pmap, vm_offset_t va, bool final_only) r = TLBI_VA(va); if (pmap == kernel_pmap) { pmap_s1_invalidate_kernel(r, final_only); + if (pmap_multiple_tlbi) { + dsb(ish); + pmap_s1_invalidate_kernel(r, final_only); + } } else { r |= ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie)); pmap_s1_invalidate_user(r, final_only); + if (pmap_multiple_tlbi) { + dsb(ish); + pmap_s1_invalidate_user(r, final_only); + } } dsb(ish); isb(); @@ -1698,12 +1754,24 @@ pmap_s1_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, end = TLBI_VA(eva); for (r = start; r < end; r += TLBI_VA_L3_INCR) pmap_s1_invalidate_kernel(r, final_only); + + if (pmap_multiple_tlbi) { + dsb(ish); + for (r = start; r < end; r += TLBI_VA_L3_INCR) + pmap_s1_invalidate_kernel(r, final_only); + } } else { start = end = ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie)); start |= TLBI_VA(sva); end |= TLBI_VA(eva); for (r = start; r < end; r += TLBI_VA_L3_INCR) pmap_s1_invalidate_user(r, final_only); + + if (pmap_multiple_tlbi) { + dsb(ish); + for (r = start; r < end; r += TLBI_VA_L3_INCR) + pmap_s1_invalidate_user(r, final_only); + } } dsb(ish); isb(); @@ -1734,6 +1802,10 @@ pmap_s1_invalidate_all_kernel(void) dsb(ishst); __asm __volatile("tlbi vmalle1is"); dsb(ish); + if (pmap_multiple_tlbi) { + __asm __volatile("tlbi vmalle1is"); + dsb(ish); + } isb(); } @@ -1751,9 +1823,17 @@ pmap_s1_invalidate_all(pmap_t pmap) dsb(ishst); if (pmap == kernel_pmap) { __asm __volatile("tlbi vmalle1is"); + if (pmap_multiple_tlbi) { + dsb(ish); + __asm __volatile("tlbi vmalle1is"); + } } else { r = ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie)); __asm __volatile("tlbi aside1is, %0" : : "r" (r)); + if (pmap_multiple_tlbi) { + dsb(ish); + __asm __volatile("tlbi aside1is, %0" : : "r" (r)); + } } dsb(ish); isb(); From nobody Thu Jan 15 18:34:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsWq03Nq3z6PHnk for ; Thu, 15 Jan 2026 18:34: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 4dsWq00dJBz3qCj for ; Thu, 15 Jan 2026 18:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768502060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CTI+0x971U0P1soAiwPrruOeMpBfpYQOR530qDLH5/E=; b=JukGJir2Qo61mi1XE6Y2n7PQ1jCMscfoqNMdGz7iUXUdgSNlAci62kjlKMcqhUynzf6TME ViYRR/hoJB+EwRI+IbBCW0QlO1x69ekmvDfqUX3cPRGTqlgVfZoPAnVfWtZdRUrEGFgeW4 qsU7rWvbgdPveQvQAvyemlLJz133U8G8kI//ESwYN2+EqaIcsIecjywxjrPukHF42bxt9E 72QOrUhLrftt8cf/4kzZFmZ5Res8Z11eRzoaJK6XxnUgXNwfHOdRRXmJVmiK6MyTYuMc84 93T1Om8Thngpxs2EH2ixPWFGvDs4PbidDts1MJWWELMintyrVfMxkVKGLrnLTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768502060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CTI+0x971U0P1soAiwPrruOeMpBfpYQOR530qDLH5/E=; b=vA3FLIY5c6P1C1SGsdBcZw854KhhBh3j3cMlzbQT+12+X7/TpDt1lGRsupRLyhsYIjuW3g 2qHQxZQC6WQKfxOd8Amfcx/+OsSxZ8XRqcJCFQHlsGj0FL0q4HZJpUg5mPU8POONFwKfTv 9NBa7Uow1lBOcO8HbUUzjpgnLLTpeIws24MwTyp43Ra0MnEA4gGJZrZzXy1lWtu/METxz6 s29THpqCclFi/OjHdlPE31jE6Jh079OokMa9ttP5jLAk+HjDSq4YHIRMYausLRovc3ysBo +QjIDvS5aoObIBvIYNB5Ap30soYI2aH5q5oZAJ0rGnnjm1nbx/DA1cyJsJHntg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768502060; a=rsa-sha256; cv=none; b=WKc/qnBYkY6U9uNdAw7fg25dppfMxaxLnsok9xbk/KoHUHiCm0DzNOdvDYaORFYVOdXxdB SguKJ8C93zEG02Rc7d3qlhFzH/OLk3DpJuRWPWTgO9VZt33CEEzVNWDAksRk2DYsluYDRP S0daFkbEPWCC/YncGlS6I7DuuAt+GcMsMuZKGU1imSrwaOgbS0QsuOusuCJbTNyjytGM8I wrRge34X4TKP9OWZSi+yh3x5niLKHpAAn8Rkwc1QSJ8ftntZjEySsmAiFv1XQLCsBeofln qmhGZ3IVKe7HmbkBPlbf4nXJBwPSKQhI/w03kzL9PwsSWa4fyAGPG2XtLRc3Qg== 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 4dsWpz6mk2zgQx for ; Thu, 15 Jan 2026 18:34:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40274 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 18:34:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Simon J. Gerraty Subject: git: 32dd4b31dd9d - stable/15 - bsd.man.mk fix and simplify staging 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: sjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 32dd4b31dd9d3dfbe92a330ffe2bf49c8bdf7bf1 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 18:34:19 +0000 Message-Id: <6969332b.40274.4bea7122@gitrepo.freebsd.org> The branch stable/15 has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=32dd4b31dd9d3dfbe92a330ffe2bf49c8bdf7bf1 commit 32dd4b31dd9d3dfbe92a330ffe2bf49c8bdf7bf1 Author: Simon J. Gerraty AuthorDate: 2026-01-11 02:44:40 +0000 Commit: Simon J. Gerraty CommitDate: 2026-01-15 18:31:45 +0000 bsd.man.mk fix and simplify staging The STAGE_SETS need to match STAGE_DIR. For each STAGE_SET we have STAGE_DIR.${STAGE_SET} and create a target stage_files.${STAGE_SET}, the settings all need to be self consistent to work. We actually only need the high level targets stage_files and stage_links meta.stage.mk will take care of the details. (cherry picked from commit 9cd89fc5aa3c0e76375732788fe9d4282d65224f) (cherry picked from commit 9fed072b44223f061a0dbf604741091b3bc09aee) --- share/mk/bsd.man.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk index dde11afb8283..7490fd13aefc 100644 --- a/share/mk/bsd.man.mk +++ b/share/mk/bsd.man.mk @@ -252,10 +252,10 @@ _MANLINKS+= ${CATDIR}${_osect}${MANSUBDIR}/${_oname} \ .if defined(${__group}) && !empty(${__group}) .if ${MK_STAGING_MAN} == "yes" -STAGE_TARGETS+= stage_files.${__group} +STAGE_TARGETS+= stage_files _mansets.${__group}:= ${${__group}:E:O:u:M*[1-9]:@s@man$s@} -STAGE_SETS+= ${_mansets.${__group}} .for _page in ${${__group}} +STAGE_SETS+= ${__group}.man${_page:T:E} stage_files.${__group}.man${_page:T:E}: ${_page} .if target(${_page}${MCOMPRESS_EXT}) stage_files.${__group}.man${_page:T:E}: ${_page}${MCOMPRESS_EXT} @@ -263,8 +263,8 @@ stage_files.${__group}.man${_page:T:E}: ${_page}${MCOMPRESS_EXT} STAGE_DIR.${__group}.man${_page:T:E}?= ${STAGE_OBJTOP}${MANDIR}${_page:T:E}${MANSUBDIR} .endfor .if !defined(NO_MLINKS) && !empty(${__group}LINKS) +STAGE_TARGETS+= stage_links STAGE_SETS+= mlinks.${__group} -STAGE_TARGETS+= stage_links.${__group} STAGE_LINKS.mlinks.${__group}:= ${${__group}LINKS:M*.[1-9]:@f@${f:S,^,${MANDIR}${f:E}${MANSUBDIR}/,}@} stage_links.mlinks.${__group}: ${_mansets.${__group}:@s@stage_files.${__group}.$s@} .endif From nobody Thu Jan 15 19:44:58 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNW0Kqcz6PMJT for ; Thu, 15 Jan 2026 19:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature 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 4dsYNV6hT9z40tg for ; Thu, 15 Jan 2026 19:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506298; h=from:from:reply-to:subject:subject: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=1TX2OWy+aEuPUwTrxjcoYYRDN09PKG/qEBegsONsIlI=; b=MrAPApbc0fTRrqHYA5eE7BoBixgEJQ+lvQCVD9keXk6og1wmTenMfoyXon5V+SjX5vN/EL 3G6IO0JqFSvKNGSKQ/FiqmS7rSVWz/AWtflbWnjZTuXfg+kB2Ya1QVR3VkLMlC2qe2L4zD 44zJcbeUojzj6iTPQjNkPT/yz1B21sAv6c5gJJSV24tTDnTOnToY8lQH0qyuJlCf2SuS0l jOIyA3Le443UUPeImMJrnlXVCnDpg6EGD24ZW5IR9NEPFtMJdeir5a9Rft37Tr/OINGmzp a5x9IUbAtJS/cWj0OrwKsCWWeB86e2T9Ws9MjsxtjauVTQ/1L/xznoIeRyK7gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506298; h=from:from:reply-to:subject:subject: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=1TX2OWy+aEuPUwTrxjcoYYRDN09PKG/qEBegsONsIlI=; b=sPwUlquXFOhpf3yqR0RVUNPL7dic6our101Z+5NTdu4O/EAoEO4CmROgwJNnX2rUloMeYx eUB38FaSXAYmLsb28PmUqxCffqhwpTdNjs+3lBZ849CU3wm8ut7aA4CWAWxlE3sijFZJd3 Eb6J5z/9p25tpa57y/FhyfDrXdF0ZEyDpyT3EbNareTjcKL1hgVCIqDW4NOmYuFv3DM3uP Ft+giZJjbRxgBVEyE5JHV8/KKGbE2/qfegbtrE8OU8liXnhRqO0YFPvPGhaIEeDUtXhKYK n/onDZpjdCeaQGdv9N1UPyUtlGQl0/ccrVld+57ha2qtLLKkRtwfo+9MhO4P7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506298; a=rsa-sha256; cv=none; b=h/ns/pEK7VM7nTlcBjQ+cNB5++G8sU6txOYxgzFwmVcUW/tpjyNlMUNhZ3Eu1KmKjCqPXJ kPt2Q94G4nJfwUXl71Y168Z50U9ERsF9aVApxJFmRkB07aTB0busOWPG/NMAPBWy+zTcBZ xYvstmt6FvLtHjhUFznXqwogiu86s+d1q9Tw1FgXYElHIH21wDTD7mD8akhtzhuIeTKuNr 7F+eqrcKw9jFpLMudbLZiFqabvFf1vNKd3vEKD8bLRBScg256buAwtXZdx3OvvjmMf4Ner z8yAJ81Aob4NWlvauutCR2rWHoMzYENs65f79oiy3X+swhaftGjFolrlg7vK0g== 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 4dsYNV6FpCzjPr for ; Thu, 15 Jan 2026 19:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 81f6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:44:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Siva Mahadevan From: Jose Luis Duran Subject: git: 10a4af98c688 - stable/15 - makefs/tests: Use require.kmods property instead of ad-hoc checks List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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: 10a4af98c6888552f39b80331356289128af3fdf Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:44:58 +0000 Message-Id: <696943ba.81f6.42d9fca9@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=10a4af98c6888552f39b80331356289128af3fdf commit 10a4af98c6888552f39b80331356289128af3fdf Author: Siva Mahadevan AuthorDate: 2025-07-24 12:13:56 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:36:52 +0000 makefs/tests: Use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan MFC after: 3 days Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/1870 (cherry picked from commit 2cd31bd8fa687922d2a571ae53456ecd2e9ba095) --- usr.sbin/makefs/tests/Makefile | 2 ++ usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 19 ------------------- usr.sbin/makefs/tests/makefs_msdos_tests.sh | 8 -------- 3 files changed, 2 insertions(+), 27 deletions(-) diff --git a/usr.sbin/makefs/tests/Makefile b/usr.sbin/makefs/tests/Makefile index 748bafa06211..5c9ba983acdc 100644 --- a/usr.sbin/makefs/tests/Makefile +++ b/usr.sbin/makefs/tests/Makefile @@ -2,9 +2,11 @@ ATF_TESTS_SH+= makefs_cd9660_tests TEST_METADATA.makefs_cd9660_tests+= required_files="/sbin/mount_cd9660" +TEST_METADATA.makefs_cd9660_tests+= required_kmods="cd9660" ATF_TESTS_SH+= makefs_ffs_tests ATF_TESTS_SH+= makefs_msdos_tests TEST_METADATA.makefs_msdos_tests+= required_files="/sbin/mount_msdosfs" +TEST_METADATA.makefs_msdos_tests+= required_kmods="msdosfs" .if ${MK_ZFS} != "no" ATF_TESTS_SH+= makefs_zfs_tests .endif diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index e058dfc57b7b..b36753de3393 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -58,11 +58,6 @@ check_base_iso9660_image_contents() atf_check -e empty -o empty -s exit:0 test -f $TEST_MOUNT_DIR/c } -check_cd9660_support() { - kldstat -m cd9660 || \ - atf_skip "Requires cd9660 filesystem support to be present in the kernel" -} - atf_test_case D_flag cleanup D_flag_body() { @@ -101,7 +96,6 @@ F_flag_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -122,7 +116,6 @@ from_mtree_spec_file_body() $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE cd - - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -145,7 +138,6 @@ from_multiple_dirs_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS $TEST_IMAGE $TEST_INPUTS_DIR $test_inputs_dir2 - check_cd9660_support mount_image check_base_iso9660_image_contents -d $test_inputs_dir2 } @@ -162,7 +154,6 @@ from_single_dir_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -183,7 +174,6 @@ o_flag_allow_deep_trees_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o allow-deep-trees $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -207,7 +197,6 @@ o_flag_allow_max_name_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o allow-max-name $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -226,7 +215,6 @@ o_flag_isolevel_1_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o isolevel=1 $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -243,7 +231,6 @@ o_flag_isolevel_2_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o isolevel=2 $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents } @@ -265,7 +252,6 @@ o_flag_isolevel_3_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o isolevel=3 $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_base_iso9660_image_contents fi @@ -333,7 +319,6 @@ o_flag_rockridge_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_image_contents -X .rr_moved @@ -365,7 +350,6 @@ o_flag_rockridge_dev_nodes_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR - check_cd9660_support mount_image check_image_contents } @@ -378,7 +362,6 @@ atf_test_case T_flag_dir cleanup T_flag_dir_body() { timestamp=1742574909 - check_cd9660_support create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 @@ -436,7 +419,6 @@ T_flag_mtree_body() atf_check -e empty -o empty -s exit:0 \ $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_SPEC_FILE - check_cd9660_support mount_image eval $(stat -s $TEST_MOUNT_DIR/dir1) atf_check_equal $st_atime $timestamp @@ -456,7 +438,6 @@ duplicate_names_head() } duplicate_names_body() { - check_cd9660_support create_test_dirs # Create three directories which are identical in the first 31 characters. diff --git a/usr.sbin/makefs/tests/makefs_msdos_tests.sh b/usr.sbin/makefs/tests/makefs_msdos_tests.sh index fb94429b477b..ce246f3d268c 100644 --- a/usr.sbin/makefs/tests/makefs_msdos_tests.sh +++ b/usr.sbin/makefs/tests/makefs_msdos_tests.sh @@ -43,12 +43,6 @@ common_cleanup() mdconfig -d -u $test_md_device || : } -check_msdosfs_support() -{ - kldstat -m msdosfs || \ - atf_skip "Requires msdosfs filesystem support to be present in the kernel" -} - atf_test_case T_flag_dir cleanup T_flag_dir_body() { @@ -56,7 +50,6 @@ T_flag_dir_body() "The msdos backend saves the wrong timestamp value" \ "(possibly due to the 2s resolution for FAT timestamp)" timestamp=1742574909 - check_msdosfs_support create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 @@ -106,7 +99,6 @@ atf_test_case T_flag_mtree cleanup T_flag_mtree_body() { timestamp=1742574908 # Even value, timestamp precision is 2s. - check_msdosfs_support create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 From nobody Thu Jan 15 19:44:59 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNX2Z5Vz6PMJV for ; Thu, 15 Jan 2026 19:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYNX0GQMz41LS for ; Thu, 15 Jan 2026 19:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Py+7LZUzyvsIS9dOHaQS3x/6y3XeTrzVs3SlVaXu/3k=; b=ejgQsRrtPGG3k0/0IbGqJqVwW98Qt14z80t2nL3xl/D0zreIPi8i2oAJRk1cRK5vvBqsiR sEMnGznMkgz58wMUve4CfNj668A1a6zsg4jWcRYie64naKEGI8hBtr5JQYCEzSaxmUZ4fn tZJ1hRAYs1zC7ReKCsWxI6XJsSLX/j41ze8f3SdW068iB0ANeFY9y8p2LCExwAYEbXno4W SneuPJqp8oc3ZY46CwKm95nM+ArR4+oOyvdWO432whl9hhpD0xc5J6W7AsjY3i3H4rq+SU Gc89etIn/rFZIuizAKC3UcJ6arpd4Z7SRLDXp4EkQ8R1izbk8Zl3Zh9dqy3WZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Py+7LZUzyvsIS9dOHaQS3x/6y3XeTrzVs3SlVaXu/3k=; b=EMODPipcX2Ba42dPTEf3MX9OBiTr0aCPy4Sql4qINUvYnfrF72BlXri521X6dLUT1nMMFl D0TDNdbJJe2XJMHAphixNoqJLxdr7isNrkKiJ6bcK0HqvVz8TUqRCTvd4R1KinUBPuIQ1Y GrvZ8/rRtYJoOJ60CUUiR4PnBKXJmrBT+UtAgibMvb+yR9QkeY1DwQkztFr0aMkGBc1R3E ybHYu9NizGU5EAZ9v9aJF+oRa3a+R/noQJwEOXc9RH1KydBaKgKAz/x2i3mLyJr7+NSfnC iJkRPkS98rs5P14RrY7c+paCp//2xFMXaljSfx3SAIbZETD/PbN4pT7V096s4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506300; a=rsa-sha256; cv=none; b=FPyk3R45I8Nde03w+bSQ3ZcH3IT7nVV+b9dGZUKWoCkzvOEhfx5gTBPTAGaMRy6109jdqv bYNtcl7i4gbkpWSU44olY+0gme9LK0jPTJReDmBGe83895cN6J58MbqCi205MyeZgpv4ZC 3+pgBrR26mnG/nl4TQVxitZzZspAq84iaR1V6lEpWiMU5onvqgq+eAq3mB25RtLak6SXDR KYmJAx1ZOVdthoMS/d9hinB43kcAUxf60fMzgwn+pLLXdT9RPBsiRZL1zIXVEz9ZMG+1Nx Hoyl3epE2+n3RCSiiddPzN0mvX6hmpe2V3+RkIPLwXJIhzHH/BOHfaBkXtwHVQ== 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 4dsYNW6qWRzjkF for ; Thu, 15 Jan 2026 19:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46977 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:44:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f8b5a8a97743 - stable/15 - makefs: tests: Double the timeout of ZFS compression 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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f8b5a8a97743547ee7145606c708d696a86c8abe Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:44:59 +0000 Message-Id: <696943bb.46977.4dba16ce@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f8b5a8a97743547ee7145606c708d696a86c8abe commit f8b5a8a97743547ee7145606c708d696a86c8abe Author: Jose Luis Duran AuthorDate: 2026-01-05 20:31:40 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:37:38 +0000 makefs: tests: Double the timeout of ZFS compression test The test makefs_zfs_tests:compression is timing out on ci.freebsd.org. Double the default timeout to allow it to finish. While here, check if the file exists before cleaning up, otherwise, cat may fail. Reported by: Jenkins Reviewed by: asomers MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54424 (cherry picked from commit 9f28e92637e9a29124f407b74d7665a921865a53) --- usr.sbin/makefs/tests/makefs_zfs_tests.sh | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index 2fafce85b347..ac4c56796011 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -41,14 +41,18 @@ common_cleanup() # Try to force a TXG, this can help catch bugs by triggering a panic. sync - pool=$(cat $TEST_ZFS_POOL_NAME) - if zpool list "$pool" >/dev/null; then - zpool destroy "$pool" + if [ -f "$TEST_ZFS_POOL_NAME" ]; then + pool=$(cat $TEST_ZFS_POOL_NAME) + if zpool list "$pool" >/dev/null; then + zpool destroy "$pool" + fi fi - md=$(cat $TEST_MD_DEVICE_FILE) - if [ -c /dev/"$md" ]; then - mdconfig -d -u "$md" + if [ -f "$TEST_MD_DEVICE_FILE" ]; then + md=$(cat $TEST_MD_DEVICE_FILE) + if [ -c /dev/"$md" ]; then + mdconfig -d -u "$md" + fi fi } @@ -128,6 +132,12 @@ basic_cleanup() # Try configuring various compression algorithms. # atf_test_case compression cleanup +compression_head() +{ + # Double the default timeout to make it pass on emulated architectures + # on ci.freebsd.org + atf_set "timeout" 600 +} compression_body() { create_test_inputs From nobody Thu Jan 15 19:45:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNY2LScz6PMGb for ; Thu, 15 Jan 2026 19:45: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 4dsYNY0lj2z41DJ for ; Thu, 15 Jan 2026 19:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LnX/+SZm8XS9gVjpM4LaTJdJRfA+00jm5t0lrdIkcys=; b=BesWW8pPMURBtHJCE9SPbvJaCEISA0Y6mibMfO+x1rUZJgBYJL1MLXs07op88bYzVLRja2 Ym+ZYhPJRiCJK1AwziqFbi++IC0yTGui3OOcOKxfgm/M1ZVcM5fvtwGB5q+bSF4LOTGhm6 SA0M2bHC0tBKmdwwHGByf16lm+6NS2ceXfummWj2HS+XgwTQqHAszIvUjDUOcFF87aA5eU 6rxVYLutSEjjAjtpFr/bZ/7WEy/frsOFIW1KfgdcFE7NysfBq43D1ODkMNKHP6liG6clw8 uFXZcbdM4JJj74pY5YLS5aDgeSttXjS9f6x1pQnSXYgEnExZGZRwi7h2rFxl3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LnX/+SZm8XS9gVjpM4LaTJdJRfA+00jm5t0lrdIkcys=; b=mgdHA8mPuDNWav736dYAxxbCvfGz8lQQfZnXLnEK5NKr1xRfr5KR96BxuYfcN/pKbS2Hwi +AqHaHiDlr5VOqc+sKsNxJuGXS3tlopj4Qegbn1/E11sEg+qjEovvHWFmJKLLkruRixbhx oZj3PTOBevzHVry73FZ6dqfenTYXY+m10VTKqdNrLRmEXmZHBjiBsI6mygSaKL2rr/5GTY CE8mazrNPkW6XpBNJ2Eazd6tYJTBZn9sQ/RnE4WMemVolex5VfudtHbDmLpXO/94CSQXOT kp9Szt5v8YJV2RK3unRXP06h/MNPwsLAGHMQ01LysfWxafvY/wTrIZreo83vBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506301; a=rsa-sha256; cv=none; b=et7j6LaLKYi7MEIa0O3t5Br1/SCLSDubwySPHfuADL4GDweaI0xuHDJARVh14kYyCuJ032 QgBXCabbfMjoQXaNZOpk9xZXjl05xFdjotkMf8JNUnn6xWqjQXy9VfkL5MYplUXBRRhfQl 5F9twgn14wUpeg31wfJqqKYWjXFbXtqFxFWazBacG0ajc+K00W0TZ9IG49B/Uyo0rnH8pP m0dCMzDrmzogGT9JeYbllgQMSo0INz2rsNYkUrWoCpN8DSw+S9ZgEqnFGHuV4GAnldR27G CVhbsHerw2RDSexBx+q8X5bD0AKl+e8Fv0ek4nK/reZu+q2kRjsaeZphsN2dwQ== 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 4dsYNY0Jrmzj9Y for ; Thu, 15 Jan 2026 19:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47d26 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:45:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 463c0b8896cb - stable/15 - makefs: tests: Double the timeout of ZFS file_extend 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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 463c0b8896cb3dc615af9a17698b7b66a1fdbee4 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:45:01 +0000 Message-Id: <696943bd.47d26.5a1547d1@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=463c0b8896cb3dc615af9a17698b7b66a1fdbee4 commit 463c0b8896cb3dc615af9a17698b7b66a1fdbee4 Author: Jose Luis Duran AuthorDate: 2026-01-05 20:32:24 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:37:52 +0000 makefs: tests: Double the timeout of ZFS file_extend test The test makefs_zfs_tests:file_extend is timing out on ci.freebsd.org. Double the default timeout to allow it to finish. Reported by: Jenkins Reviewed by: asomers MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54425 (cherry picked from commit 065f02174f76a49fbf537ee51ed8068d3d398b08) --- usr.sbin/makefs/tests/makefs_zfs_tests.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index ac4c56796011..1694fa05683b 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -312,6 +312,12 @@ empty_fs_cleanup() } atf_test_case file_extend cleanup +file_extend_head() +{ + # Double the default timeout to make it pass on emulated architectures + # on ci.freebsd.org + atf_set "timeout" 600 +} file_extend_body() { local i start From nobody Thu Jan 15 19:45:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNb0RXTz6PMGd for ; Thu, 15 Jan 2026 19:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYNZ1Y3rz41Bl for ; Thu, 15 Jan 2026 19:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zXR/trNyPniGVDEFdIGYqq2D3Tpd236wxCSIqo15mLw=; b=kaRcG8PxoaDkMGdNJnhjxaO0U7dRPBpdokCTaXhgafXMCJRJ9uBu54859EXt5Zi5CPcf8C Qvvbqf2ux04Vp8ajVYjZVsGtsCXxN0fBa+6oZNdYUT9rvSAjqIrtWKyIYTTI9XMccDzx3B hEWYphgozwF9zuABxU0VZ/v/gYOrlIU0GrepDAVIiTrWAIKyrijzuygLrYnqAwVkkGzZhC 3eCXFBG5/1S+cDbh6LkTYuXKyua8eCk0HWGSEpgNdZJ5IY+zjckuDxr56I2c1D2Fp/9sB3 KwdlSLrjWP1tdr062I/Z+xkm6ZLRqLCHP5ZJQbNBgkftjTNjoB0h0JsAhTDuoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506302; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zXR/trNyPniGVDEFdIGYqq2D3Tpd236wxCSIqo15mLw=; b=Bz9jXjkxJmxUay3Yp49CoiXqBcZSUUSkC3q5WFLCqNiuaTduhUXWecdkdzxjC1Mq234d/m 1xIvz1d8L0AZsrPqxFvcJdriYJuXJ4UhV7hHSHRKhxNl1lMLdzVmDcSq9ouk36mpSl5Cxg El8qu/lB0EozjYHPTyoHRqcMG1GyyQSti0KDZxms7NKVw0p0fVkmUWnwHMnpWTprREbve/ BwKgsrmmF0pHnvnW2dY9I2TeWdKzaacHNjEgnzOorJMc5JJ1vwcOoOflr0m5JCNWIPBwdw 3/qg96KD0t58mvsElGq5a729vM1nXjcrTicJnqXuXGJXW/9VlVJ9pLbRaOJfLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506302; a=rsa-sha256; cv=none; b=HP+SJAXIEhlrrhGAzZe/Vz/dBPZyApAXovnEbv/x+b2LKxPRV2LUop5GJbXIXQlSZTDEOa eJsv6viaZ5RERXSnWtF60xCvoJUR++5G03NlfquKRc+IS4YpM9roje8JOc7xYpkMYo6FfF dFn1FCGZr7L77t0AkRjny7cNXpKxmi6VhO5OQOP9bPjV74RGBMogxbnFzXLuXoctVr1SSB Phdpq4zySVr9Q8xFuKmnpnqwT5jihO64SsnfoWJ8bn/gaqez50sKf8IYk+c00kvmPvwu0L 0dvgn02qejErO8AcgN89shW6ZwRGRD0WUGLkayaY2W4v0qqjvYpPbGuhjYlc4g== 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 4dsYNZ157CzjCK for ; Thu, 15 Jan 2026 19:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47898 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:45:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: c0b56dbb880a - stable/15 - makefs: tests: Cleanup and remove default flags 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: c0b56dbb880a14ea904780552539bfe03e613473 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:45:02 +0000 Message-Id: <696943be.47898.5b5fadd@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=c0b56dbb880a14ea904780552539bfe03e613473 commit c0b56dbb880a14ea904780552539bfe03e613473 Author: Jose Luis Duran AuthorDate: 2026-01-05 20:32:46 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:38:06 +0000 makefs: tests: Cleanup and remove default flags Cleanup and remove default atf_check flags for clarity. The following two lines are equivalent: atf_check $cmd atf_check -s exit:0 -e empty -o empty $cmd Update the links to the reference documents. Remove the D_flag_cleanup function, as common_cleanup() for these particular set of tests does two things: 1. Unmount the md(4) device. 2. Destroy the md(4) device. Essentially, one should only call common_cleanup() if the test body invokes mount_image(). This is not the case for D_flag_body(). No functional changes intended. Reviewed by: ngie MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54427 (cherry picked from commit 0a6deb87c2802a47709c58d09b5f9122ed40c157) --- usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 147 +++++++++++---------------- usr.sbin/makefs/tests/makefs_ffs_tests.sh | 69 +++++-------- usr.sbin/makefs/tests/makefs_msdos_tests.sh | 14 +-- usr.sbin/makefs/tests/makefs_tests_common.sh | 73 +++++++------ usr.sbin/makefs/tests/makefs_zfs_tests.sh | 69 +++++-------- 5 files changed, 154 insertions(+), 218 deletions(-) diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index b36753de3393..5b1a53443290 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -26,11 +26,11 @@ # A note on specs: # - A copy of the ISO-9660 spec can be found here: -# https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf +# https://ecma-international.org/wp-content/uploads/ECMA-119_5th_edition_december_2024.pdf # - Any references to `rockridge` are referring to the `Rock Ridge` extensions # of the ISO-9660 spec. A copy of the draft `IEEE-P1282` spec can be found # here: -# http://www.ymi.com/ymi/sites/default/files/pdf/Rockridge.pdf +# https://people.freebsd.org/~emaste/rrip112.pdf MAKEFS="makefs -t cd9660" MOUNT="mount_cd9660" @@ -54,35 +54,28 @@ check_base_iso9660_image_contents() # specified, and directories cannot contain a '.'. check_image_contents "$@" -X c -X .g -X _g - atf_check -e empty -o empty -s exit:0 test -L $TEST_INPUTS_DIR/c - atf_check -e empty -o empty -s exit:0 test -f $TEST_MOUNT_DIR/c + atf_check test -L $TEST_INPUTS_DIR/c + atf_check test -f $TEST_MOUNT_DIR/c } -atf_test_case D_flag cleanup +atf_test_case D_flag D_flag_body() { atf_skip "makefs crashes with SIGBUS with dupe mtree entries; see FreeBSD bug # 192839" create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -cp $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR + atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -e empty -o empty -s exit:0 \ - cp $TEST_SPEC_FILE spec2.mtree - atf_check -e empty -o save:dupe_$TEST_SPEC_FILE -s exit:0 \ - cat $TEST_SPEC_FILE spec2.mtree + atf_check cp $TEST_SPEC_FILE spec2.mtree + atf_check -o save:${TEST_SPEC_FILE}_dupe cat $TEST_SPEC_FILE spec2.mtree - atf_check -e empty -o not-empty -s not-exit:0 \ - $MAKEFS -F dupe_$TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ - $MAKEFS -D -F dupe_$TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR -} -D_flag_cleanup() -{ - common_cleanup + atf_check -o not-empty -s not-exit:0 \ + $MAKEFS -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + atf_check -o not-empty \ + $MAKEFS -D -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR } atf_test_case F_flag cleanup @@ -90,11 +83,9 @@ F_flag_body() { create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -cp $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_base_iso9660_image_contents @@ -109,11 +100,10 @@ from_mtree_spec_file_body() { create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE \ mtree -c -k "$DEFAULT_MTREE_KEYWORDS" -p $TEST_INPUTS_DIR cd $TEST_INPUTS_DIR - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE + atf_check $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE cd - mount_image @@ -131,12 +121,10 @@ from_multiple_dirs_body() create_test_inputs - atf_check -e empty -o empty -s exit:0 mkdir -p $test_inputs_dir2 - atf_check -e empty -o empty -s exit:0 \ - touch $test_inputs_dir2/multiple_dirs_test_file + atf_check mkdir -p $test_inputs_dir2 + atf_check touch $test_inputs_dir2/multiple_dirs_test_file - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS $TEST_IMAGE $TEST_INPUTS_DIR $test_inputs_dir2 + atf_check $MAKEFS $TEST_IMAGE $TEST_INPUTS_DIR $test_inputs_dir2 mount_image check_base_iso9660_image_contents -d $test_inputs_dir2 @@ -151,8 +139,7 @@ from_single_dir_body() { create_test_inputs - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_base_iso9660_image_contents @@ -168,11 +155,9 @@ o_flag_allow_deep_trees_body() create_test_inputs # Make sure the "more than 8 levels deep" requirement is met. - atf_check -e empty -o empty -s exit:0 \ - mkdir -p $TEST_INPUTS_DIR/a/b/c/d/e/f/g/h/i/j + atf_check mkdir -p $TEST_INPUTS_DIR/a/b/c/d/e/f/g/h/i/j - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o allow-deep-trees $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o allow-deep-trees $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_base_iso9660_image_contents @@ -185,17 +170,16 @@ o_flag_allow_deep_trees_cleanup() atf_test_case o_flag_allow_max_name cleanup o_flag_allow_max_name_body() { - atf_expect_fail "-o allow-max-name doesn't appear to be implemented on FreeBSD's copy of makefs [yet]" + atf_skip "-o allow-max-name is not implemented" create_test_inputs long_path=$TEST_INPUTS_DIR/$(jot -s '' -b 0 37) # Make sure the "37 char name" limit requirement is met. - atf_check -e empty -o empty -s exit:0 touch $long_path + atf_check touch $long_path - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o allow-max-name $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o allow-max-name $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_base_iso9660_image_contents @@ -208,12 +192,11 @@ o_flag_allow_max_name_cleanup() atf_test_case o_flag_isolevel_1 cleanup o_flag_isolevel_1_body() { - atf_expect_fail "this testcase needs work; the filenames generated seem incorrect/corrupt" + atf_skip "-o isolevel=1 is failing" create_test_inputs - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o isolevel=1 $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o isolevel=1 $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_base_iso9660_image_contents @@ -228,8 +211,7 @@ o_flag_isolevel_2_body() { create_test_inputs - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o isolevel=2 $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o isolevel=2 $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_base_iso9660_image_contents @@ -242,19 +224,19 @@ o_flag_isolevel_2_cleanup() atf_test_case o_flag_isolevel_3 cleanup o_flag_isolevel_3_body() { - create_test_inputs - # XXX: isolevel=3 isn't implemented yet. See FreeBSD bug # 203645 - if true; then - atf_check -e match:'makefs: ISO Level 3 is greater than 2\.' -o empty -s not-exit:0 \ - $MAKEFS -o isolevel=3 $TEST_IMAGE $TEST_INPUTS_DIR - else - atf_check -e empty -o empty -s exit:0 \ + atf_check -e match:'makefs: ISO Level 3 is greater than 2\.' \ + -s not-exit:0 \ $MAKEFS -o isolevel=3 $TEST_IMAGE $TEST_INPUTS_DIR + atf_skip "-o isolevel=3 is not implemented" + + create_test_inputs + + atf_check $MAKEFS -o isolevel=3 $TEST_IMAGE $TEST_INPUTS_DIR + mount_image check_base_iso9660_image_contents - fi } o_flag_isolevel_3_cleanup() { @@ -273,11 +255,9 @@ o_flag_preparer_body() preparer='My Very First ISO' preparer_uppercase="$(echo $preparer | tr '[[:lower:]]' '[[:upper:]]')" - atf_check -e empty -o empty -s exit:0 touch $TEST_INPUTS_DIR/dummy_file - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o preparer="$preparer" $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -e empty -o match:"$preparer_uppercase" -s exit:0 \ - strings $TEST_IMAGE + atf_check touch $TEST_INPUTS_DIR/dummy_file + atf_check $MAKEFS -o preparer="$preparer" $TEST_IMAGE $TEST_INPUTS_DIR + atf_check -o match:"$preparer_uppercase" strings $TEST_IMAGE } atf_test_case o_flag_publisher @@ -292,11 +272,9 @@ o_flag_publisher_body() publisher='My Super Awesome Publishing Company LTD' publisher_uppercase="$(echo $publisher | tr '[[:lower:]]' '[[:upper:]]')" - atf_check -e empty -o empty -s exit:0 touch $TEST_INPUTS_DIR/dummy_file - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o publisher="$publisher" $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -e empty -o match:"$publisher_uppercase" -s exit:0 \ - strings $TEST_IMAGE + atf_check touch $TEST_INPUTS_DIR/dummy_file + atf_check $MAKEFS -o publisher="$publisher" $TEST_IMAGE $TEST_INPUTS_DIR + atf_check -o match:"$publisher_uppercase" strings $TEST_IMAGE } atf_test_case o_flag_rockridge cleanup @@ -305,27 +283,24 @@ o_flag_rockridge_body() create_test_dirs # Make sure the "more than 8 levels deep" requirement is met. - atf_check -e empty -o empty -s exit:0 \ - mkdir -p $TEST_INPUTS_DIR/a/b/c/d/e/f/g/h/i/j + atf_check mkdir -p $TEST_INPUTS_DIR/a/b/c/d/e/f/g/h/i/j # Make sure the "pathname larger than 255 chars" requirement is met. # # $long_path's needs to be nested in a directory, as creating it # outright as a 256 char filename via touch will fail with ENAMETOOLONG long_path=$TEST_INPUTS_DIR/$(jot -s '/' -b "$(jot -s '' -b 0 64)" 4) - atf_check -e empty -o empty -s exit:0 mkdir -p "$(dirname $long_path)" - atf_check -e empty -o empty -s exit:0 touch "$long_path" + atf_check mkdir -p "$(dirname $long_path)" + atf_check touch "$long_path" - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_image_contents -X .rr_moved # .rr_moved is a special directory created when you have deep directory # trees with rock ridge extensions on - atf_check -e empty -o empty -s exit:0 \ - test -d $TEST_MOUNT_DIR/.rr_moved + atf_check test -d $TEST_MOUNT_DIR/.rr_moved } o_flag_rockridge_cleanup() { @@ -342,13 +317,12 @@ o_flag_rockridge_dev_nodes_body() create_test_dirs (tar -cvf - -C /dev null && touch .tar_ok) | \ - atf_check -e not-empty -o empty -s exit:0 tar -xvf - -C "$TEST_INPUTS_DIR" + atf_check -e not-empty tar -xvf - -C "$TEST_INPUTS_DIR" - atf_check -e empty -o empty -s exit:0 test -c $TEST_INPUTS_DIR/null - atf_check -e empty -o empty -s exit:0 test -f .tar_ok + atf_check test -c $TEST_INPUTS_DIR/null + atf_check test -f .tar_ok - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_image_contents @@ -365,8 +339,7 @@ T_flag_dir_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR mount_image eval $(stat -s $TEST_MOUNT_DIR/dir1) @@ -389,10 +362,9 @@ T_flag_F_flag_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -c -k "type,time" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type,time" -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F - atf_check -e empty -o not-empty -s exit:0 \ + atf_check \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -414,10 +386,8 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -c -k "type" -p $TEST_INPUTS_DIR - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_SPEC_FILE + atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_SPEC_FILE mount_image eval $(stat -s $TEST_MOUNT_DIR/dir1) @@ -446,8 +416,7 @@ duplicate_names_body() mkdir -p $TEST_INPUTS_DIR/${dir_prefix}2 mkdir -p $TEST_INPUTS_DIR/${dir_prefix}3 - atf_check -e empty -o empty -s exit:0 \ - $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + atf_check $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR # Disable Rock Ridge extensions to read the plain ISO Level 2 names. mount_image -r diff --git a/usr.sbin/makefs/tests/makefs_ffs_tests.sh b/usr.sbin/makefs/tests/makefs_ffs_tests.sh index f828f632b06e..6b8fb4afd707 100644 --- a/usr.sbin/makefs/tests/makefs_ffs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_ffs_tests.sh @@ -44,7 +44,7 @@ common_cleanup() check_ffs_image_contents() { - atf_check -e save:$TEST_TUNEFS_OUTPUT -o empty -s exit:0 \ + atf_check -e save:$TEST_TUNEFS_OUTPUT \ tunefs -p /dev/$(cat $TEST_MD_DEVICE_FILE) check_image_contents "$@" @@ -56,12 +56,11 @@ autocalculate_image_size_body() { create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE \ mtree -c -k "$DEFAULT_MTREE_KEYWORDS" -p $TEST_INPUTS_DIR cd $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ - $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE + atf_check -o not-empty $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE cd - mount_image @@ -72,31 +71,24 @@ autocalculate_image_size_cleanup() common_cleanup } -atf_test_case D_flag cleanup +atf_test_case D_flag D_flag_body() { atf_skip "makefs crashes with SIGBUS with dupe mtree entries; see FreeBSD bug # 192839" create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -cp $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR + atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -e empty -o empty -s exit:0 \ - cp $TEST_SPEC_FILE spec2.mtree - atf_check -e empty -o save:dupe_$TEST_SPEC_FILE -s exit:0 \ - cat $TEST_SPEC_FILE spec2.mtree + atf_check cp $TEST_SPEC_FILE spec2.mtree + atf_check -o save:${TEST_SPEC_FILE}_dupe cat $TEST_SPEC_FILE spec2.mtree - atf_check -e empty -o not-empty -s not-exit:0 \ - $MAKEFS -F dupe_$TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ - $MAKEFS -D -F dupe_$TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR -} -D_flag_cleanup() -{ - common_cleanup + atf_check -o not-empty -s not-exit:0 \ + $MAKEFS -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + atf_check -o not-empty \ + $MAKEFS -D -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR } atf_test_case F_flag cleanup @@ -104,10 +96,9 @@ F_flag_body() { create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -cp $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -123,12 +114,11 @@ from_mtree_spec_file_body() { create_test_inputs - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE \ mtree -c -k "$DEFAULT_MTREE_KEYWORDS" -p $TEST_INPUTS_DIR cd $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ - $MAKEFS -M 1m $TEST_IMAGE $TEST_SPEC_FILE + atf_check -o not-empty $MAKEFS -M 1m $TEST_IMAGE $TEST_SPEC_FILE cd - mount_image @@ -146,11 +136,10 @@ from_multiple_dirs_body() create_test_inputs - atf_check -e empty -o empty -s exit:0 mkdir -p $test_inputs_dir2 - atf_check -e empty -o empty -s exit:0 \ - touch $test_inputs_dir2/multiple_dirs_test_file + atf_check mkdir -p $test_inputs_dir2 + atf_check touch $test_inputs_dir2/multiple_dirs_test_file - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -M 1m $TEST_IMAGE $TEST_INPUTS_DIR $test_inputs_dir2 mount_image @@ -166,8 +155,7 @@ from_single_dir_body() { create_test_inputs - atf_check -e empty -o not-empty -s exit:0 \ - $MAKEFS -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + atf_check -o not-empty $MAKEFS -M 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image check_ffs_image_contents @@ -197,7 +185,7 @@ o_flag_version_1_body() create_test_inputs - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -M 1m -o version=$ffs_version $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -229,7 +217,7 @@ o_flag_version_2_body() create_test_inputs - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -M 1m -o version=$ffs_version $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -249,7 +237,7 @@ T_flag_dir_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -M 1m -T $timestamp $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -273,10 +261,9 @@ T_flag_F_flag_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -c -k "type,time" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type,time" -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -M 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -298,9 +285,8 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -c -k "type" -p $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o not-empty \ $MAKEFS -M 1m -T $timestamp $TEST_IMAGE $TEST_SPEC_FILE mount_image @@ -317,7 +303,6 @@ T_flag_mtree_cleanup() atf_init_test_cases() { - atf_add_test_case autocalculate_image_size atf_add_test_case D_flag diff --git a/usr.sbin/makefs/tests/makefs_msdos_tests.sh b/usr.sbin/makefs/tests/makefs_msdos_tests.sh index ce246f3d268c..00ab1509ef55 100644 --- a/usr.sbin/makefs/tests/makefs_msdos_tests.sh +++ b/usr.sbin/makefs/tests/makefs_msdos_tests.sh @@ -30,6 +30,7 @@ MAKEFS="makefs -t msdos" MOUNT="mount_msdosfs" + . "$(dirname "$0")/makefs_tests_common.sh" common_cleanup() @@ -53,7 +54,7 @@ T_flag_dir_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -T $timestamp -s 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -77,10 +78,10 @@ T_flag_F_flag_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE \ mtree -c -k "type,time" -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -s 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image @@ -102,14 +103,13 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -c -k "type" -p $TEST_INPUTS_DIR - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o not-empty \ $MAKEFS -T $timestamp -s 1m $TEST_IMAGE $TEST_SPEC_FILE mount_image eval $(stat -s $TEST_MOUNT_DIR/dir1) - # FAT directory entries don't have an access time, just a date. + # FAT directory entries don't have an access time, just a date. #atf_check_equal $st_atime $timestamp atf_check_equal $st_mtime $timestamp atf_check_equal $st_ctime $timestamp diff --git a/usr.sbin/makefs/tests/makefs_tests_common.sh b/usr.sbin/makefs/tests/makefs_tests_common.sh index edb79bc811e1..fa2cbaff9521 100644 --- a/usr.sbin/makefs/tests/makefs_tests_common.sh +++ b/usr.sbin/makefs/tests/makefs_tests_common.sh @@ -75,16 +75,14 @@ check_image_contents() echo "<---- Input spec BEGIN ---->" cat $mtree_file echo "<---- Input spec END ---->" - atf_check -e empty -o empty -s exit:0 \ - mtree -UW -f $mtree_file \ - -p $TEST_MOUNT_DIR \ - $mtree_excludes_arg + atf_check mtree -UW -f $mtree_file \ + -p $TEST_MOUNT_DIR $mtree_excludes_arg } create_test_dirs() { - atf_check -e empty -s exit:0 mkdir -m 0777 -p $TEST_MOUNT_DIR - atf_check -e empty -s exit:0 mkdir -m 0777 -p $TEST_INPUTS_DIR + atf_check mkdir -m 0777 -p $TEST_MOUNT_DIR + atf_check mkdir -m 0777 -p $TEST_INPUTS_DIR } create_test_inputs() @@ -93,40 +91,39 @@ create_test_inputs() cd $TEST_INPUTS_DIR - atf_check -e empty -s exit:0 mkdir -m 0755 -p a/b/1 - atf_check -e empty -s exit:0 ln -s a/b c - atf_check -e empty -s exit:0 touch d - atf_check -e empty -s exit:0 ln d e - atf_check -e empty -s exit:0 touch .f - atf_check -e empty -s exit:0 mkdir .g + atf_check mkdir -m 0755 -p a/b/1 + atf_check ln -s a/b c + atf_check touch d + atf_check ln d e + atf_check touch .f + atf_check mkdir .g # XXX: fifos on the filesystem don't match fifos created by makefs for # some odd reason. - #atf_check -e empty -s exit:0 mkfifo h - atf_check -e ignore -s exit:0 dd if=/dev/zero of=i count=1000 bs=1 - atf_check -e empty -s exit:0 touch klmn - atf_check -e empty -s exit:0 touch opqr - atf_check -e empty -s exit:0 touch stuv - atf_check -e empty -s exit:0 install -m 0755 /dev/null wxyz - atf_check -e empty -s exit:0 touch 0b00000001 - atf_check -e empty -s exit:0 touch 0b00000010 - atf_check -e empty -s exit:0 touch 0b00000011 - atf_check -e empty -s exit:0 touch 0b00000100 - atf_check -e empty -s exit:0 touch 0b00000101 - atf_check -e empty -s exit:0 touch 0b00000110 - atf_check -e empty -s exit:0 touch 0b00000111 - atf_check -e empty -s exit:0 touch 0b00001000 - atf_check -e empty -s exit:0 touch 0b00001001 - atf_check -e empty -s exit:0 touch 0b00001010 - atf_check -e empty -s exit:0 touch 0b00001011 - atf_check -e empty -s exit:0 touch 0b00001100 - atf_check -e empty -s exit:0 touch 0b00001101 - atf_check -e empty -s exit:0 touch 0b00001110 + #atf_check mkfifo h + atf_check -e ignore dd if=/dev/zero of=i count=1000 bs=1 + atf_check touch klmn + atf_check touch opqr + atf_check touch stuv + atf_check install -m 0755 /dev/null wxyz + atf_check touch 0b00000001 + atf_check touch 0b00000010 + atf_check touch 0b00000011 + atf_check touch 0b00000100 + atf_check touch 0b00000101 + atf_check touch 0b00000110 + atf_check touch 0b00000111 + atf_check touch 0b00001000 + atf_check touch 0b00001001 + atf_check touch 0b00001010 + atf_check touch 0b00001011 + atf_check touch 0b00001100 + atf_check touch 0b00001101 + atf_check touch 0b00001110 for filesize in 1 512 $(( 2 * $KB )) $(( 10 * $KB )) $(( 512 * $KB )); \ do - atf_check -e ignore -o empty -s exit:0 \ - dd if=/dev/zero of=${filesize}.file bs=1 \ - count=1 oseek=${filesize} conv=sparse + atf_check -e ignore dd if=/dev/zero of=${filesize}.file bs=1 \ + count=${filesize} conv=sparse files="${files} ${filesize}.file" done @@ -135,10 +132,8 @@ create_test_inputs() mount_image() { - atf_check -e empty -o save:$TEST_MD_DEVICE_FILE -s exit:0 \ - mdconfig -a -f $TEST_IMAGE - atf_check -e empty -o empty -s exit:0 \ - $MOUNT ${1} /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR + atf_check -o save:$TEST_MD_DEVICE_FILE mdconfig -a -f $TEST_IMAGE + atf_check $MOUNT ${1} /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR } change_mtree_timestamp() diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index 1694fa05683b..7dd6005e49ec 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -58,9 +58,8 @@ common_cleanup() import_image() { - atf_check -e empty -o save:$TEST_MD_DEVICE_FILE -s exit:0 \ - mdconfig -a -f $TEST_IMAGE - atf_check -o ignore -e empty -s exit:0 \ + atf_check -o save:$TEST_MD_DEVICE_FILE mdconfig -a -f $TEST_IMAGE + atf_check -o ignore \ zdb -e -p /dev/$(cat $TEST_MD_DEVICE_FILE) -mmm -ddddd $ZFS_POOL_NAME atf_check zpool import -R $TEST_MOUNT_DIR $ZFS_POOL_NAME echo "$ZFS_POOL_NAME" > $TEST_ZFS_POOL_NAME @@ -167,11 +166,11 @@ compression_body() fi # The "dir" dataset's compression algorithm should be # inherited from the root dataset. - atf_check -o inline:$alg\\n -e empty -s exit:0 \ + atf_check -o inline:$alg\\n \ zfs get -H -o value compression ${ZFS_POOL_NAME} - atf_check -o inline:$alg\\n -e empty -s exit:0 \ + atf_check -o inline:$alg\\n \ zfs get -H -o value compression ${ZFS_POOL_NAME}/dir - atf_check -o inline:off\\n -e empty -s exit:0 \ + atf_check -o inline:off\\n \ zfs get -H -o value compression ${ZFS_POOL_NAME}/dir2 atf_check -e ignore dd if=/dev/random \ @@ -184,7 +183,7 @@ compression_body() # Export and reimport to ensure that everything is # flushed to disk. atf_check zpool export ${ZFS_POOL_NAME} - atf_check -o ignore -e empty -s exit:0 \ + atf_check -o ignore \ zdb -e -p /dev/$(cat $TEST_MD_DEVICE_FILE) -mmm -ddddd \ $ZFS_POOL_NAME atf_check zpool import -R $TEST_MOUNT_DIR $ZFS_POOL_NAME @@ -413,20 +412,16 @@ hard_links_body() stat -f '%i' ${TEST_MOUNT_DIR}/1 > ./ino stat -f '%l' ${TEST_MOUNT_DIR}/1 > ./nlink for f in 1 2 dir/1; do - atf_check -o file:./nlink -e empty -s exit:0 \ - stat -f '%l' ${TEST_MOUNT_DIR}/${f} - atf_check -o file:./ino -e empty -s exit:0 \ - stat -f '%i' ${TEST_MOUNT_DIR}/${f} + atf_check -o file:./nlink stat -f '%l' ${TEST_MOUNT_DIR}/${f} + atf_check -o file:./ino stat -f '%i' ${TEST_MOUNT_DIR}/${f} atf_check cmp -s ${TEST_INPUTS_DIR}/1 ${TEST_MOUNT_DIR}/${f} done stat -f '%i' ${TEST_MOUNT_DIR}/dir/a > ./ino stat -f '%l' ${TEST_MOUNT_DIR}/dir/a > ./nlink for f in dir/a dir/b a; do - atf_check -o file:./nlink -e empty -s exit:0 \ - stat -f '%l' ${TEST_MOUNT_DIR}/${f} - atf_check -o file:./ino -e empty -s exit:0 \ - stat -f '%i' ${TEST_MOUNT_DIR}/${f} + atf_check -o file:./nlink stat -f '%l' ${TEST_MOUNT_DIR}/${f} + atf_check -o file:./ino stat -f '%i' ${TEST_MOUNT_DIR}/${f} atf_check cmp -s ${TEST_INPUTS_DIR}/dir/a ${TEST_MOUNT_DIR}/${f} done } @@ -535,19 +530,19 @@ multi_dataset_1_body() check_image_contents # Make sure that we have three datasets with the expected mount points. - atf_check -o inline:${ZFS_POOL_NAME}\\n -e empty -s exit:0 \ + atf_check -o inline:${ZFS_POOL_NAME}\\n \ zfs list -H -o name ${ZFS_POOL_NAME} - atf_check -o inline:${TEST_MOUNT_DIR}\\n -e empty -s exit:0 \ + atf_check -o inline:${TEST_MOUNT_DIR}\\n \ zfs list -H -o mountpoint ${ZFS_POOL_NAME} - atf_check -o inline:${ZFS_POOL_NAME}/dir1\\n -e empty -s exit:0 \ + atf_check -o inline:${ZFS_POOL_NAME}/dir1\\n \ zfs list -H -o name ${ZFS_POOL_NAME}/dir1 - atf_check -o inline:${TEST_MOUNT_DIR}/dir1\\n -e empty -s exit:0 \ + atf_check -o inline:${TEST_MOUNT_DIR}/dir1\\n \ zfs list -H -o mountpoint ${ZFS_POOL_NAME}/dir1 - atf_check -o inline:${ZFS_POOL_NAME}/dir2\\n -e empty -s exit:0 \ + atf_check -o inline:${ZFS_POOL_NAME}/dir2\\n \ zfs list -H -o name ${ZFS_POOL_NAME}/dir2 - atf_check -o inline:${TEST_MOUNT_DIR}/dir2\\n -e empty -s exit:0 \ + atf_check -o inline:${TEST_MOUNT_DIR}/dir2\\n \ zfs list -H -o mountpoint ${ZFS_POOL_NAME}/dir2 } multi_dataset_1_cleanup() @@ -607,7 +602,7 @@ multi_dataset_3_body() import_image - atf_check -o inline:${TEST_MOUNT_DIR}/dir2\\n -e empty -s exit:0 \ + atf_check -o inline:${TEST_MOUNT_DIR}/dir2\\n \ zfs list -H -o mountpoint ${ZFS_POOL_NAME}/dir2 # Mounting dir2 should have created a directory called dir2. Go @@ -641,14 +636,14 @@ multi_dataset_4_body() import_image - atf_check -o inline:none\\n -e empty -s exit:0 \ + atf_check -o inline:none\\n \ zfs list -H -o mountpoint ${ZFS_POOL_NAME}/dir1 check_image_contents atf_check zfs set mountpoint=/dir1 ${ZFS_POOL_NAME}/dir1 atf_check zfs mount ${ZFS_POOL_NAME}/dir1 - atf_check -o inline:${TEST_MOUNT_DIR}/dir1\\n -e empty -s exit:0 \ + atf_check -o inline:${TEST_MOUNT_DIR}/dir1\\n \ zfs list -H -o mountpoint ${ZFS_POOL_NAME}/dir1 # dir1/a should be part of the root dataset, not dir1. @@ -838,14 +833,10 @@ root_props_body() check_image_contents - atf_check -o inline:off\\n -e empty -s exit:0 \ - zfs get -H -o value atime $ZFS_POOL_NAME - atf_check -o inline:local\\n -e empty -s exit:0 \ - zfs get -H -o source atime $ZFS_POOL_NAME - atf_check -o inline:off\\n -e empty -s exit:0 \ - zfs get -H -o value setuid $ZFS_POOL_NAME - atf_check -o inline:local\\n -e empty -s exit:0 \ - zfs get -H -o source setuid $ZFS_POOL_NAME + atf_check -o inline:off\\n zfs get -H -o value atime $ZFS_POOL_NAME + atf_check -o inline:local\\n zfs get -H -o source atime $ZFS_POOL_NAME + atf_check -o inline:off\\n zfs get -H -o value setuid $ZFS_POOL_NAME + atf_check -o inline:local\\n zfs get -H -o source setuid $ZFS_POOL_NAME } root_props_cleanup() { @@ -898,8 +889,7 @@ used_space_props_body() usedchild=$(zfs list -o usedchild -Hp ${ZFS_POOL_NAME}) atf_check test $usedchild -gt $(($childmb * 1024 * 1024)) -a \ $usedchild -le $(($childmb * 1024 * 1024 + $fudge)) - atf_check -o inline:'0\n' \ - zfs list -Hp -o usedchild ${ZFS_POOL_NAME}/dir + atf_check -o inline:'0\n' zfs list -Hp -o usedchild ${ZFS_POOL_NAME}/dir # Make sure that the used property value makes sense: the parent's # value is the sum of the two sizes, and the child's value is the @@ -908,8 +898,7 @@ used_space_props_body() atf_check test $used -gt $(($totalmb * 1024 * 1024)) -a \ $used -le $(($totalmb * 1024 * 1024 + 2 * $fudge)) used=$(zfs list -o used -Hp ${ZFS_POOL_NAME}/dir) - atf_check -o inline:$used'\n' \ - zfs list -Hp -o usedds ${ZFS_POOL_NAME}/dir + atf_check -o inline:$used'\n' zfs list -Hp -o usedds ${ZFS_POOL_NAME}/dir # Both datasets do not have snapshots. atf_check -o inline:'0\n' zfs list -Hp -o usedsnap ${ZFS_POOL_NAME} @@ -956,7 +945,6 @@ perms_body() su -m tests -c ${TEST_INPUTS_DIR}/$mode fi done - } perms_cleanup() { @@ -997,10 +985,10 @@ T_flag_F_flag_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ + atf_check -o save:$TEST_SPEC_FILE \ mtree -c -k "type,time" -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F - atf_check -e empty -o not-empty -s exit:0 \ + atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -s 10g -o rootpath=/ \ -o poolname=$ZFS_POOL_NAME $TEST_IMAGE $TEST_INPUTS_DIR @@ -1023,8 +1011,7 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \ - mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR atf_check $MAKEFS -T $timestamp -s 10g -o rootpath=/ -o poolname=$ZFS_POOL_NAME \ $TEST_IMAGE $TEST_SPEC_FILE From nobody Thu Jan 15 19:45:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNb6MnVz6PMDF for ; Thu, 15 Jan 2026 19:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYNb369bz41Dk for ; Thu, 15 Jan 2026 19:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wf2GlBHHcuXetkv9tQWC9c7hp38RY1NYC5bJssexH8c=; b=oPriGETzeqUfk27CNhJIMFRkBkp/npoRc5YPIIhcoPm7Dgowwlalkzw/MNpTP/uZYBXjtI dcZ8qbK8ayHhoHBihzl0ypZqgJiMXHPLH60c9pK8pKIGteG35veToWkmmqm8nYZdkKuXCC aByzyd2zBJaWAv8a2urNdAsFP/+S8Z8HBHgFsh2skDh5T2tLBvWTUIeeqr2ZYJ1fVoFPwQ qKkIQQp4yFvHEBgAALZSIgrUHKEQiLx7pHu5bFoU5pn7qRWOTRGpc2gSJ40ST9giJrj5bk SEtebhBtW6ZKLHZwFCQhYciijQZPNs1j4CXPBLAsUmyAVef3QKhUZR4xapEnAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wf2GlBHHcuXetkv9tQWC9c7hp38RY1NYC5bJssexH8c=; b=JT24EEC+VwV7vaVDgaIsmXuTfLBqKSdX4H0uh46XzPU7VdUfNpuT/MRhSopug6QMLqCeJ2 SPRYyHBsqAj0tYXXihBC+c6Myj2aA2tTdpOPnxhlKosmAb/1bjd2aa/+YTDjyNiwAeaB2Z RJHNzUIy71htnZTEoenOiCGjss7Y9b5gcUeOx6VaHzCge0KvmFotdmhIIq5PiCfQfA8Y2v /DyiKfSXn7S8R0PdMZvz6B1mWhd2amBC3IzgXNIxQUOnSFZ2qCaltF3bGeLBFnfWS8qhUy vA+om0a62G8CvZXNWVkfoqllFAOtf9vPrtml2BHPoAIX6IAs3mb6p2AegkSXqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506303; a=rsa-sha256; cv=none; b=CqK4d4aUtZ/UXVOwkSWEwSubwNBuSObLU+aip/cdpFGeHkIt9Phahs5cfuvAh/NJquMYxn 8B8plPdlz/ly6q0k8/0BgfcmjzJY+0Xz9pSer5QkD+/aCGWgSko+DAZLZZk9uCEGz9K1Ea zB3BJUHXYr8ZwadqfcuIoVO9IrnZk5TruEvBKG/r7M4ZRmALDRVezzlDht0lL1vZItoWoa wc0iPVz+3XHIjf0Dw+Ic3mmBv8fFDe/d6cQ2Sd8jW5VxzllzuJIvP39fH93QNazYiBYv9X kBGL962J8izmgW8LPjK4dOfLPgDDJ95x4rRdqccFJElGqtPeJ7/0NlMGJSHtIA== 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 4dsYNb1cqZzjCL for ; Thu, 15 Jan 2026 19:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4697b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:45:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: b10369daede7 - stable/15 - makefs: tests: Fix -D flag 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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b10369daede76cc5c83d599f68a9c129dfa174a4 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:45:03 +0000 Message-Id: <696943bf.4697b.33867830@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=b10369daede76cc5c83d599f68a9c129dfa174a4 commit b10369daede76cc5c83d599f68a9c129dfa174a4 Author: Jose Luis Duran AuthorDate: 2026-01-05 20:33:27 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:38:28 +0000 makefs: tests: Fix -D flag test As stated in the manual page: -F is almost certainly not the option you are looking for. To create an image from a list of files in an mtree format manifest, specify it as the last argument on the command line, not as the argument to -F. This change does exactly that. Also bug #192839 has already been fixed. Reviewed by: ngie MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54428 (cherry picked from commit 96efda9cd55689ef3fa067281d8b0a42a7122536) --- usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 24 +++++++++++++----------- usr.sbin/makefs/tests/makefs_ffs_tests.sh | 24 +++++++++++++----------- usr.sbin/makefs/tests/makefs_tests_common.sh | 8 ++++++++ 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index 5b1a53443290..21382684a96c 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -61,21 +61,23 @@ check_base_iso9660_image_contents() atf_test_case D_flag D_flag_body() { - atf_skip "makefs crashes with SIGBUS with dupe mtree entries; see FreeBSD bug # 192839" - create_test_inputs - atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR - atf_check -o not-empty \ - $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + create_manifest_file + + # Check that it works + atf_check $MAKEFS -M 1m $TEST_IMAGE $TEST_SPEC_FILE - atf_check cp $TEST_SPEC_FILE spec2.mtree - atf_check -o save:${TEST_SPEC_FILE}_dupe cat $TEST_SPEC_FILE spec2.mtree + # Duplicate entries in the manifest file + cp $TEST_SPEC_FILE spec2.mtree + cat $TEST_SPEC_FILE spec2.mtree | sort > "${TEST_SPEC_FILE}_dupe" - atf_check -o not-empty -s not-exit:0 \ - $MAKEFS -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -o not-empty \ - $MAKEFS -D -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + # Check that it errors + atf_check -e not-empty -s not-exit:0 \ + $MAKEFS -M 1m $TEST_IMAGE ${TEST_SPEC_FILE}_dupe + # Check that it warns + atf_check -e not-empty \ + $MAKEFS -D -M 1m $TEST_IMAGE ${TEST_SPEC_FILE}_dupe } atf_test_case F_flag cleanup diff --git a/usr.sbin/makefs/tests/makefs_ffs_tests.sh b/usr.sbin/makefs/tests/makefs_ffs_tests.sh index 6b8fb4afd707..e1db5fa1b997 100644 --- a/usr.sbin/makefs/tests/makefs_ffs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_ffs_tests.sh @@ -74,21 +74,23 @@ autocalculate_image_size_cleanup() atf_test_case D_flag D_flag_body() { - atf_skip "makefs crashes with SIGBUS with dupe mtree entries; see FreeBSD bug # 192839" - create_test_inputs - atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR - atf_check -o not-empty \ - $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + create_manifest_file - atf_check cp $TEST_SPEC_FILE spec2.mtree - atf_check -o save:${TEST_SPEC_FILE}_dupe cat $TEST_SPEC_FILE spec2.mtree + # Check that it works + atf_check -o not-empty $MAKEFS -M 1m $TEST_IMAGE $TEST_SPEC_FILE - atf_check -o not-empty -s not-exit:0 \ - $MAKEFS -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR - atf_check -o not-empty \ - $MAKEFS -D -F ${TEST_SPEC_FILE}_dupe -M 1m $TEST_IMAGE $TEST_INPUTS_DIR + # Duplicate entries in the manifest file + cp $TEST_SPEC_FILE spec2.mtree + cat $TEST_SPEC_FILE spec2.mtree | sort > "${TEST_SPEC_FILE}_dupe" + + # Check that it errors + atf_check -e not-empty -s not-exit:0 \ + $MAKEFS -M 1m $TEST_IMAGE ${TEST_SPEC_FILE}_dupe + # Check that it warns + atf_check -e not-empty -o not-empty \ + $MAKEFS -D -M 1m $TEST_IMAGE ${TEST_SPEC_FILE}_dupe } atf_test_case F_flag cleanup diff --git a/usr.sbin/makefs/tests/makefs_tests_common.sh b/usr.sbin/makefs/tests/makefs_tests_common.sh index fa2cbaff9521..44b02557925a 100644 --- a/usr.sbin/makefs/tests/makefs_tests_common.sh +++ b/usr.sbin/makefs/tests/makefs_tests_common.sh @@ -79,6 +79,14 @@ check_image_contents() -p $TEST_MOUNT_DIR $mtree_excludes_arg } +create_manifest_file() +{ + # Prefer a specification format that is easier to parse (-C) + mtree -k "$DEFAULT_MTREE_KEYWORDS" -cp "$TEST_INPUTS_DIR" | \ + mtree -C > "$TEST_SPEC_FILE" + sed -i "" "s|^\.|.${TEST_INPUTS_DIR##$TMPDIR}|g" "$TEST_SPEC_FILE" +} + create_test_dirs() { atf_check mkdir -m 0777 -p $TEST_MOUNT_DIR From nobody Thu Jan 15 19:45:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNd0Z7Jz6PMJb for ; Thu, 15 Jan 2026 19:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYNc3L0vz412w for ; Thu, 15 Jan 2026 19:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G1S3Pr5UzYrEJO+TRDwufDwZ4clOonQF+1OkjW+sv08=; b=R2siG7v9c5H/70F+xFNItQuuP/rkAzmgtTH1jBUuPZpWrFDnFKLcsuMMWp7eN0ttokiUPl Ql3JVIX2CZFGhtveJl4u02lOS8jAoJ21/ahQGjz1uLQJw2fZ3sCNuIbRSCCL25XFb8qyeS uYsbeWPleXgOs4wwX7Kl2eslER/UhFP+B8uAqVK+dvJ32T13ABoPzaM4+EgtHZUYGQ0RIn TLXXmkIKxydMpH22wUEEWW8ozjtpUa7/UA7W/ql/YrFDZIhNKHXK7ia6hbDECSiuRJm26p KC+llHivUQzFwrZAUNQAlG8bp9sfMEWhAprD8wSaAnyWwix3RvmGHNkuSsQBMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G1S3Pr5UzYrEJO+TRDwufDwZ4clOonQF+1OkjW+sv08=; b=JRLQMQbQEdBTOy3jMBbPaPaBFoeZ8kXoIyvRdQX9SLZR1KxpyD+0TMGf1hJ6OWtRPGsjBr AZMvjM9ei6+PwZ/3nkL7w1t9w33eCferyCf+hAlpEJIEvT7N5L/Wmi7pDHPHfVGTblGHoj qL2bQbsJPmSBX/jgPYU07wx2NN/dWj4IQtWbIRP/uhTHj/zf59si+I+r3F+0Jl+PTmDtuY /wNKtcH5L9BHz4JMOcigG9RcYb27+N6A8PlWg9C18R/eiy/VbSj1Rp9ds2InncinL8LLjC szeda0NDsuslXHP4uRawqwjZ63HZ+d1zWxXQhc92fvVO9DqbSoPBjyuqjpc4oA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506304; a=rsa-sha256; cv=none; b=LaZvDUfD+DQP85NP/7cwa5HDF0kTp/oIhT7bK3om2g/XUvNLdoEnOk/pLq9JqLPIWUjhb3 RulSIJbPH3QQD5nPNceqTgsa4f+rThods34MEj4dhudPzKTT0AaMViAhHHPJmsWyTWPqMZ Jrq+8FiaOBcnWTEwxzcJjvsvbOqxAf4cp2C++hNwmRlO3pM5feKD7sf2OvO4zLKCX/LaIp 74AqGbFt5O5RfbCgzpAOM/6wJ0rpOp3d72yznj5C3hmnHvfwt1gz6vc+TDKKwOTmE6p+w2 um7uZW4RZ6HLHXlKv+7tQXp64Lq9ACDHy//8ps8HFBrfyWlKqXuCM7C1faZgtA== 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 4dsYNc2PrlzjVJ for ; Thu, 15 Jan 2026 19:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47d2a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:45:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 99d4a01be578 - stable/15 - makefs: tests: Fix timestamp-related tests 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: 99d4a01be578406e8fad2b9e137ff75498a5d9a9 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:45:04 +0000 Message-Id: <696943c0.47d2a.5c509f58@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=99d4a01be578406e8fad2b9e137ff75498a5d9a9 commit 99d4a01be578406e8fad2b9e137ff75498a5d9a9 Author: Jose Luis Duran AuthorDate: 2026-01-05 20:34:03 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:38:41 +0000 makefs: tests: Fix timestamp-related tests Use a variable for mtree that includes the DEFAULT_MTREE_KEYWORDS, in order to avoid missing the important "time" keyword or passing an unimplemented "nlink" keyword. Unskip the "failing" tests, and comment out the specific failing checks, these will be addressed (or at least discussed) in a different revision. For MS-DOS tests, use an even value timestamp, as precision is 2s. For ZFS tests, use import_image instead of mount_image consistently. Reviewed by: bnovkov, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54429 (cherry picked from commit 93b15dbc1fbc3c33c9bd53091b28c3b629d0abe1) --- usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 12 +++++------- usr.sbin/makefs/tests/makefs_ffs_tests.sh | 15 ++++++--------- usr.sbin/makefs/tests/makefs_msdos_tests.sh | 19 ++++++++----------- usr.sbin/makefs/tests/makefs_tests_common.sh | 1 + usr.sbin/makefs/tests/makefs_zfs_tests.sh | 12 +++++------- 5 files changed, 25 insertions(+), 34 deletions(-) diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index 21382684a96c..719c2045305f 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -85,7 +85,7 @@ F_flag_body() { create_test_inputs - atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR atf_check $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR @@ -102,8 +102,7 @@ from_mtree_spec_file_body() { create_test_inputs - atf_check -o save:$TEST_SPEC_FILE \ - mtree -c -k "$DEFAULT_MTREE_KEYWORDS" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR cd $TEST_INPUTS_DIR atf_check $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE cd - @@ -358,13 +357,12 @@ T_flag_dir_cleanup() atf_test_case T_flag_F_flag cleanup T_flag_F_flag_body() { - atf_expect_fail "-F doesn't take precedence over -T" timestamp_F=1742574909 timestamp_T=1742574910 create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type,time" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F atf_check \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR @@ -373,7 +371,7 @@ T_flag_F_flag_body() eval $(stat -s $TEST_MOUNT_DIR/dir1) atf_check_equal $st_atime $timestamp_F atf_check_equal $st_mtime $timestamp_F - atf_check_equal $st_ctime $timestamp_F + # atf_check_equal $st_ctime $timestamp_F } T_flag_F_flag_cleanup() @@ -388,7 +386,7 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR atf_check $MAKEFS -T $timestamp -o rockridge $TEST_IMAGE $TEST_SPEC_FILE mount_image diff --git a/usr.sbin/makefs/tests/makefs_ffs_tests.sh b/usr.sbin/makefs/tests/makefs_ffs_tests.sh index e1db5fa1b997..ac078394bf03 100644 --- a/usr.sbin/makefs/tests/makefs_ffs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_ffs_tests.sh @@ -56,8 +56,7 @@ autocalculate_image_size_body() { create_test_inputs - atf_check -o save:$TEST_SPEC_FILE \ - mtree -c -k "$DEFAULT_MTREE_KEYWORDS" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR cd $TEST_INPUTS_DIR atf_check -o not-empty $MAKEFS $TEST_IMAGE $TEST_SPEC_FILE @@ -98,7 +97,7 @@ F_flag_body() { create_test_inputs - atf_check -o save:$TEST_SPEC_FILE mtree -cp $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -M 1m $TEST_IMAGE $TEST_INPUTS_DIR @@ -116,8 +115,7 @@ from_mtree_spec_file_body() { create_test_inputs - atf_check -o save:$TEST_SPEC_FILE \ - mtree -c -k "$DEFAULT_MTREE_KEYWORDS" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR cd $TEST_INPUTS_DIR atf_check -o not-empty $MAKEFS -M 1m $TEST_IMAGE $TEST_SPEC_FILE @@ -257,13 +255,12 @@ T_flag_dir_cleanup() atf_test_case T_flag_F_flag cleanup T_flag_F_flag_body() { - atf_expect_fail "-F doesn't take precedence over -T" timestamp_F=1742574909 timestamp_T=1742574910 create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type,time" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -M 1m $TEST_IMAGE $TEST_INPUTS_DIR @@ -272,7 +269,7 @@ T_flag_F_flag_body() eval $(stat -s $TEST_MOUNT_DIR/dir1) atf_check_equal $st_atime $timestamp_F atf_check_equal $st_mtime $timestamp_F - atf_check_equal $st_ctime $timestamp_F + # atf_check_equal $st_ctime $timestamp_F } T_flag_F_flag_cleanup() @@ -287,7 +284,7 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR atf_check -o not-empty \ $MAKEFS -M 1m -T $timestamp $TEST_IMAGE $TEST_SPEC_FILE diff --git a/usr.sbin/makefs/tests/makefs_msdos_tests.sh b/usr.sbin/makefs/tests/makefs_msdos_tests.sh index 00ab1509ef55..f800bbcd6925 100644 --- a/usr.sbin/makefs/tests/makefs_msdos_tests.sh +++ b/usr.sbin/makefs/tests/makefs_msdos_tests.sh @@ -47,10 +47,7 @@ common_cleanup() atf_test_case T_flag_dir cleanup T_flag_dir_body() { - atf_expect_fail \ - "The msdos backend saves the wrong timestamp value" \ - "(possibly due to the 2s resolution for FAT timestamp)" - timestamp=1742574909 + timestamp=1742574908 # Even value, timestamp precision is 2s. create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 @@ -59,7 +56,8 @@ T_flag_dir_body() mount_image eval $(stat -s $TEST_MOUNT_DIR/dir1) - atf_check_equal $st_atime $timestamp + # FAT directory entries don't have an access time, just a date. + #atf_check_equal $st_atime $timestamp atf_check_equal $st_mtime $timestamp atf_check_equal $st_ctime $timestamp } @@ -72,21 +70,20 @@ T_flag_dir_cleanup() atf_test_case T_flag_F_flag cleanup T_flag_F_flag_body() { - atf_expect_fail "-F doesn't take precedence over -T" - timestamp_F=1742574909 + timestamp_F=1742574908 # Even value, timestamp precision is 2s. timestamp_T=1742574910 create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE \ - mtree -c -k "type,time" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F atf_check -o not-empty \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -s 1m $TEST_IMAGE $TEST_INPUTS_DIR mount_image eval $(stat -s $TEST_MOUNT_DIR/dir1) - atf_check_equal $st_atime $timestamp_F + # FAT directory entries don't have an access time, just a date. + #atf_check_equal $st_atime $timestamp atf_check_equal $st_mtime $timestamp_F atf_check_equal $st_ctime $timestamp_F } @@ -103,7 +100,7 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR atf_check -o not-empty \ $MAKEFS -T $timestamp -s 1m $TEST_IMAGE $TEST_SPEC_FILE diff --git a/usr.sbin/makefs/tests/makefs_tests_common.sh b/usr.sbin/makefs/tests/makefs_tests_common.sh index 44b02557925a..27ab89ae26ec 100644 --- a/usr.sbin/makefs/tests/makefs_tests_common.sh +++ b/usr.sbin/makefs/tests/makefs_tests_common.sh @@ -27,6 +27,7 @@ KB=1024 : ${TMPDIR=/tmp} DEFAULT_MTREE_KEYWORDS="type,mode,gid,uid,size,link,time" +MTREE="mtree -k $DEFAULT_MTREE_KEYWORDS" TEST_IMAGE="$TMPDIR/test.img" TEST_INPUTS_DIR="$TMPDIR/inputs" TEST_MD_DEVICE_FILE="$TMPDIR/md.output" diff --git a/usr.sbin/makefs/tests/makefs_zfs_tests.sh b/usr.sbin/makefs/tests/makefs_zfs_tests.sh index 7dd6005e49ec..9d5ce300843e 100644 --- a/usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ b/usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -979,24 +979,22 @@ T_flag_dir_cleanup() atf_test_case T_flag_F_flag cleanup T_flag_F_flag_body() { - atf_expect_fail "-F doesn't take precedence over -T" timestamp_F=1742574909 timestamp_T=1742574910 create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE \ - mtree -c -k "type,time" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR change_mtree_timestamp $TEST_SPEC_FILE $timestamp_F - atf_check -o not-empty \ + atf_check \ $MAKEFS -F $TEST_SPEC_FILE -T $timestamp_T -s 10g -o rootpath=/ \ -o poolname=$ZFS_POOL_NAME $TEST_IMAGE $TEST_INPUTS_DIR - mount_image + import_image eval $(stat -s $TEST_MOUNT_DIR/dir1) atf_check_equal $st_atime $timestamp_F atf_check_equal $st_mtime $timestamp_F - atf_check_equal $st_ctime $timestamp_F + # atf_check_equal $st_ctime $timestamp_F } T_flag_F_flag_cleanup() @@ -1011,7 +1009,7 @@ T_flag_mtree_body() create_test_dirs mkdir -p $TEST_INPUTS_DIR/dir1 - atf_check -o save:$TEST_SPEC_FILE mtree -c -k "type" -p $TEST_INPUTS_DIR + atf_check -o save:$TEST_SPEC_FILE $MTREE -c -p $TEST_INPUTS_DIR atf_check $MAKEFS -T $timestamp -s 10g -o rootpath=/ -o poolname=$ZFS_POOL_NAME \ $TEST_IMAGE $TEST_SPEC_FILE From nobody Thu Jan 15 19:45:05 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNd5G7Sz6PMcv for ; Thu, 15 Jan 2026 19:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYNd3mfwz41HD for ; Thu, 15 Jan 2026 19:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cvfDrRe/RkeSTw+Pg6lRfjrqyMB5GdoP1VlEn4UeQ98=; b=NMrKFa+VIhcuGHk2EVw4OuNDwcES37AoAeBkD43GGrRoTh4Ran8ylYy7dLOBjfo+w+3sq+ eSsiIN/EqpTkn2SmdqsZOsSDae8+pJFUaZgT2tdxFcqHy/1BYcdHC4B5xBxXnRh45UiEOA GwMrFIkaKzeLvnyVDqWexVK/m0tllNZfJwWgLq2B57ci9gpotuRY2SUqmMArB8lsyp1RD1 rVObcxmavX2WCyZ1G+SS4FepO8zBXgiOazerKbtnXrp4fDdgQNJtPq7xxq/cxf7yJykIGR /+uNw1QngvpkUc2LHO4su70qBsMSq9e3JEKdSANw3H9nHLbHfVnn3RXFrxt30w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cvfDrRe/RkeSTw+Pg6lRfjrqyMB5GdoP1VlEn4UeQ98=; b=rHGWYMgAM4GoTV0L083tvnwRbWUUqdwFgBG+43AioL6ilStmdDBqqQOlHkwOx9HKHxD6qg PFfxK3jVRLiS7TEF7y0NRvSJRgE8ZOi1OAeFnGsbymEWdkylOSQ79dMpqz1cZ1EfqkPIPH vS9ku49tI4r7o0CHDQ1BjOeXETsntxNveIUORZCRYTmrUYkD6a8Q59NZ1nVugaKAtIJSlX xjeSVdcP+DNSJtoPSw8GjwAdnbIXbEqarvX1/Ar9ocD9USAS1LNrudvRV3whSj+M6SQd9j ovqk4PF7JSXDWHXjMBE8YIxxZK5TaYHRJJDv9E4Us7qWJXB4BkcWpU45h418Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506305; a=rsa-sha256; cv=none; b=tlMDHOa5zHvVrBaRyQDmJB9gwdJbaRfFh7TCZz+0xUvWLOxGn///dRHUQcVVfTpEvkqQZH /9so7fZvDWIm5615Sns2GPBcFNqRsv7563Tcgj8g3nbSBwO7TEywKrIEhw62JRy6TaXV22 EZUTH149pcvu8FoiwdNjiNLgOAjoK7hjfxnNYfypblFrof6NyRWEO0NPD9fAuhjDk1BrZG GjT/C8FOD5vGd0y7IgLzPHKmIznNxezFeALh8TEzYeqsHWUSA8UIGpckb41vNmFgQXBdQK r5nt3iKcdneO4ZlWVcPMf8shNHrNpk+XYBaDRqGrqlTtBzNiSc0mKL2lNlpR1g== 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 4dsYNd395dzjhQ for ; Thu, 15 Jan 2026 19:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4697f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:45:05 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 2bcc55600d89 - stable/15 - makefs: Fix typo 's/mirrorring/mirroring/' 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: 2bcc55600d896c83c077a59c5b16280a5c27dd45 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:45:05 +0000 Message-Id: <696943c1.4697f.4fc0df7c@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=2bcc55600d896c83c077a59c5b16280a5c27dd45 commit 2bcc55600d896c83c077a59c5b16280a5c27dd45 Author: Jose Luis Duran AuthorDate: 2026-01-05 20:35:37 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:38:55 +0000 makefs: Fix typo 's/mirrorring/mirroring/' MFC after: 1 week (cherry picked from commit 73af599fb7be6806b553ac6f470d76711b74286c) --- usr.sbin/makefs/msdos/msdosfs_vfsops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/makefs/msdos/msdosfs_vfsops.c b/usr.sbin/makefs/msdos/msdosfs_vfsops.c index 8b5eac4a4b66..c6d0a38c834b 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vfsops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vfsops.c @@ -163,7 +163,7 @@ m_msdosfs_mount(struct m_vnode *devvp) pmp->pm_fatdiv = 1; pmp->pm_FATsecs = getulong(b710->bpbBigFATsecs); - /* mirrorring is enabled if the FATMIRROR bit is not set */ + /* mirroring is enabled if the FATMIRROR bit is not set */ if ((getushort(b710->bpbExtFlags) & FATMIRROR) == 0) pmp->pm_flags |= MSDOSFS_FATMIRROR; else From nobody Thu Jan 15 19:45:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYNg2v47z6PMGh for ; Thu, 15 Jan 2026 19:45: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 4dsYNf4QXDz41Pd for ; Thu, 15 Jan 2026 19:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F1EQ0YN4CT6JGkNhP7XBjcwnhx8vaIxy1eAhwP8xOVo=; b=g680RIZtULP9cMTGbi9OYcw2wLojTtF0mV2wN9XvkAHTA9Fmqr7R+NRYjZG5VJjK19iOVE ExZ12Fjx8zfz1lfIKceEmQCpiut1Oe7/XSu8/+3AedBogQRmAUlU7hp1LotqXSrIXUc6Qy vOUipxIqgC+RJg/MTRjY18hq+/bQ3GASeovpuyTFYK6IiPnDjwWOt9SKhiiIhsIApsoJ0S WYKO5u68XdzkuHdszvniPDVV4SwR/GjCEWQuKg8ljXGQFBjIOX//q4vJ4EMdsTrWjEYXlU JF7PwbY24LRAc5UGv1a1VHhNQlezX0mA59iXTFE/tAoXYrejNLxvR4n+C0IRQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F1EQ0YN4CT6JGkNhP7XBjcwnhx8vaIxy1eAhwP8xOVo=; b=g8AU/CkKDJ5OJWfQNOYl3SAFew62W1k+zXG28oZDrB7TBopCRkMoryUnkKJ6pxEr1NDFf1 KmgdCMAVxAlfdYmrl7igSYQAxw6Be/AJM0cZZTkgNRxxpy8ZVEexJQ4gnO+RTSNnOTcUQn BEm+t80eWK2fQUr1j63gGsKav4mWSYKKVwejk3kl4aKD/IrBWoUGSAtR2GEvfe2xeZrW9+ yRhkwlVUd3NN+oshBwERnb7oyWIj5GV3BMeb3r6nAW6AqpyFPyP3Gm+omVrfpylhNA6K1U o9pk1w2lm9nlFfOsc0UNL2dqlH4RSF92qr4hTDTILxJEVigbW0lw62ZXVbo5aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506306; a=rsa-sha256; cv=none; b=QFavVayP0JMweiqR0KRLmEjy/fgqjx5ZFMKef0NkwJ5oQnfIjudlE74FwNAUtprxmlIuGz nP9arPB14T6DV+FbTiDsMaO4hE7ZZYnj/R/JoNVlUGhYzyXrNzkoJw937KsqX72No1xNwu U+x+wZiqUphWAy//M/hVVBun9RbBNZ1mS3anmctftqXEte7y91EEiVgg4li/d/icLfW3uS 6iOASo7p/1oDqJ3gAJg72ve2Xyu1oXCbVvMMG1sr55Nwov5NeJU7X/cabk8TwmAFRQ5S9o Q+C0Xr0i8Z8AvRkMgtRmSrGAn4IPEV4YRUcv+p1lm8aH3ocs3JwgzTYoeTnU8Q== 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 4dsYNf3wB7zj9c for ; Thu, 15 Jan 2026 19:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4790e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:45:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 5f53e656e965 - stable/15 - makefs.8: Cleanup man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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: 5f53e656e9658dfa99562bbaeb0a1eeb3a1d12f5 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:45:06 +0000 Message-Id: <696943c2.4790e.2d0f6641@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=5f53e656e9658dfa99562bbaeb0a1eeb3a1d12f5 commit 5f53e656e9658dfa99562bbaeb0a1eeb3a1d12f5 Author: Jose Luis Duran AuthorDate: 2026-01-06 00:59:27 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:39:10 +0000 makefs.8: Cleanup man page Reviewed by: ziaee MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54538 (cherry picked from commit 12c51484188f88bcabc5b38ca8523fcde76830a6) --- usr.sbin/makefs/makefs.8 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8 index d20f69d87559..f77e07902ad2 100644 --- a/usr.sbin/makefs/makefs.8 +++ b/usr.sbin/makefs/makefs.8 @@ -33,7 +33,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 19, 2025 +.Dd January 5, 2026 .Dt MAKEFS 8 .Os .Sh NAME @@ -124,7 +124,7 @@ See the source for usage, and look for defines starting with .It Fl F Ar mtree-specfile .Em This is almost certainly not the option you are looking for. To create an image from a list of files in an mtree format manifest, -specify it as the last argument on the command line, not as a the +specify it as the last argument on the command line, not as the argument to .Fl F . .Pp @@ -325,7 +325,8 @@ Expected number of files per directory. .It Sy bsize Block size. .It Sy density -Bytes per inode. If unset, will allocate the minimum number of inodes to +Bytes per inode. +If unset, will allocate the minimum number of inodes to represent the filesystem if no free space has been requested (free blocks or minimum size set); otherwise the larger of the newfs defaults or what is required by the free inode parameters if set. @@ -598,7 +599,7 @@ Dataset properties, as described in may be specified following the dataset name. The following properties may be set for a dataset: .Pp -.Bl -tag -compact -offset indent +.Bl -hang -compact -offset indent .It atime .It canmount .It compression From nobody Thu Jan 15 19:49:34 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYTp25Vqz6PMsc for ; Thu, 15 Jan 2026 19:49:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYTp1CnQz43cY for ; Thu, 15 Jan 2026 19:49:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzEJkJgQeETQSniZUTRSkZ9qz32gR4A8n2b4ZqqHwSI=; b=RBDtPNTktATWSQ4C7X8Ej61VJlJd3tnM6+x8f5hBYOyo2lLQnqGBRqG+Rx4RqcGqqoaA0N IRGeaXaknSlzq22BaJZ9Wzlu8thxAbAyB1x4ESl1RYysTCKi7+ue9Zj4lP39N5z6LT7KIi dtZZVszIiAd090fWLvMXFoMRf88rWiztzhpbD5ewL99/OStQRAx2nxXQnGVMVyK5XX8Qa7 kyZThOtdly5/baF2ysnmid1Gue/nZAjJcbG5puIn/kMJKRodlBszQ7ryLqTRUW9/SVPHgU 3J06hhPULet05t7064T50dThUf0BDM7SUFYDr+3ie6+YkC5G1eiWiIGDYgCL2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzEJkJgQeETQSniZUTRSkZ9qz32gR4A8n2b4ZqqHwSI=; b=FmYY3sm9f2v5jdSE3k8NaYgvExvlpDOY4awzeMHc4AtyuxBUHM7VRT1kT6LQTOYZ5nse7U KE571nqPvU0bHgfp5bUQeXPj0ctK7EZjHeSyJ9W2Ml1uRtOxH7CFm2AneyoprH+IvDvdSh TFrZH5kDYo2focds/16eqZnJMB9x5VHmpUfYN+6PCmG59V5TXOIMG31lfcc28Mp4UU+vpl J8Gul9CD8LCFeAtGG9GY5WjBsHRQGbRalWk87Tpz8pNO7B+2l8gEAMOMEpzCX9slKsOVbI 5ptiohDCECto68yxNU+BZdOmGljOCSn0Yi9lwC83xj1tdp+UMFFlAnw8GJQmyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506574; a=rsa-sha256; cv=none; b=POORR1XpcU2ka+ME8wTyXMcIoPcX6XvIw1K1VB/TXrWDyDfX/TL9mHjtVgo5m4rdVFXpxS WfBTGCwTYskoFyv2GNKRPIW2IISTBCkV5UsOpTRGcawm3reIauRl33K5jO/UKshV0IYbJD fle+0H7Bu/OijhFypxOIVgbuByd0JyKeUjoCqO+IxpUOn6ZUinqugjNVl8BcF/eBgILtTH H14ggzGuuBlf02YxYopoVLW2KngZfcnYl2ZfiFkt8dvXGWLT/CamJYOiGymyrbkkjoUL/t HBqpDmLRAyjDABQOVGpjVlJes7p05/pwtKo75oS3FxWaNG40+K3PznGMFDs5pw== 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 4dsYTp0qfyzjhS for ; Thu, 15 Jan 2026 19:49:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47912 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:49:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 64341378fadf - stable/14 - makefs: Fix typo 's/mirrorring/mirroring/' 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: 64341378fadf9bb3e5490b91d17e659097f7804f Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:49:34 +0000 Message-Id: <696944ce.47912.37ed5495@gitrepo.freebsd.org> The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=64341378fadf9bb3e5490b91d17e659097f7804f commit 64341378fadf9bb3e5490b91d17e659097f7804f Author: Jose Luis Duran AuthorDate: 2026-01-05 20:35:37 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:47:23 +0000 makefs: Fix typo 's/mirrorring/mirroring/' MFC after: 1 week (cherry picked from commit 73af599fb7be6806b553ac6f470d76711b74286c) --- usr.sbin/makefs/msdos/msdosfs_vfsops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/makefs/msdos/msdosfs_vfsops.c b/usr.sbin/makefs/msdos/msdosfs_vfsops.c index 8b5eac4a4b66..c6d0a38c834b 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vfsops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vfsops.c @@ -163,7 +163,7 @@ m_msdosfs_mount(struct m_vnode *devvp) pmp->pm_fatdiv = 1; pmp->pm_FATsecs = getulong(b710->bpbBigFATsecs); - /* mirrorring is enabled if the FATMIRROR bit is not set */ + /* mirroring is enabled if the FATMIRROR bit is not set */ if ((getushort(b710->bpbExtFlags) & FATMIRROR) == 0) pmp->pm_flags |= MSDOSFS_FATMIRROR; else From nobody Thu Jan 15 19:49:35 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYTq409Lz6PMsd for ; Thu, 15 Jan 2026 19:49: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 4dsYTq2FP6z43XN for ; Thu, 15 Jan 2026 19:49:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MMC96hrmiv1redzF7fb//BAqo/ymr8r37e0GQ3GbspU=; b=EnVygGIUpbysWKTBYxSP3ntZjYfjehpavOnqJETwq2N5ppBB/RuZtrMPT0PjZbskqzqjCC L5uhICNT85Jdwy6LxuHb6mU2FV1Hd1p8WOeQNNO+loLGn4soMS4mWLnf9w2li1UxqbvfbB yY4mnkyRh/3xYZGiaQEIpn6BRJWxjb8/34v2g4Wg3+Tw89V1NjhKZWAQPsO6IypwcbS4f7 lTCpopFwyZeNmLXCF1QJJoGkQ8kNiZzfnJGrZbe70lWvt9yPp8vKyk9rnof1DAwjRoH/EO xhOn9G95QaflkZ5l6uxZ1jn8O/ZlYx5ptoOosH1R1ghGfC63qBs8eBU+1kVoYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MMC96hrmiv1redzF7fb//BAqo/ymr8r37e0GQ3GbspU=; b=EW2aUBpfVKnaQZLSup3qlb0VlOrHdHBDj7MgppnJYrq2FL7idJEtH9anYoDgwTooLHAoR5 JLw5Hpm/4Mten0UzHN6EhhEsbV8K4Wp3f9foODHqGPCH0xYffHi1lh8f/JrpfUZtiS8uyw ckt7mIt1CnQMnKn9Xo/e1yKVhGqepMoLECN5a6/vz53G45E6q5QyV88yaTqCzDWgAVCXYH ARR/+CFEfrALRDmhM2hVwXTkij1dEC4kPlcuql/6d5SBGYQnuR1o6J6IjEszTfASOVnpVH kkICwcN/5nxSUj2mcjr2ns6M98uNRTpANJwUXIljxtJuW6FiupHlHe0OxlTkDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506575; a=rsa-sha256; cv=none; b=O0v1AJ6vCIKRrAwrOraC7hmdlL2RQceFnJcbntfGbMiVX4sjJywtvReX1FbEZQUXYaA9lb 2v2ZDom75Erna0PJ55XOr6DcBBf0DJIHVasi9osrkVmoTBdLf1Q9DgRlWgzkkxPStGo4PY EL02FzeIevjVF/HX5fR4oWuKlkb45SxjxxYjA8yYozGaSnOUuyUUOKeH2yHISrP0qudm7r X9fwXGgPI8DgAfmxcOLuAeqYoMWrNsyFnnwL0GNrTwsmfjf2IuA2Oyo4Y0U1ge5JeRBxJm V8Mk8omGS7HY73hwcYF+lDRP7xzJelKxJnse7tRs0iN99+oKtOUv4xBJMeP1pg== 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 4dsYTq1b2szj9g for ; Thu, 15 Jan 2026 19:49:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47644 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:49:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 506203ae99e6 - stable/14 - makefs.8: Cleanup man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org 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: 506203ae99e62b791d2f0fcb465cf5e080579824 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:49:35 +0000 Message-Id: <696944cf.47644.72c7c4ea@gitrepo.freebsd.org> The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=506203ae99e62b791d2f0fcb465cf5e080579824 commit 506203ae99e62b791d2f0fcb465cf5e080579824 Author: Jose Luis Duran AuthorDate: 2026-01-06 00:59:27 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:49:00 +0000 makefs.8: Cleanup man page Reviewed by: ziaee MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54538 (cherry picked from commit 12c51484188f88bcabc5b38ca8523fcde76830a6) --- usr.sbin/makefs/makefs.8 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr.sbin/makefs/makefs.8 b/usr.sbin/makefs/makefs.8 index d3b7c9c3e519..53fb4527f01b 100644 --- a/usr.sbin/makefs/makefs.8 +++ b/usr.sbin/makefs/makefs.8 @@ -33,7 +33,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 19, 2025 +.Dd January 5, 2026 .Dt MAKEFS 8 .Os .Sh NAME @@ -124,7 +124,7 @@ See the source for usage, and look for defines starting with .It Fl F Ar mtree-specfile .Em This is almost certainly not the option you are looking for. To create an image from a list of files in an mtree format manifest, -specify it as the last argument on the command line, not as a the +specify it as the last argument on the command line, not as the argument to .Fl F . .Pp @@ -319,7 +319,8 @@ Expected number of files per directory. .It Sy bsize Block size. .It Sy density -Bytes per inode. If unset, will allocate the minimum number of inodes to +Bytes per inode. +If unset, will allocate the minimum number of inodes to represent the filesystem if no free space has been requested (free blocks or minimum size set); otherwise the larger of the newfs defaults or what is required by the free inode parameters if set. @@ -598,7 +599,7 @@ Dataset properties, as described in may be specified following the dataset name. The following properties may be set for a dataset: .Pp -.Bl -tag -compact -offset indent +.Bl -hang -compact -offset indent .It atime .It canmount .It compression From nobody Thu Jan 15 19:49:54 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYVB6gv0z6PMsl for ; Thu, 15 Jan 2026 19:49: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 4dsYVB4ZS6z44G9 for ; Thu, 15 Jan 2026 19:49:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ikQvUsujo7JzyTeDxdSIRygKh94Rh/C0xML+vhND84s=; b=MO7RJFL9hHIJ05hUaob7M7pbUo50xgANGHlxaBqgdqbnhRdw70qqvu3N9X0dgU3DTdOIvO Mnb8S6XpH9wh5MssZ0Y83HEGFNrch8YDp/9DU8R0DrdhhaVYswUFT/gVXqWnUbCch/srNZ TBShkXBdq+FI/z44HHtA5glTW0n0aUpGAa3lU5SLBGLTqJ7gLjMVV+olIJ3+l1uiy7PZvp 3H2MuuCSUWcEYaKXN8WaAMj1MYUNnrm7a7DiacdT+PTdrJ5+do5aXinfsgKrq10Z80qI5B BCpdlBlbi7F4/hV7eh0ORYeVVRGuBUrtvwRaPzw1sk6ZsIUQQFudT+BSGNU9iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768506594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ikQvUsujo7JzyTeDxdSIRygKh94Rh/C0xML+vhND84s=; b=vCTHKI7W9H9YBjqXfUsxF8HNkrefpHiJkzbOhEJ+Q/CFfbdZDgp+mfH6KO05myuI4+5Agl aIESOOgnZw5NMIAqayXVxSkiAqWrhBFDf/f7v/bSHqmyzq0q8RSTz4gv0ieEdsp9Z0fSsW 2LLZ7dwLgTIkSZhFhrN7HxFNia/khPNSSfVq3bFTjJO1L3UYrpIBEeBO3FdfPnMf07DQPQ DfS1unrVsBCreIGNVE5qB62I1cTY4vx68RW7G4VzDrxL3vzqv9fx3Mp0vAZtg1i9YIfemF bsUzASL1svcXyc45Gx2++vTUqveAiuBbb42sHOARu+rUhuHa9yUHqotbf05+Vw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768506594; a=rsa-sha256; cv=none; b=ZPWsEgOfONjgvngvc1K3z2AVaVm/mrjbhgJrhm1ZAHcX+TD56CtwY7HO2RsroMvkw5XBOc YHapvrjHmOlRid3NlDwE+CjMbmNpcVDy8b7T8TlIpvkh9boC91bsuHQSVA6EnBk/4aG8UB Q5/Bog10DpCx5QhITI0BIf3QkCTcDmRu702rH7JcnRgIae+n3EMEyIgnjOEGrJ2hvfJbQb 3f8opXpHQo5MC9wSs/r4ur8N+g+tVgH4v3v16ntr5tXXbPDacjQRUSR5wGfDqIH8ybjUhS n8PEpVu+alFxUWhl9SBzkjwmgNRSvNoQzPXLVCZJYpQ9yR13+H4seM8KqcBr2w== 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 4dsYVB3bJMzjVN for ; Thu, 15 Jan 2026 19:49:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47a10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 19:49:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: 70db1cd937e8 - stable/13 - makefs: Fix typo 's/mirrorring/mirroring/' 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: 70db1cd937e8bf98c75ff7cba2c905cb644ad9e3 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 19:49:54 +0000 Message-Id: <696944e2.47a10.4debb673@gitrepo.freebsd.org> The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=70db1cd937e8bf98c75ff7cba2c905cb644ad9e3 commit 70db1cd937e8bf98c75ff7cba2c905cb644ad9e3 Author: Jose Luis Duran AuthorDate: 2026-01-05 20:35:37 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-15 19:48:17 +0000 makefs: Fix typo 's/mirrorring/mirroring/' MFC after: 1 week (cherry picked from commit 73af599fb7be6806b553ac6f470d76711b74286c) --- usr.sbin/makefs/msdos/msdosfs_vfsops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/makefs/msdos/msdosfs_vfsops.c b/usr.sbin/makefs/msdos/msdosfs_vfsops.c index a142c143a05c..260e2d102a43 100644 --- a/usr.sbin/makefs/msdos/msdosfs_vfsops.c +++ b/usr.sbin/makefs/msdos/msdosfs_vfsops.c @@ -169,7 +169,7 @@ msdosfs_mount(struct vnode *devvp) pmp->pm_fatdiv = 1; pmp->pm_FATsecs = getulong(b710->bpbBigFATsecs); - /* mirrorring is enabled if the FATMIRROR bit is not set */ + /* mirroring is enabled if the FATMIRROR bit is not set */ if ((getushort(b710->bpbExtFlags) & FATMIRROR) == 0) pmp->pm_flags |= MSDOSFS_FATMIRROR; else From nobody Thu Jan 15 20:03:48 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYpD3NYyz6PNFn for ; Thu, 15 Jan 2026 20:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYpD2pN6z45n1 for ; Thu, 15 Jan 2026 20:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768507428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JWaPovp/RzzX1w9siav7McVcjcMqPydanjTFOrX+IGM=; b=dn2xH4P446ZzdeBV0jzYBzqqHQ78hI0D6dQ+sCOtbu7loIeIqOupQKCNBlZ5ijY4c9Z4M5 eRvEWRgSCij5IrlgrnG4Ap0fEaN4YgJoK21KmjSv9Ov4PT6slWh8of2oMIcEjcOiHMOw5B 5IZZzvSIOvCPbH7NnVWXKpU2xGa/1jAxfChlMTyGZ7Rqjmg6wfzWRxx95vqDHR7BtLYuV7 b6BSpgO4wMzZ1sXj2QW4dC1poJfdgCxDIxEfkyF7Luj2HLRSTa077KeiYqhbcVrnL+rGO2 d0YSzzWBJmmF7P7fJLQLwPje3qTN2V2MoYhRFHT+sHSweFKfFX47TGAiBTTJvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768507428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JWaPovp/RzzX1w9siav7McVcjcMqPydanjTFOrX+IGM=; b=JMiwhcSkNl8B164eLZsyRSbAcAHjDMfd5rHVM9gCHmwpF8ZP87Y0GqY3IEeHFS+oQqhQDZ TdfqS/erBSdFzLAf6hpXkem3hBxshe3CA9pEe722OAnj2rJTIwUvBEGsjRVcCMbw0ZGL4e PW0gLhusEhyssXnyXbF06jzABvjBlbrVFfk1khiRFBeYEIK/C+9kZobnYDgIuHhOybQ7Eo 21L3mW5HZ13WwStjZabs1ZRBw1qYTXHnmOLBVb7bkdzXPrJGbWCO9cue+zd8gl4t4ceHVc crEM3cCCmbotPSvPjVG90Olq5zGGUyaFUdnIzBIxQRNj3C4giyeTGEOrp1ztAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768507428; a=rsa-sha256; cv=none; b=NgdVnsjgXgWUEJyYve/kHjdymvrMfYNlplDOcomphwWGqXh+kpnpv/FxSe0wCPe+PPnEe2 zfoTlmztj402jH9GzQwO/bFkyFx+13GyHAtMjbGJ8wUQPyXmqMeElzy4bhGQsxX+OiOdOn rGmyfNNN/0EhyL930vnZ5h1ZfgDPzjyN12j+TxJRcv6nbsWeOeo6z8R8se5bU5rJmfHslW 7zSDKUVu8bqYQ1ahZ1QwBl7HER/yggyDd++TR3WHqgDdZZy/FikzMwyTkkUY5jBnALffWo jSRlFv3++KGb1fecH7ZvE2nIksxReBqRkRpV/ghj5POLBA3KerBHHDh0iNLmuA== 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 4dsYpD2PXwzkD9 for ; Thu, 15 Jan 2026 20:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 8cfd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 20:03:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: ca5d4e7f63d0 - stable/15 - libarchive: merge from vendor branch 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: ca5d4e7f63d0c30ea829dd68930431693e8253cd Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 20:03:48 +0000 Message-Id: <69694824.8cfd.4a338a30@gitrepo.freebsd.org> The branch stable/15 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=ca5d4e7f63d0c30ea829dd68930431693e8253cd commit ca5d4e7f63d0c30ea829dd68930431693e8253cd Author: Martin Matuska AuthorDate: 2025-11-19 13:33:40 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 20:03:15 +0000 libarchive: merge from vendor branch libarchive 3.8.3 Important bugfixes: #2753 lib: Create temporary files in the target directory #2768 lha: Fix for an out-of-bounds buffer overrun when using p[H_LEVEL_OFFSET] #2769 7-zip: Fix a buffer overrun when reading truncated 7zip headers #2771 lz4 and zstd: Support both lz4 and zstd data with leading skippable frames Obtained from: libarchive Vendor commit: 1368b08875351df8aa268237b882c8f4ceb0882d MFC after: 1 week (cherry picked from commit 007679a138089676aadc9a712277f4004403b905) --- contrib/libarchive/NEWS | 2 + contrib/libarchive/libarchive/archive.h | 4 +- contrib/libarchive/libarchive/archive_entry.h | 2 +- contrib/libarchive/libarchive/archive_entry_stat.3 | 2 +- .../libarchive/archive_read_disk_entry_from_file.c | 10 +- .../libarchive/archive_read_disk_posix.c | 10 +- .../libarchive/archive_read_support_filter_lz4.c | 82 +- .../libarchive/archive_read_support_filter_zstd.c | 67 +- .../libarchive/archive_read_support_format_7zip.c | 8 +- .../libarchive/archive_read_support_format_lha.c | 2 +- .../libarchive/archive_read_support_format_tar.c | 1 + .../libarchive/archive_read_support_format_zip.c | 28 +- contrib/libarchive/libarchive/archive_string.c | 20 + contrib/libarchive/libarchive/archive_string.h | 4 + .../libarchive/archive_write_disk_posix.c | 20 +- .../libarchive/archive_write_open_filename.c | 2 + contrib/libarchive/libarchive/module.modulemap | 34 + .../libarchive/test/test_archive_string.c | 38 + .../libarchive/libarchive/test/test_compat_lz4.c | 2 + .../test_compat_lz4_skippable_frames_B4.tar.lz4.uu | 6739 ++++++++++++++++++++ .../test/test_read_format_7zip_issue2765.7z.uu | 5 + .../test/test_read_format_7zip_issue2765.c | 51 + .../libarchive/tar/test/test_option_safe_writes.c | 1 + contrib/libarchive/tar/util.c | 5 +- contrib/libarchive/test_utils/test_main.c | 27 +- lib/libarchive/tests/Makefile | 3 + 26 files changed, 7109 insertions(+), 60 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index f2dd4102fa04..971ae8e441e1 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,3 +1,5 @@ +Nov 17, 2026: libarchive 3.8.3 released + Oct 15, 2026: libarchive 3.8.2 released Jun 01, 2026: libarchive 3.8.1 released diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 98d7674e18f1..9794dced6ca9 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008002 +#define ARCHIVE_VERSION_NUMBER 3008003 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.2" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.3" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 344f33bffac2..924b67a301cf 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008002 +#define ARCHIVE_VERSION_NUMBER 3008003 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_entry_stat.3 b/contrib/libarchive/libarchive/archive_entry_stat.3 index 29a53f75607f..2f4a1920eb64 100644 --- a/contrib/libarchive/libarchive/archive_entry_stat.3 +++ b/contrib/libarchive/libarchive/archive_entry_stat.3 @@ -207,7 +207,7 @@ for setting is recommended. The function .Fn archive_entry_size returns the file size, if it has been set, and 0 otherwise. -.Fn archive_entry_size +.Fn archive_entry_size_is_set can be used to query that status. .Fn archive_entry_set_size and diff --git a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c index 42af4034b07e..121af19872e9 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c +++ b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c @@ -358,12 +358,10 @@ setup_mac_metadata(struct archive_read_disk *a, return (ARCHIVE_OK); archive_string_init(&tempfile); - if (__archive_get_tempdir(&tempfile) != ARCHIVE_OK) { - ret = ARCHIVE_WARN; - goto cleanup; - } - archive_strcat(&tempfile, "tar.md.XXXXXX"); - tempfd = mkstemp(tempfile.s); + archive_strcpy(&tempfile, name); + archive_string_dirname(&tempfile); + archive_strcat(&tempfile, "/tar.XXXXXXXX"); + tempfd = __archive_mkstemp(tempfile.s); if (tempfd < 0) { archive_set_error(&a->archive, errno, "Could not open extended attribute file"); diff --git a/contrib/libarchive/libarchive/archive_read_disk_posix.c b/contrib/libarchive/libarchive/archive_read_disk_posix.c index 54a8e66188f8..7cd292f259ff 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_read_disk_posix.c @@ -107,6 +107,8 @@ #define O_CLOEXEC 0 #endif +#define MAX_FILESYSTEM_ID 1000000 + #if defined(__hpux) && !defined(HAVE_DIRFD) #define dirfd(x) ((x)->__dd_fd) #define HAVE_DIRFD @@ -1412,8 +1414,12 @@ update_current_filesystem(struct archive_read_disk *a, int64_t dev) * This is the new filesystem which we have to generate a new ID for. */ fid = t->max_filesystem_id++; + if (fid > MAX_FILESYSTEM_ID) { + archive_set_error(&a->archive, ENOMEM, "Too many filesystems"); + return (ARCHIVE_FATAL); + } if (t->max_filesystem_id > t->allocated_filesystem) { - size_t s; + int s; void *p; s = t->max_filesystem_id * 2; @@ -1693,8 +1699,6 @@ setup_current_filesystem(struct archive_read_disk *a) #endif t->current_filesystem->noatime = 0; - /* Set maximum filename length. */ - t->current_filesystem->name_max = svfs.f_namemax; return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c b/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c index 760e6d938d2a..144572ef2362 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c @@ -49,9 +49,12 @@ #include "archive_xxhash.h" #define LZ4_MAGICNUMBER 0x184d2204 -#define LZ4_SKIPPABLED 0x184d2a50 #define LZ4_LEGACY 0x184c2102 +// Note: LZ4 and zstd share the same skippable frame format with the same magic numbers. +#define LZ4_SKIPPABLE_START 0x184D2A50 +#define LZ4_SKIPPABLE_MASK 0xFFFFFFF0 + #if defined(HAVE_LIBLZ4) struct private_data { enum { SELECT_STREAM, @@ -141,19 +144,67 @@ lz4_reader_bid(struct archive_read_filter_bidder *self, { const unsigned char *buffer; ssize_t avail; - int bits_checked; - uint32_t number; + int bits_checked = 0; + ssize_t min_lz4_archive_size = 11; + + // LZ4 skippable frames contain a 4 byte magic number followed by + // a 4 byte frame data size, then that number of bytes of data. Regular + // frames contain a 4 byte magic number followed by a 2-14 byte frame + // header, some data, and a 3 byte end marker. + ssize_t min_lz4_frame_size = 8; + + ssize_t offset_in_buffer = 0; + ssize_t max_lookahead = 64 * 1024; - (void)self; /* UNUSED */ + (void)self; // UNUSED - /* Minimal lz4 archive is 11 bytes. */ - buffer = __archive_read_filter_ahead(filter, 11, &avail); + // Zstd and LZ4 skippable frame magic numbers are identical. To + // differentiate these two, we need to look for a non-skippable + // frame. + + // Minimal lz4 archive is 11 bytes. + buffer = __archive_read_filter_ahead(filter, min_lz4_archive_size, &avail); if (buffer == NULL) return (0); - /* First four bytes must be LZ4 magic numbers. */ - bits_checked = 0; - if ((number = archive_le32dec(buffer)) == LZ4_MAGICNUMBER) { + uint32_t magic_number = archive_le32dec(buffer); + + while ((magic_number & LZ4_SKIPPABLE_MASK) == LZ4_SKIPPABLE_START) { + + offset_in_buffer += 4; // Skip over the magic number + + // Ensure that we can read another 4 bytes. + if (offset_in_buffer + 4 > avail) { + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + 4, &avail); + if (buffer == NULL) + return (0); + } + + uint32_t frame_data_size = archive_le32dec(buffer + offset_in_buffer); + + // Skip over the 4 frame data size bytes, plus the value stored there. + offset_in_buffer += 4 + frame_data_size; + + // There should be at least one more frame if this is LZ4 data. + if (offset_in_buffer + min_lz4_frame_size > avail) { // TODO: should this be >= ? + if (offset_in_buffer + min_lz4_frame_size > max_lookahead) + return (0); + + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + min_lz4_frame_size, &avail); + if (buffer == NULL) + return (0); + } + + magic_number = archive_le32dec(buffer + offset_in_buffer); + } + + // We have skipped over any skippable frames. Either a regular LZ4 frame + // follows, or this isn't LZ4 data. + + bits_checked = offset_in_buffer; + buffer = buffer + offset_in_buffer; + + if (magic_number == LZ4_MAGICNUMBER) { unsigned char flag, BD; bits_checked += 32; @@ -175,11 +226,16 @@ lz4_reader_bid(struct archive_read_filter_bidder *self, if (BD & ~0x70) return (0); bits_checked += 8; - } else if (number == LZ4_LEGACY) { + + return (bits_checked); + } + + if (magic_number == LZ4_LEGACY) { bits_checked += 32; + return (bits_checked); } - - return (bits_checked); + + return (0); } #if !defined(HAVE_LIBLZ4) @@ -342,7 +398,7 @@ lz4_filter_read(struct archive_read_filter *self, const void **p) return lz4_filter_read_default_stream(self, p); else if (number == LZ4_LEGACY) return lz4_filter_read_legacy_stream(self, p); - else if ((number & ~0xF) == LZ4_SKIPPABLED) { + else if ((number & LZ4_SKIPPABLE_MASK) == LZ4_SKIPPABLE_START) { read_buf = __archive_read_filter_ahead( self->upstream, 4, NULL); if (read_buf == NULL) { diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c b/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c index 9a1dd71abdf6..da7c540dbcd9 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c @@ -110,24 +110,67 @@ zstd_bidder_bid(struct archive_read_filter_bidder *self, { const unsigned char *buffer; ssize_t avail; - unsigned prefix; - /* Zstd frame magic values */ - unsigned zstd_magic = 0xFD2FB528U; - unsigned zstd_magic_skippable_start = 0x184D2A50U; - unsigned zstd_magic_skippable_mask = 0xFFFFFFF0; + // Zstandard skippable frames contain a 4 byte magic number followed by + // a 4 byte frame data size, then that number of bytes of data. Regular + // frames contain a 4 byte magic number followed by a 2-14 byte frame + // header, some data, and a 3 byte end marker. + ssize_t min_zstd_frame_size = 8; - (void) self; /* UNUSED */ + ssize_t offset_in_buffer = 0; + ssize_t max_lookahead = 64 * 1024; - buffer = __archive_read_filter_ahead(filter, 4, &avail); + // Zstd regular frame magic number. + uint32_t zstd_magic = 0xFD2FB528U; + + // Note: Zstd and LZ4 skippable frame magic numbers are identical. + // To differentiate these two, we need to look for a non-skippable + // frame. + uint32_t zstd_magic_skippable_start = 0x184D2A50; + uint32_t zstd_magic_skippable_mask = 0xFFFFFFF0; + + (void) self; // UNUSED + + buffer = __archive_read_filter_ahead(filter, min_zstd_frame_size, &avail); if (buffer == NULL) return (0); - prefix = archive_le32dec(buffer); - if (prefix == zstd_magic) - return (32); - if ((prefix & zstd_magic_skippable_mask) == zstd_magic_skippable_start) - return (32); + uint32_t magic_number = archive_le32dec(buffer); + + while ((magic_number & zstd_magic_skippable_mask) == zstd_magic_skippable_start) { + + offset_in_buffer += 4; // Skip over the magic number + + // Ensure that we can read another 4 bytes. + if (offset_in_buffer + 4 > avail) { + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + 4, &avail); + if (buffer == NULL) + return (0); + } + + uint32_t frame_data_size = archive_le32dec(buffer + offset_in_buffer); + + // Skip over the 4 frame data size bytes, plus the value stored there. + offset_in_buffer += 4 + frame_data_size; + + // There should be at least one more frame if this is zstd data. + if (offset_in_buffer + min_zstd_frame_size > avail) { + if (offset_in_buffer + min_zstd_frame_size > max_lookahead) + return (0); + + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + min_zstd_frame_size, &avail); + if (buffer == NULL) + return (0); + } + + magic_number = archive_le32dec(buffer + offset_in_buffer); + } + + // We have skipped over any skippable frames. Either a regular zstd frame + // follows, or this isn't zstd data. + + if (magic_number == zstd_magic) + return (offset_in_buffer + 4); return (0); } diff --git a/contrib/libarchive/libarchive/archive_read_support_format_7zip.c b/contrib/libarchive/libarchive/archive_read_support_format_7zip.c index 595462733104..330d5515dd50 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_7zip.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_7zip.c @@ -744,6 +744,7 @@ find_elf_data_sec(struct archive_read *a) const char *h; char big_endian, format_64; ssize_t bytes, min_addr = SFX_MIN_ADDR; + ssize_t request; uint64_t e_shoff, strtab_offset, strtab_size; uint16_t e_shentsize, e_shnum, e_shstrndx; uint16_t (*dec16)(const void *); @@ -796,7 +797,12 @@ find_elf_data_sec(struct archive_read *a) if (__archive_read_seek(a, e_shoff, SEEK_SET) < 0) { break; } - h = __archive_read_ahead(a, (size_t)e_shnum * (size_t)e_shentsize, NULL); + if (format_64) { + request = (size_t)e_shnum * (size_t)e_shentsize + 0x28; + } else { + request = (size_t)e_shnum * (size_t)e_shentsize + 0x18; + } + h = __archive_read_ahead(a, request, &bytes); if (h == NULL) { break; } diff --git a/contrib/libarchive/libarchive/archive_read_support_format_lha.c b/contrib/libarchive/libarchive/archive_read_support_format_lha.c index 2a84ad9dd307..abf8b8799636 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_lha.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_lha.c @@ -689,7 +689,7 @@ archive_read_format_lha_read_header(struct archive_read *a, * a pathname and a symlink has '\' character, a directory * separator in DOS/Windows. So we should convert it to '/'. */ - if (p[H_LEVEL_OFFSET] == 0) + if (lha->level == 0) lha_replace_path_separator(lha, entry); archive_entry_set_mode(entry, lha->mode); diff --git a/contrib/libarchive/libarchive/archive_read_support_format_tar.c b/contrib/libarchive/libarchive/archive_read_support_format_tar.c index eeb2c725f6eb..98f7d699570a 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_tar.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_tar.c @@ -2311,6 +2311,7 @@ pax_attribute_read_number(struct archive_read *a, size_t value_length, int64_t * archive_string_init(&as); r = read_bytes_to_string(a, &as, value_length, &unconsumed); if (tar_flush_unconsumed(a, &unconsumed) != ARCHIVE_OK) { + *result = 0; return (ARCHIVE_FATAL); } if (r < ARCHIVE_OK) { diff --git a/contrib/libarchive/libarchive/archive_read_support_format_zip.c b/contrib/libarchive/libarchive/archive_read_support_format_zip.c index 9abd55709e3f..0c86ce935e26 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_zip.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_zip.c @@ -78,6 +78,12 @@ #include "archive_crc32.h" #endif +/* length of local file header, not including filename and extra */ +#define ZIP_LOCHDR_LEN 30U + +/* maximum length of Mac metadata in MiB */ +#define ZIP_MAX_METADATA 10U + struct zip_entry { struct archive_rb_node node; struct zip_entry *next; @@ -933,7 +939,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, zip->init_default_conversion = 1; } - if ((p = __archive_read_ahead(a, 30, NULL)) == NULL) { + if ((p = __archive_read_ahead(a, ZIP_LOCHDR_LEN, NULL)) == NULL) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_FATAL); @@ -969,7 +975,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, filename_length = archive_le16dec(p + 26); extra_length = archive_le16dec(p + 28); - __archive_read_consume(a, 30); + __archive_read_consume(a, ZIP_LOCHDR_LEN); /* Read the filename. */ if ((h = __archive_read_ahead(a, filename_length, NULL)) == NULL) { @@ -3637,7 +3643,7 @@ read_eocd(struct zip *zip, const char *p, int64_t current_offset) { uint16_t disk_num; uint32_t cd_size, cd_offset; - + disk_num = archive_le16dec(p + 4); cd_size = archive_le32dec(p + 12); cd_offset = archive_le32dec(p + 16); @@ -4097,7 +4103,7 @@ zip_get_local_file_header_size(struct archive_read *a, size_t extra) const char *p; ssize_t filename_length, extra_length; - if ((p = __archive_read_ahead(a, extra + 30, NULL)) == NULL) { + if ((p = __archive_read_ahead(a, extra + ZIP_LOCHDR_LEN, NULL)) == NULL) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_WARN); @@ -4111,7 +4117,7 @@ zip_get_local_file_header_size(struct archive_read *a, size_t extra) filename_length = archive_le16dec(p + 26); extra_length = archive_le16dec(p + 28); - return (30 + filename_length + extra_length); + return (ZIP_LOCHDR_LEN + filename_length + extra_length); } static int @@ -4148,16 +4154,16 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry, return (ARCHIVE_WARN); } - if (rsrc->uncompressed_size > (4 * 1024 * 1024)) { + if (rsrc->uncompressed_size > ZIP_MAX_METADATA * 1048576U) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, - "Mac metadata is too large: %jd > 4M bytes", - (intmax_t)rsrc->uncompressed_size); + "Mac metadata is too large: %jd > %u MiB", + (intmax_t)rsrc->uncompressed_size, ZIP_MAX_METADATA); return (ARCHIVE_WARN); } - if (rsrc->compressed_size > (4 * 1024 * 1024)) { + if (rsrc->compressed_size > ZIP_MAX_METADATA * 1048576U) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, - "Mac metadata is too large: %jd > 4M bytes", - (intmax_t)rsrc->compressed_size); + "Mac metadata is too large: %jd > %u MiB", + (intmax_t)rsrc->compressed_size, ZIP_MAX_METADATA); return (ARCHIVE_WARN); } diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index 3bb978335eb8..740308b6e4e3 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -2054,6 +2054,26 @@ archive_strncat_l(struct archive_string *as, const void *_p, size_t n, return (r); } +struct archive_string * +archive_string_dirname(struct archive_string *as) +{ + /* strip trailing separators */ + while (as->length > 1 && as->s[as->length - 1] == '/') + as->length--; + /* strip final component */ + while (as->length > 0 && as->s[as->length - 1] != '/') + as->length--; + /* empty path -> cwd */ + if (as->length == 0) + return (archive_strcat(as, ".")); + /* strip separator(s) */ + while (as->length > 1 && as->s[as->length - 1] == '/') + as->length--; + /* terminate */ + as->s[as->length] = '\0'; + return (as); +} + #if HAVE_ICONV /* diff --git a/contrib/libarchive/libarchive/archive_string.h b/contrib/libarchive/libarchive/archive_string.h index e8987867d3ce..d5f5c03aca30 100644 --- a/contrib/libarchive/libarchive/archive_string.h +++ b/contrib/libarchive/libarchive/archive_string.h @@ -192,6 +192,10 @@ void archive_string_vsprintf(struct archive_string *, const char *, void archive_string_sprintf(struct archive_string *, const char *, ...) __LA_PRINTF(2, 3); +/* Equivalent to dirname(3) */ +struct archive_string * +archive_string_dirname(struct archive_string *); + /* Translates from MBS to Unicode. */ /* Returns non-zero if conversion failed in any way. */ int archive_wstring_append_from_mbs(struct archive_wstring *dest, diff --git a/contrib/libarchive/libarchive/archive_write_disk_posix.c b/contrib/libarchive/libarchive/archive_write_disk_posix.c index aeb27e1270ad..d69f041dde7e 100644 --- a/contrib/libarchive/libarchive/archive_write_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_write_disk_posix.c @@ -412,12 +412,14 @@ static ssize_t _archive_write_disk_data_block(struct archive *, const void *, static int la_mktemp(struct archive_write_disk *a) { + struct archive_string *tmp = &a->_tmpname_data; int oerrno, fd; mode_t mode; - archive_string_empty(&a->_tmpname_data); - archive_string_sprintf(&a->_tmpname_data, "%s.XXXXXX", a->name); - a->tmpname = a->_tmpname_data.s; + archive_strcpy(tmp, a->name); + archive_string_dirname(tmp); + archive_strcat(tmp, "/tar.XXXXXXXX"); + a->tmpname = tmp->s; fd = __archive_mkstemp(a->tmpname); if (fd == -1) @@ -4287,8 +4289,10 @@ create_tempdatafork(struct archive_write_disk *a, const char *pathname) int tmpfd; archive_string_init(&tmpdatafork); - archive_strcpy(&tmpdatafork, "tar.md.XXXXXX"); - tmpfd = mkstemp(tmpdatafork.s); + archive_strcpy(&tmpdatafork, pathname); + archive_string_dirname(&tmpdatafork); + archive_strcat(&tmpdatafork, "/tar.XXXXXXXX"); + tmpfd = __archive_mkstemp(tmpdatafork.s); if (tmpfd < 0) { archive_set_error(&a->archive, errno, "Failed to mkstemp"); @@ -4367,8 +4371,10 @@ set_mac_metadata(struct archive_write_disk *a, const char *pathname, * silly dance of writing the data to disk just so that * copyfile() can read it back in again. */ archive_string_init(&tmp); - archive_strcpy(&tmp, "tar.mmd.XXXXXX"); - fd = mkstemp(tmp.s); + archive_strcpy(&tmp, pathname); + archive_string_dirname(&tmp); + archive_strcat(&tmp, "/tar.XXXXXXXX"); + fd = __archive_mkstemp(tmp.s); if (fd < 0) { archive_set_error(&a->archive, errno, diff --git a/contrib/libarchive/libarchive/archive_write_open_filename.c b/contrib/libarchive/libarchive/archive_write_open_filename.c index 7d0f9bde1dbb..430de21fde14 100644 --- a/contrib/libarchive/libarchive/archive_write_open_filename.c +++ b/contrib/libarchive/libarchive/archive_write_open_filename.c @@ -191,6 +191,8 @@ file_open(struct archive *a, void *client_data) archive_set_error(a, errno, "Couldn't stat '%s'", mbs); else archive_set_error(a, errno, "Couldn't stat '%ls'", wcs); + close(mine->fd); + mine->fd = -1; return (ARCHIVE_FATAL); } diff --git a/contrib/libarchive/libarchive/module.modulemap b/contrib/libarchive/libarchive/module.modulemap new file mode 100644 index 000000000000..70f70fc3a1a2 --- /dev/null +++ b/contrib/libarchive/libarchive/module.modulemap @@ -0,0 +1,34 @@ +/* + * Clang Module Map for libarchive + * + * What this is: + * This file tells the Clang compiler how to treat libarchive as a "module" - + * a self-contained unit of code that can be imported all at once instead of + * including individual header files. Think of it like a package definition. + * + * How it works: + * - When you write `@import CArchive` (Objective-C) or `import CArchive` (Swift), + * the compiler uses this file to know which headers belong to libarchive + * - Instead of processing each #include separately, the compiler can load a + * pre-compiled version of the entire library, making builds faster + * - This also provides better dependency tracking and can catch issues like + * conflicting macro definitions between libraries + * + * When to update: + * Update this file whenever: + * - New public header files are added to libarchive's libarchive/ directory + * - Public headers are removed or renamed + * - The library's API structure changes significantly + * + * You typically don't need to update this for: + * - Internal implementation changes + * - Private/internal header modifications + * - Documentation updates + * + * NOTE: This only affects projects using Clang with modules enabled. Traditional + * #include-based builds will continue to work normally with or without this file. + */ +module CArchive { + header "archive.h" + header "archive_entry.h" +} diff --git a/contrib/libarchive/libarchive/test/test_archive_string.c b/contrib/libarchive/libarchive/test/test_archive_string.c index 30f7a800eae8..bf822c0d5e82 100644 --- a/contrib/libarchive/libarchive/test/test_archive_string.c +++ b/contrib/libarchive/libarchive/test/test_archive_string.c @@ -353,6 +353,43 @@ test_archive_string_sprintf(void) archive_string_free(&s); } +static void +test_archive_string_dirname(void) +{ + static struct pair { const char *str, *exp; } pairs[] = { + { "", "." }, + { "/", "/" }, + { "//", "/" }, + { "///", "/" }, + { "./", "." }, + { ".", "." }, + { "..", "." }, + { "foo", "." }, + { "foo/", "." }, + { "foo//", "." }, + { "foo/bar", "foo" }, + { "foo/bar/", "foo" }, + { "foo/bar//", "foo" }, + { "foo//bar", "foo" }, + { "foo//bar/", "foo" }, + { "foo//bar//", "foo" }, + { "/foo", "/" }, + { "//foo", "/" }, + { "//foo/", "/" }, + { "//foo//", "/" }, + { 0 }, + }; + struct pair *pair; + struct archive_string s; + + archive_string_init(&s); + for (pair = pairs; pair->str; pair++) { + archive_strcpy(&s, pair->str); + archive_string_dirname(&s); + assertEqualString(pair->exp, s.s); + } +} + DEFINE_TEST(test_archive_string) { test_archive_string_ensure(); @@ -364,6 +401,7 @@ DEFINE_TEST(test_archive_string) test_archive_string_concat(); test_archive_string_copy(); test_archive_string_sprintf(); + test_archive_string_dirname(); } static const char *strings[] = diff --git a/contrib/libarchive/libarchive/test/test_compat_lz4.c b/contrib/libarchive/libarchive/test/test_compat_lz4.c index 9e309a9fbd20..8ab9208b0918 100644 --- a/contrib/libarchive/libarchive/test/test_compat_lz4.c +++ b/contrib/libarchive/libarchive/test/test_compat_lz4.c @@ -98,6 +98,8 @@ DEFINE_TEST(test_compat_lz4) verify("test_compat_lz4_3.tar.lz4.uu", n); /* This sample has been compressed with -B4 option. */ verify("test_compat_lz4_B4.tar.lz4.uu", n2); + /* This sample has been compresed with -B4, and has two skippable frames at the start. */ + verify("test_compat_lz4_skippable_frames_B4.tar.lz4.uu", n2); /* This sample has been compressed with -B5 option. */ verify("test_compat_lz4_B5.tar.lz4.uu", n2); /* This sample has been compressed with -B6 option. */ diff --git a/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu b/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu new file mode 100644 index 000000000000..f45b1ac8f8dd --- /dev/null +++ b/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu @@ -0,0 +1,6739 @@ +begin 664 test_compat_lz4_skippable_frames_B4.tar.lz4.uu +M4"I-&`````!1*DT8"@`````!`@,$!08'"`D$(DT89$"GE1$``&]X9FEL90`! +M`$OA,#`P-C0T(``P,#`W-C4(`"(P,A``(C(P`0#_!R`Q,C,U,S4U,S4Q,B`P +M,3(P,C,`(#"7`$L"`@"O=7-T87(`,#!C=0`<``$D!0'-U8V@G`%`J(&5X84D`0',Z(%,R`U1S;6%L;!4`!#X!`+X!\`!A +M="!Y;W4@;6%Y(&9I;F30`C%F=6PO`@9%`%$O;6EN:84!$6'C`5%A8W0@2#R`@!3!%`N"@I4:)T!,'`M;`P$HB!D:7)E +M8W1O@`K1#3U!924Y'("T@=U$!8F-A;B!D;Y\` +M,W1H:2D`\@))3E-404Q,("T@:6YS=&%L;'4```T`(7)U*@(#*0`#0`41+3P` +M`94```\!`4D!@&9I9W5R92`MS@`!#``"1`"U'2(`#!P=71>`H$@(F-M86ME(B0#:60@=&]O +M;$T``E8!!NL#`2D!,2!I;DP!#VT!`3!AM``,D +M!`"3``!.`/4!+F%M+"!A8VQO8V%L+FTT+.$`0&4N86/_```"`!(M5``D=&^H +M``RB!+(L(&]N;'D@;F5E9'P`,6UA:?8!(V5R7`$%<``D:6YD`/(#+F@N:6X* +M"2T@=&5M<&QA=&5S9P`18C0"`68!$V6U`&`*"D=U:63S`"@@1%0&!-(!`G4` +M`;P$2+8($-7,N-:H(`J\``!D# +M`/(`@&UA=',@=&%R +M+C54`0CQ!$%A8F]U4P4@P`(2PF!:&%R9"UT;RTP +M!@1;`0%'``!!`&%M;V1E``%4!%"`"X +M!!,BO0(R+F@BJ0"`:&4*2R"```[!P$C"4!A=71ODP8`_P(0><$",&5C=)D# +M$635``,<`@5X"1!F+``!MP91*B!'3E5U`0(U`B8@*`0+`!H`06QO;F=0!F)N +M86UE+``-J`0`9`X$J(%!/4TE8("`-`5L` +M`A``,G!A>%H)`ED'`W@"!R$`P&]C=&5T+6]R:65N=!<$('!I?@G&*B!35E(T +M($%30TE)%``"4P`/,@`%84)I;F%R>2X`P"`H8FEG+65N9&EA;J(!8VQI='1L +M91$``OH`\0))4T\Y-C8P($-$+5)/32!I;;<"$2AX""!O<,L#P&%L(%)O8VMR +M:61G944`8DIO;&EE="D!`>\!`DD`-%I)4%8#!$``('5N3@DPFEP/@$Q:6]N%0!=8GII<#(6``1\`4TO3%I7'0"B;'IM82P@;'II +MD# +M`*4#(71EVPAA.@H*("H@+1`0:2`*<&AE879I;'G\"#9E86VU!0(1"W`N("!4 +M:&5R-!$S(&YOX@<`@@(#WP@`DP1!(&EN+;F4@``%1`0.;`")E;LD!!RT``'P`"W$`*&1E$0`# +MQ@(1+/```H```(T.`)8!`!8!`$``,&%G8?,/`?$)D6-OP,1<#4`T6%T979E +M$P$/`P),%@`&"1!G5180:2(3`2(`!4H``.,3(6-EA0`A3VZ0`QMEPP`"Y`(R +M<')O.@$!A0%18W1L>2W,`))E9"!O=71P=73O`@!@!/$#;V)J96-T+7-T>6QE +M(&%P<')OR`,`^10"^@#0=&\@:&%V92!M=6QT:<,3!*D``@$$`+D(52!O<&5N +MG@`3(!40`&H0``H!$6DA"&-I=',@(D`\`!(BO0012!FP"`,D*`2L`,VEN("#B)A;N@"`*4'!C0*$"QC`$!D97-P +MH@``;`0!Y`,`7,N"B05$6:X#0]D&O______________________ +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M_________________________________________UM09"!O2!O9B<`H69O;&QO=VEN9SJ&`(%U=65N +M8V]D90T`16=Z:7#A`#%I;VX5`%UB>FEP,A8`!`FUA+"!L +M>FEP+!0!*7AZ(P#!"DYO=&5S(&%B;W5TE`!R;&EB=$`\"YT96-T=7)E +M.@H*("H@5&AI0`&EP#@:7,@9&5S:6=N +M960@=&]>`61E>'1E;F1>`3AN97?@``#S`#(*("#.`!!V<@$`]`$22!R97%U:7)E;65N=+(`,G1H80D!`BL`("!BCP&0(')E861A8FQEH@!! +M=W)I=`P`$&$,`0($`0!H``([`$5E86-H;P``E@(3>4,`4&EN9&5PJ@`B;G1_ +M`$%R92!A!`"4=&EC;&5S(&]N@0$#KP+P`2!7:6MI(&5X<&QA:6YI;F?)`#!H +M;W?X``+U``$N("!)9B!Y;W4@9&]N)^P!`+8`\0)I8VET;'D@ +M:6YV;VME(&$@<.L`@'5L87(@9F5A60)`("AS=2\!&7,<`A!AZ0`'+0`$YP,# +M(@("F0%P*2P@:70@=W``\``@9V5T('!U;&QE9"!I;BX^`"=);FX`-RP@:9X` +M`5$!`YL`(F5NR0$'+0``/@`+<0`H9&41``/&`A$L\``"@``B;F6.`@`6`0!` +M`&)A9V%I;G-'`J!C;W)R97-P;VYD)P0(20`-6@`">P,Q:65SPP`!;P.P86QS +M;R!R961U8V6;`C!E('.%`2-O9H@!`+,!$"UV`&%E9"!B:6X]`"`@:2P$@"!E +M;G9IP,1<#4`T6%T +M979E8!(71O(@`%2@!A="!O;F-EA0`A3VZ0`QMEPP`"Y`(R<')O +M.@$!A0%18W1L>2W,`))E9"!O=71P=73O`@!@!/$#;V)J96-T+7-T>6QE(&%P +M<')OR`,`H`4"^@#@=&\@:&%V92!M=6QT:7`E``.E`P(!!`!;!E4@;W!E;IX` +ML2`@8G-D=&%R('5SO`$`/06#;B!I=',@(D#E`!(BR`-&2!B=69F97(@;W*Y`@!E``1R +M`85A('-O8VME=#X#27=IP"`*`'`2L`,VEN +M("0#\`)N86UE('-A>7,N"E)%041-15``!^@&X2!B=6YD;&4N +M"@I1=65S^@*@/R`@27-S=65S/U(`URH@:'1T<#HO+W=W=RX@!S!O3``!( +M`1!HN`*#9F]R(&]N9V]8!Q@@9`!P9&5V96QO<#P%<2P@:6YC;'6]!4!D;V-U +M%``!K`@!3@D`<0``.@`A;FM=`0!=``9S`%`@;6%I;`<"0FQI`<``$D!`)()`"<`4"H@97AA20!`8$(&YDT`(Q9G5L+P(&10`0+T,*`84! +M$6&>"E%A8W0@M``,D!`"3``!.`/``+F%M+"!A8VQO +M8V%L+FTT"0T#[0`P+F%C%P$``@`0+:("`)\`!*@``-D."*($$BP:#@#7"P!9 +M"Q!YR@4!]@$C97*N`05P`"1I;F0`@2YH+FEN"@DM]`<`H!`2=&%R +M+C54`0CQ!`4^$A%S8P0Q<&]PY0\#G`$$>P`(2PE`:&%R9!8,`3`&!%L!`4<` +M`(X!86UO9&5R;H\``.@!`+P'<"!V87)I86Y("0":!3!M86[X"T%P86=E.``` +M,0XD``'?`5=H+`#L' +M`2,)"=H1`,$",&5C=)D#$61A#0,<`@2#%"`@9@82`;<&`D$5!JH+)B`H!`L` +M6Q4@;&\O`#!I;&6M"R)S+!````4+$R`1``!C`%)S<&%RC0."P#``0#E%P$A"00(`0`` +M"@*<$`5+`0!U!`\&`0("@P$#OP,"O`(/'P,8,")R9:`-`!`6$2)'`P)/`,(L +M('=H:6-H('=I;&SK&`!P"``9!`-?`4!S(&5X+10``@(`N04$B1$""Q<#6A3`1!F+`"A#0#46-H86YG?@$W;6%T(0"P;V-T970M;W)I96X!`P!@`@$>`*%35E(T +M($%30TE)=`(!%``"4P`/,@`%84)I;F%R>2X`P"`H8FEG+65N9&EA;J(!8VQI +M='1L91$``OH`\0))4T\Y-C8P($-$+5)/32!I;;<"@"AW:71H(&]PRP/`86P@ +M4F]C:W)I9&=E10!B2F]L:65T*0$![P$"20`T6DE05@,$0`#`=6YC;VUPFEP/@$Q:6]N&`%=8GII<#(6``1\`4TO3%I7 +M'0"B;'IM82P@;'II&-E<$`%`+D%!&D"L"!T:&%T(')E<75IE@4G87C*`E(@ +M*&9O?P(-F5A;;4%X'-YU`P#P!`![``-S!`![ +M``&'"0&C`%0@;VYL>0H#`#@(`+(``1X#`*8$`@P"(2!B-PEQ4,`4&EN9&5PJ@`E +M;G0B`0`8"5!AP,1<#4`T6%T979E; Thu, 15 Jan 2026 20:03:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsYpF3szxz45qP for ; Thu, 15 Jan 2026 20:03:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768507429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=czN2mTRfeGv63DPXJ++ACmmOKZBCaKicmaU3nuRdgPA=; b=e4aWmxqgBBfU900ZXu8WxImU1Xg8o2Njhs73k1ev/++HrrG4+AbZ4EE3yepsJqA1ZI+vbo WWdf5HYbXAFF86iRmvTW0U6X7HrsqlpQDcQ0e+/nzTbIx2uXDpDA6nmYsohdgXNavkERY+ 3pqC3XIaxYLc5Wyl1xr+UH1nMpDfTx9cTo/lGODge0aaIkWDuwn9kwqzp9WSCIok+RXMQ8 BgOP1xq9i/L3nLlr088iYs2s99MwRsvXgGnY0FqEj2v3GEbjqZhaEukT8o74ouNfk3PTNz y8hKuDlBhxURqZyGiUmkrwlM2Tina3vsu3T6bTLEG/MZ+ovau25tKOEdW2sAYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768507429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=czN2mTRfeGv63DPXJ++ACmmOKZBCaKicmaU3nuRdgPA=; b=uRX5bcpBcZB/VTLvjHg9k6gNdxnDZCYPwG4CnjgDj0Gsuvk2qoJtEvDBOUx7RE5Wq53c2u 20BtRh36gyLWuKjPXYi6RtZLoBqpLWBpTAcngGvWq5EGWHtzum5jRy/E93o6yvozx74QbZ CSGlGrREQCGfB0gKXkmluGrOrKPDkC2/TamDhN/r1gRC1epqnqOcQ5ZNB6ncsv9Wu8e5F7 Al3juuxGn08UFOxsNJ8SEtJQt9Mfl0pRzmcZbac63CVFPuYxTC+10JjJXjtcedDc252q+j ZJR/Q60VT1jXI168dMJ3iA9ZsOkymmY9VMSe3KP9tFhzPAFkIGLGlpluP3oKEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768507429; a=rsa-sha256; cv=none; b=D6bfC+73xJsM9UZtfnyt9A2qNQRfnOldVY2jZEhEHutckql/xv2oBbqyFT2alk4n9iQvj5 sfrOca/sKNC+49qPIxmO0qSLLxteqrmQW/Qit1ybI1gheaj9CNC4NUe8zYK1J2l8Vt7i3i Yfi9RWL+oikQyxkmPN73T+3E8RQX6l64KKR2P7C61S9adUHNPzirhCYTxqbp8U2Ezy5lw1 DSb5rN9IbQZ5GE6zG/ltftjLPo2RGcmxGgp9dRYbzz4VNc7Pp9tuDbV9yAW9TEholUV/vK MLhywMz0mK/TEGkMlharRO+zoNfJ3ybSRX0ubB7gtMH5EUhjeXGonCNUnZ1zMg== 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 4dsYpF3DCHzkDB for ; Thu, 15 Jan 2026 20:03:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 87db by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 20:03:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: b9bf082d1f48 - stable/15 - libarchive: merge from vendor branch 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: b9bf082d1f4816642ebc977d2769ca3f4069cb42 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 20:03:49 +0000 Message-Id: <69694825.87db.6e578b0d@gitrepo.freebsd.org> The branch stable/15 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=b9bf082d1f4816642ebc977d2769ca3f4069cb42 commit b9bf082d1f4816642ebc977d2769ca3f4069cb42 Author: Martin Matuska AuthorDate: 2025-12-01 13:05:35 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 20:03:15 +0000 libarchive: merge from vendor branch libarchive 3.8.4 Important bugfixes: #2787 bsdtar: Fix zero-length pattern issue #2797 lib: Fix regression introduced in libarchive 3.8.2 when walking enterable but unreadable directories Obtained from: libarchive Vendor commit: d114ceee6de08a7a60ff1209492ba38bf9436f79 MFC after: 1 week (cherry picked from commit c1e033c33e8b290cd40f4069249c879efcbae6a6) --- contrib/libarchive/NEWS | 8 ++++--- contrib/libarchive/libarchive/archive.h | 4 ++-- contrib/libarchive/libarchive/archive_cryptor.c | 6 +++--- .../libarchive/archive_cryptor_private.h | 4 ++-- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_disk_entry_from_file.c | 5 ++--- .../libarchive/archive_read_disk_posix.c | 25 ++++++++++------------ .../libarchive/archive_read_support_format_mtree.c | 2 +- .../libarchive/archive_version_details.c | 2 +- contrib/libarchive/libarchive/archive_write.c | 2 +- .../libarchive/archive_write_disk_posix.c | 6 +++--- .../libarchive/archive_write_set_format_xar.c | 12 +++++------ .../test/test_archive_read_multiple_data_objects.c | 2 +- .../libarchive/test/test_write_disk_perms.c | 6 +++--- .../libarchive/test/test_write_filter_bzip2.c | 3 ++- contrib/libarchive/tar/subst.c | 19 ++++++++++------ contrib/libarchive/tar/test/test_option_s.c | 8 ++++++- 17 files changed, 63 insertions(+), 53 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index 971ae8e441e1..fbbb65440b39 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,8 +1,10 @@ -Nov 17, 2026: libarchive 3.8.3 released +Dec 01, 2025: libarchive 3.8.4 released -Oct 15, 2026: libarchive 3.8.2 released +Nov 17, 2025: libarchive 3.8.3 released -Jun 01, 2026: libarchive 3.8.1 released +Oct 15, 2025: libarchive 3.8.2 released + +Jun 01, 2025: libarchive 3.8.1 released May 20, 2025: libarchive 3.8.0 released diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 9794dced6ca9..0eda822ae6bf 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008003 +#define ARCHIVE_VERSION_NUMBER 3008004 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.3" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.4" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_cryptor.c b/contrib/libarchive/libarchive/archive_cryptor.c index 9f03f9ca6dd0..b6a02fd1e7cb 100644 --- a/contrib/libarchive/libarchive/archive_cryptor.c +++ b/contrib/libarchive/libarchive/archive_cryptor.c @@ -490,9 +490,9 @@ aes_ctr_update(archive_crypto_ctx *ctx, const uint8_t * const in, size_t in_len, uint8_t * const out, size_t *out_len) { uint8_t *const ebuf = ctx->encr_buf; - unsigned pos = ctx->encr_pos; - unsigned max = (unsigned)((in_len < *out_len)? in_len: *out_len); - unsigned i; + size_t pos = ctx->encr_pos; + size_t max = (in_len < *out_len)? in_len: *out_len; + size_t i; for (i = 0; i < max; ) { if (pos == AES_BLOCK_SIZE) { diff --git a/contrib/libarchive/libarchive/archive_cryptor_private.h b/contrib/libarchive/libarchive/archive_cryptor_private.h index 1dbc5c17a01a..272f2f84b9c9 100644 --- a/contrib/libarchive/libarchive/archive_cryptor_private.h +++ b/contrib/libarchive/libarchive/archive_cryptor_private.h @@ -56,10 +56,10 @@ int __libarchive_cryptor_build_hack(void); typedef struct { CCCryptorRef ctx; uint8_t key[AES_MAX_KEY_SIZE]; - unsigned key_len; + size_t key_len; uint8_t nonce[AES_BLOCK_SIZE]; uint8_t encr_buf[AES_BLOCK_SIZE]; - unsigned encr_pos; + size_t encr_pos; } archive_crypto_ctx; #elif defined(_WIN32) && !defined(__CYGWIN__) && defined(HAVE_BCRYPT_H) && _WIN32_WINNT >= _WIN32_WINNT_VISTA diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 924b67a301cf..74466f394c4a 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008003 +#define ARCHIVE_VERSION_NUMBER 3008004 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c index 121af19872e9..6e6bae6a4e06 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c +++ b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c @@ -254,7 +254,7 @@ archive_read_disk_entry_from_file(struct archive *_a, if (S_ISLNK(st->st_mode)) { size_t linkbuffer_len = st->st_size; char *linkbuffer; - int lnklen; + ssize_t lnklen; linkbuffer = malloc(linkbuffer_len + 1); if (linkbuffer == NULL) { @@ -892,7 +892,7 @@ setup_sparse_fiemap(struct archive_read_disk *a, for (iters = 0; ; ++iters) { int i, r; - r = ioctl(*fd, FS_IOC_FIEMAP, fm); + r = ioctl(*fd, FS_IOC_FIEMAP, fm); if (r < 0) { /* When something error happens, it is better we * should return ARCHIVE_OK because an earlier @@ -1079,4 +1079,3 @@ setup_sparse(struct archive_read_disk *a, #endif #endif /* !defined(_WIN32) || defined(__CYGWIN__) */ - diff --git a/contrib/libarchive/libarchive/archive_read_disk_posix.c b/contrib/libarchive/libarchive/archive_read_disk_posix.c index 7cd292f259ff..94fa8fef963f 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_read_disk_posix.c @@ -2018,11 +2018,8 @@ tree_dup(int fd) } #endif /* F_DUPFD_CLOEXEC */ new_fd = dup(fd); - if (new_fd != -1) { - __archive_ensure_cloexec_flag(new_fd); - return (new_fd); - } - return (-1); + __archive_ensure_cloexec_flag(new_fd); + return (new_fd); } /* @@ -2144,16 +2141,11 @@ tree_reopen(struct tree *t, const char *path, int restore_time) * so try again for execute. The consequences of not opening this are * unhelpful and unnecessary errors later. */ - if (t->initial_dir_fd < 0) { + if (t->initial_dir_fd < 0) t->initial_dir_fd = open(".", o_flag | O_CLOEXEC); - if (t->initial_dir_fd < 0) - return NULL; - } #endif __archive_ensure_cloexec_flag(t->initial_dir_fd); t->working_dir_fd = tree_dup(t->initial_dir_fd); - if (t->working_dir_fd < 0) - return NULL; return (t); } @@ -2359,15 +2351,20 @@ static int tree_dir_next_posix(struct tree *t) { int r; +#if defined(HAVE_FDOPENDIR) + int fd; +#endif const char *name; size_t namelen; if (t->d == NULL) { #if defined(HAVE_FDOPENDIR) - int fd = tree_dup(t->working_dir_fd); - if (fd != -1) - t->d = fdopendir(fd); + if (t->working_dir_fd >= 0) { + fd = tree_dup(t->working_dir_fd); + if (fd != -1) + t->d = fdopendir(fd); + } #else /* HAVE_FDOPENDIR */ if (tree_enter_working_dir(t) == 0) { t->d = opendir("."); diff --git a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c index ded13bee79a3..96d2c71f4c4f 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c @@ -1254,7 +1254,7 @@ parse_file(struct archive_read *a, struct archive_entry *entry, archive_entry_filetype(entry) == AE_IFDIR) { mtree->fd = open(path, O_RDONLY | O_BINARY | O_CLOEXEC); __archive_ensure_cloexec_flag(mtree->fd); - if (mtree->fd < 0 && ( + if (mtree->fd == -1 && ( #if defined(_WIN32) && !defined(__CYGWIN__) /* * On Windows, attempting to open a file with an diff --git a/contrib/libarchive/libarchive/archive_version_details.c b/contrib/libarchive/libarchive/archive_version_details.c index 0cf92db73194..9063faa79426 100644 --- a/contrib/libarchive/libarchive/archive_version_details.c +++ b/contrib/libarchive/libarchive/archive_version_details.c @@ -333,7 +333,7 @@ archive_libbsdxml_version(void) const char * archive_libxml2_version(void) { -#if HAVE_LIBXML_XMLREADER_H && HAVE_LIBXML2 +#if HAVE_LIBXML_XMLVERSION_H && HAVE_LIBXML2 return LIBXML_DOTTED_VERSION; #else return NULL; diff --git a/contrib/libarchive/libarchive/archive_write.c b/contrib/libarchive/libarchive/archive_write.c index 9b9cb196f0f9..e1ce5d57288d 100644 --- a/contrib/libarchive/libarchive/archive_write.c +++ b/contrib/libarchive/libarchive/archive_write.c @@ -821,7 +821,7 @@ _archive_write_data(struct archive *_a, const void *buff, size_t s) { struct archive_write *a = (struct archive_write *)_a; const size_t max_write = INT_MAX; - int ret; + ssize_t ret; archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); diff --git a/contrib/libarchive/libarchive/archive_write_disk_posix.c b/contrib/libarchive/libarchive/archive_write_disk_posix.c index d69f041dde7e..cc59e58e4df6 100644 --- a/contrib/libarchive/libarchive/archive_write_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_write_disk_posix.c @@ -2561,9 +2561,9 @@ _archive_write_disk_close(struct archive *_a) * for directories. For other file types * we need to verify via fstat() or lstat() */ - if (fd < 0 || p->filetype != AE_IFDIR) { + if (fd == -1 || p->filetype != AE_IFDIR) { #if HAVE_FSTAT - if (fd >= 0 && ( + if (fd > 0 && ( fstat(fd, &st) != 0 || la_verify_filetype(st.st_mode, p->filetype) == 0)) { @@ -4447,7 +4447,7 @@ fixup_appledouble(struct archive_write_disk *a, const char *pathname) */ fd = open(pathname, O_RDONLY | O_BINARY | O_CLOEXEC); __archive_ensure_cloexec_flag(fd); - if (fd < 0) { + if (fd == -1) { archive_set_error(&a->archive, errno, "Failed to open a restoring file"); ret = ARCHIVE_WARN; diff --git a/contrib/libarchive/libarchive/archive_write_set_format_xar.c b/contrib/libarchive/libarchive/archive_write_set_format_xar.c index 9921f1032be5..ec3219057e4e 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_xar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_xar.c @@ -1000,13 +1000,13 @@ xmlwrite_heap(struct archive_write *a, struct xml_writer *writer, const char *encname; int r; - r = xmlwrite_fstring(a, writer, "length", "%ju", heap->length); + r = xmlwrite_fstring(a, writer, "length", "%ju", (uintmax_t)heap->length); if (r < 0) return (ARCHIVE_FATAL); - r = xmlwrite_fstring(a, writer, "offset", "%ju", heap->temp_offset); + r = xmlwrite_fstring(a, writer, "offset", "%ju", (uintmax_t)heap->temp_offset); if (r < 0) return (ARCHIVE_FATAL); - r = xmlwrite_fstring(a, writer, "size", "%ju", heap->size); + r = xmlwrite_fstring(a, writer, "size", "%ju", (uintmax_t)heap->size); if (r < 0) return (ARCHIVE_FATAL); switch (heap->compression) { @@ -1356,7 +1356,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a inode entry, "". */ r = xmlwrite_fstring(a, writer, "inode", - "%jd", archive_entry_ino64(file->entry)); + "%jd", (intmax_t)archive_entry_ino64(file->entry)); if (r < 0) return (ARCHIVE_FATAL); if (archive_entry_dev(file->entry) != 0) { @@ -1378,7 +1378,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a user entry, "" and ". */ r = xmlwrite_fstring(a, writer, "uid", - "%d", archive_entry_uid(file->entry)); + "%jd", (intmax_t)archive_entry_uid(file->entry)); if (r < 0) return (ARCHIVE_FATAL); r = archive_entry_uname_l(file->entry, &p, &len, xar->sconv); @@ -1404,7 +1404,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a group entry, "" and ". */ r = xmlwrite_fstring(a, writer, "gid", - "%d", archive_entry_gid(file->entry)); + "%jd", (intmax_t)archive_entry_gid(file->entry)); if (r < 0) return (ARCHIVE_FATAL); r = archive_entry_gname_l(file->entry, &p, &len, xar->sconv); diff --git a/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c b/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c index f9f75d96fa6b..791c7ad01121 100644 --- a/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c +++ b/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c @@ -202,7 +202,7 @@ static int64_t file_skip(struct archive *a, void *data, int64_t request) { struct mydata *mydata = (struct mydata *)data; - int64_t result = lseek(mydata->fd, SEEK_CUR, request); + int64_t result = lseek(mydata->fd, request, SEEK_CUR); if (result >= 0) return result; archive_set_error(a, errno, "Error seeking in '%s'", mydata->filename); diff --git a/contrib/libarchive/libarchive/test/test_write_disk_perms.c b/contrib/libarchive/libarchive/test/test_write_disk_perms.c index 77a15d1a3e42..72b55179d86e 100644 --- a/contrib/libarchive/libarchive/test/test_write_disk_perms.c +++ b/contrib/libarchive/libarchive/test/test_write_disk_perms.c @@ -94,21 +94,21 @@ searchgid(void) close(fd); } -static int +static long altgid(void) { searchgid(); return (_alt_gid); } -static int +static long invalidgid(void) { searchgid(); return (_invalid_gid); } -static int +static long defaultgid(void) { searchgid(); diff --git a/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c b/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c index 7b2e4f857a75..d7ed95e2c7ff 100644 --- a/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c +++ b/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c @@ -40,7 +40,8 @@ DEFINE_TEST(test_write_filter_bzip2) size_t buffsize, datasize; char path[16]; size_t used1, used2; - int i, r, use_prog; + ssize_t r; + int i, use_prog; buffsize = 2000000; assert(NULL != (buff = malloc(buffsize))); diff --git a/contrib/libarchive/tar/subst.c b/contrib/libarchive/tar/subst.c index a5d644dc5a70..a466f65358a5 100644 --- a/contrib/libarchive/tar/subst.c +++ b/contrib/libarchive/tar/subst.c @@ -235,7 +235,9 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, (*result)[0] = 0; } - while (1) { + char isEnd = 0; + do { + isEnd = *name == '\0'; if (regexec(&rule->re, name, 10, matches, 0)) break; @@ -290,12 +292,15 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, } realloc_strcat(result, rule->result + j); - - name += matches[0].rm_eo; - - if (!rule->global) - break; - } + if (matches[0].rm_eo > 0) { + name += matches[0].rm_eo; + } else { + // We skip a character because the match is 0-length + // so we need to add it to the output + realloc_strncat(result, name, 1); + name += 1; + } + } while (rule->global && !isEnd); // Testing one step after because sed et al. run 0-length patterns a last time on the empty string at the end } if (got_match) diff --git a/contrib/libarchive/tar/test/test_option_s.c b/contrib/libarchive/tar/test/test_option_s.c index 125e971d3304..00753b99be3c 100644 --- a/contrib/libarchive/tar/test/test_option_s.c +++ b/contrib/libarchive/tar/test/test_option_s.c @@ -42,7 +42,13 @@ DEFINE_TEST(test_option_s) systemf("%s -cf test1_2.tar -s /d1/d2/ in/d1/foo", testprog); systemf("%s -xf test1_2.tar -C test1", testprog); assertFileContents("foo", 3, "test1/in/d2/foo"); - + systemf("%s -cf test1_3.tar -s /o/#/g in/d1/foo", testprog); + systemf("%s -xf test1_3.tar -C test1", testprog); + assertFileContents("foo", 3, "test1/in/d1/f##"); + // For the 0-length pattern check, remember that "test1/" isn't part of the string affected by the regexp + systemf("%s -cf test1_4.tar -s /f*/\\<~\\>/g in/d1/foo", testprog); + systemf("%s -xf test1_4.tar -C test1", testprog); + assertFileContents("foo", 3, "test1/<>i<>n<>/<>d<>1<>/<>o<>o<>"); /* * Test 2: Basic substitution when extracting archive. */ From nobody Thu Jan 15 20:03:50 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsYpH17CFz6PNTP for ; Thu, 15 Jan 2026 20:03: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 4dsYpG4ztCz45qX for ; Thu, 15 Jan 2026 20:03:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768507430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zmRNQwX00RBhFtnoqHe3jk5zAWhPqe3wmAl7YM1LZa8=; b=kH66Lh7XN3yNv+RFllRbRFlOCYgiCceOtGtlgH0+0WLWyxzNzAvIrxz/INe0WNq91Qj20h sb3gMSxIyKf4z4dV+3Y1H+KQraE+udyZ9xJ2qiUPhQ2hgIkBpXN9waTF/36lxzF2jddz9b D7p+7VpRLz7zZj/5QkeW7/Fl/Ns7HSRYWWFf7ULSNP7Ah3T/dR+GYmve+3Zu/s+IKA4bOH DpS0sVN2tsiIyFHIFH+zK1DEXUxB2uBARBLLQaSaQjL1a7zpWUEFnYQXdVLg7beeY8jCoq bibuuVEAnvmZtws3f0UHe8/dW6MM48amC28BXMEPeDekHpzLgSVdYI+KtpRrZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768507430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zmRNQwX00RBhFtnoqHe3jk5zAWhPqe3wmAl7YM1LZa8=; b=qXtB8wPVC0bj9IEwe8kJaHzz+eA5pI/0RwIsoer9o0oVvbqnM/8quQ2gmQ5B8yYckwS8ST XwgzSlMiUeGoKQTCVyLaESFbn+zuEqMdSi0zcRUwfz9y/TbLylzkZKa4ySadFQmPxgH894 Ou5rOrLDaOPldZCRMSGSexDdJ+LONRPaP/cujFT/dJF0Zv/e/GeuP1SkjkzDm78dMg7W7G ONrX12dvRyHSOdCHNRZfCRF8qIoDc5fyCMEKb1uc3/7To6MAnrxiOfrW6x+HVa7zOdxS5I rQXFidGeiIRPrMErGWc0tgfndzahAhPGCgxjJ4wlSQzZSTOptfSXMyAVYCfHmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768507430; a=rsa-sha256; cv=none; b=hhaLhVuSg62lh8RXhr66l148WkbquTO2pMa3iAqLSnEwgBLTEgKfabbGoI6OOHkpn9Lw5d aPm6LHyJBdA8NQR6kYTRKnFeU6iE5MYa3nw3kxUlZilMU6SVYdnNyffhNWgBCgDFpuBh52 YKy8kkxcH6ivYxjiP/mD0sKAtWwnyaLYE3qB9IIkU2czyxaVzfjtXXmH+kgD1aH+n+OzkI Q96lAVw4s8gCMM5cj/UaL0/woQep3XBLPaD+AQpkRN4awyrJaGMO0n6ZgeBupF5tiMLT6A CmFdrMPYh8CFcY2l+6cUj3GE9XlHOzZf/fhmtDZ//W3Hj6bYTf/G/OIQWZrkxQ== 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 4dsYpG46sxzjlf for ; Thu, 15 Jan 2026 20:03:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id a6b6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 20:03:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: df4e99bb8847 - stable/15 - libarchive: merge from vendor branch 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: df4e99bb884786eb0554e2a259795c44a5295154 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 20:03:50 +0000 Message-Id: <69694826.a6b6.1278e57c@gitrepo.freebsd.org> The branch stable/15 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=df4e99bb884786eb0554e2a259795c44a5295154 commit df4e99bb884786eb0554e2a259795c44a5295154 Author: Martin Matuska AuthorDate: 2026-01-05 20:14:54 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 20:03:15 +0000 libarchive: merge from vendor branch libarchive 3.8.5 Important bugfixes: #2809 bsdtar: fix regression from 3.8.4 zero-length pattern issue bugfix Obtained from: libarchive Vendor commit: dd897a78c662a2c7a003e7ec158cea7909557bee MFC after: 1 week (cherry picked from commit 4b047c3af3fec1607ba1cfe04e1d442a17fc1cf6) --- contrib/libarchive/NEWS | 2 ++ contrib/libarchive/README.md | 4 ++-- contrib/libarchive/cpio/cpio.c | 2 +- contrib/libarchive/libarchive/archive.h | 4 ++-- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_support_filter_uu.c | 8 ++++---- .../libarchive/archive_read_support_format_cab.c | 2 +- .../libarchive/archive_read_support_format_cpio.c | 6 +++--- .../libarchive/archive_read_support_format_lha.c | 2 +- .../libarchive/archive_read_support_format_mtree.c | 12 ++++++------ contrib/libarchive/libarchive/archive_string.c | 4 ++-- contrib/libarchive/libarchive/archive_util.c | 2 +- contrib/libarchive/libarchive/archive_write_open_fd.c | 6 +----- .../libarchive/libarchive/archive_write_open_file.c | 6 +----- .../libarchive/libarchive/archive_write_open_memory.c | 6 +----- .../libarchive/archive_write_set_format_shar.c | 5 ++++- .../libarchive/archive_write_set_format_ustar.c | 2 +- contrib/libarchive/libarchive/test/test_compat_lzip.c | 4 ++-- contrib/libarchive/libarchive_fe/line_reader.c | 2 ++ contrib/libarchive/tar/subst.c | 16 ++++++++-------- contrib/libarchive/tar/write.c | 5 ++--- contrib/libarchive/test_utils/test_main.c | 19 ++++++++++++++++--- contrib/libarchive/unzip/bsdunzip.c | 4 ++-- contrib/libarchive/unzip/la_queue.h | 2 +- 24 files changed, 67 insertions(+), 60 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index fbbb65440b39..be14de445b57 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,3 +1,5 @@ +Jan 05, 2026: libarchive 3.8.5 released + Dec 01, 2025: libarchive 3.8.4 released Nov 17, 2025: libarchive 3.8.3 released diff --git a/contrib/libarchive/README.md b/contrib/libarchive/README.md index 0d63357292ec..e9691f1b710b 100644 --- a/contrib/libarchive/README.md +++ b/contrib/libarchive/README.md @@ -191,7 +191,7 @@ questions we are asked about libarchive: libraries. This also reduces the size of statically-linked binaries in environments where that matters. -* The library is generally _thread safe_ depending on the platform: +* The library is generally _thread-safe_ depending on the platform: it does not define any global variables of its own. However, some platforms do not provide fully thread-safe versions of key C library functions. On those platforms, libarchive will use the non-thread-safe @@ -214,7 +214,7 @@ questions we are asked about libarchive: multiple threads. Of course, those modules are completely optional and you can use the rest of libarchive without them. -* The library is _not_ thread aware, however. It does no locking +* The library is _not_ thread-aware, however. It does no locking or thread management of any kind. If you create a libarchive object and need to access it from multiple threads, you will need to provide your own locking. diff --git a/contrib/libarchive/cpio/cpio.c b/contrib/libarchive/cpio/cpio.c index 262db510568b..77eefe809f37 100644 --- a/contrib/libarchive/cpio/cpio.c +++ b/contrib/libarchive/cpio/cpio.c @@ -725,7 +725,7 @@ file_to_archive(struct cpio *cpio, const char *srcpath) if (cpio->uid_override >= 0) archive_entry_set_uid(entry, cpio->uid_override); - if (cpio->gname_override != NULL) + if (cpio->uname_override != NULL) archive_entry_set_uname(entry, cpio->uname_override); if (cpio->gid_override >= 0) archive_entry_set_gid(entry, cpio->gid_override); diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 0eda822ae6bf..a9d34beb4f5a 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008004 +#define ARCHIVE_VERSION_NUMBER 3008005 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.4" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.5" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 74466f394c4a..b43435692c27 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008004 +#define ARCHIVE_VERSION_NUMBER 3008005 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_uu.c b/contrib/libarchive/libarchive/archive_read_support_filter_uu.c index d722fe343657..acb8feb79b2d 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_uu.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_uu.c @@ -232,8 +232,8 @@ bid_get_line(struct archive_read_filter *filter, size_t nbytes_req = (*ravail+1023) & ~1023U; ssize_t tested; - /* Increase reading bytes if it is not enough to at least - * new two lines. */ + /* Increase reading bytes if it is not enough for at least + * two new lines. */ if (nbytes_req < (size_t)*ravail + 160) nbytes_req <<= 1; @@ -411,7 +411,7 @@ ensure_in_buff_size(struct archive_read_filter *self, /* * Calculate a new buffer size for in_buff. - * Increase its value until it has enough size we need. + * Increase its value until it is enough for our needs. */ newsize = uudecode->in_allocated; do { @@ -494,7 +494,7 @@ read_more: } /* * If there is remaining data which is saved by - * previous calling, use it first. + * a previous call, use it first. */ if (ensure_in_buff_size(self, uudecode, avail_in + uudecode->in_cnt) != ARCHIVE_OK) diff --git a/contrib/libarchive/libarchive/archive_read_support_format_cab.c b/contrib/libarchive/libarchive/archive_read_support_format_cab.c index a96f7d313951..63755ef9e579 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_cab.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_cab.c @@ -2813,7 +2813,7 @@ lzx_decode_blocks(struct lzx_stream *strm, int last) lzx_br_bits(&bre, mt_max_bits)); lzx_br_consume(&bre, mt_bitlen[c]); } - if (c > UCHAR_MAX) + if ((unsigned int)c > UCHAR_MAX) break; /* * 'c' is exactly literal code. diff --git a/contrib/libarchive/libarchive/archive_read_support_format_cpio.c b/contrib/libarchive/libarchive/archive_read_support_format_cpio.c index 74f3549d159e..526096b39f75 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_cpio.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_cpio.c @@ -825,9 +825,9 @@ header_odc(struct archive_read *a, struct cpio *cpio, } /* - * NOTE: if a filename suffix is ".z", it is the file gziped by afio. - * it would be nice that we can show uncompressed file size and we can - * uncompressed file contents automatically, unfortunately we have nothing + * NOTE: if a filename suffix is ".z", it is a file gzipped by afio. + * it would be nice if we could show uncompressed file size and + * uncompress file contents automatically, unfortunately we have nothing * to get a uncompressed file size while reading each header. It means * we also cannot uncompress file contents under our framework. */ diff --git a/contrib/libarchive/libarchive/archive_read_support_format_lha.c b/contrib/libarchive/libarchive/archive_read_support_format_lha.c index abf8b8799636..cf6a147abda6 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_lha.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_lha.c @@ -2374,7 +2374,7 @@ lzh_decode_blocks(struct lzh_stream *strm, int last) lzh_br_consume(&bre, lt_bitlen[c]); } blocks_avail--; - if (c > UCHAR_MAX) + if ((unsigned int)c > UCHAR_MAX) /* Current block is a match data. */ break; /* diff --git a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c index 96d2c71f4c4f..10c07b05d965 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c @@ -392,8 +392,8 @@ next_line(struct archive_read *a, if (len >= MAX_LINE_LEN) return (-1); - /* Increase reading bytes if it is not enough to at least - * new two lines. */ + /* Increase reading bytes if it is not enough for at least + * two new lines. */ if (nbytes_req < (size_t)*ravail + 160) nbytes_req <<= 1; @@ -568,8 +568,8 @@ bid_keyword_list(const char *p, ssize_t len, int unset, int last_is_path) --len; value = 1; } - /* A keyword should have a its value unless - * "/unset" operation. */ + /* A keyword should have a value unless this is + * an "/unset" operation. */ if (!unset && value == 0) return (-1); } @@ -752,7 +752,7 @@ detect_form(struct archive_read *a, int *is_form_d) } else if (form_D == 1) { if (!last_is_path && keywords > 0) /* This this is not `form D' - * and We cannot accept mixed + * and we cannot accept mixed * format. */ break; } @@ -805,7 +805,7 @@ detect_form(struct archive_read *a, int *is_form_d) * to read the entire mtree file into memory up front. * * The parsing is done in two steps. First, it is decided if a line - * changes the global defaults and if it is, processed accordingly. + * changes the global defaults and if it does, it is processed accordingly. * Otherwise, the options of the line are merged with the current * global options. */ diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index 740308b6e4e3..a776dc85c688 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -3573,7 +3573,7 @@ win_strncat_from_utf16(struct archive_string *as, const void *_p, size_t bytes, if (sc->to_cp == CP_C_LOCALE) { /* - * "C" locale special process. + * "C" locale special processing. */ u16 = _p; ll = 0; @@ -3690,7 +3690,7 @@ win_strncat_to_utf16(struct archive_string *as16, const void *_p, avail = as16->buffer_length - 2; if (sc->from_cp == CP_C_LOCALE) { /* - * "C" locale special process. + * "C" locale special processing. */ count = 0; while (count < length && *s) { diff --git a/contrib/libarchive/libarchive/archive_util.c b/contrib/libarchive/libarchive/archive_util.c index d048bbc94650..0d1de1ef2091 100644 --- a/contrib/libarchive/libarchive/archive_util.c +++ b/contrib/libarchive/libarchive/archive_util.c @@ -456,7 +456,7 @@ __archive_issetugid(void) return (-1); if (ruid != euid || ruid != suid) return (1); - if (getresgid(&ruid, &egid, &sgid) != 0) + if (getresgid(&rgid, &egid, &sgid) != 0) return (-1); if (rgid != egid || rgid != sgid) return (1); diff --git a/contrib/libarchive/libarchive/archive_write_open_fd.c b/contrib/libarchive/libarchive/archive_write_open_fd.c index ba034ed92f8a..a795552020df 100644 --- a/contrib/libarchive/libarchive/archive_write_open_fd.c +++ b/contrib/libarchive/libarchive/archive_write_open_fd.c @@ -135,11 +135,7 @@ file_write(struct archive *a, void *client_data, const void *buff, size_t length static int file_free(struct archive *a, void *client_data) { - struct write_fd_data *mine = (struct write_fd_data *)client_data; - (void)a; /* UNUSED */ - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_open_file.c b/contrib/libarchive/libarchive/archive_write_open_file.c index 0b310f3da83b..6271b368d07f 100644 --- a/contrib/libarchive/libarchive/archive_write_open_file.c +++ b/contrib/libarchive/libarchive/archive_write_open_file.c @@ -96,11 +96,7 @@ file_write(struct archive *a, void *client_data, const void *buff, size_t length static int file_free(struct archive *a, void *client_data) { - struct write_FILE_data *mine = client_data; - (void)a; /* UNUSED */ - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_open_memory.c b/contrib/libarchive/libarchive/archive_write_open_memory.c index e31650447279..3b929ac7f60d 100644 --- a/contrib/libarchive/libarchive/archive_write_open_memory.c +++ b/contrib/libarchive/libarchive/archive_write_open_memory.c @@ -104,11 +104,7 @@ memory_write(struct archive *a, void *client_data, const void *buff, size_t leng static int memory_write_free(struct archive *a, void *client_data) { - struct write_memory_data *mine; (void)a; /* UNUSED */ - mine = client_data; - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_set_format_shar.c b/contrib/libarchive/libarchive/archive_write_set_format_shar.c index be9f78ce96cd..f6f28debdfa9 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_shar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_shar.c @@ -144,7 +144,9 @@ archive_write_set_format_shar_dump(struct archive *_a) struct archive_write *a = (struct archive_write *)_a; struct shar *shar; - archive_write_set_format_shar(&a->archive); + int ret = archive_write_set_format_shar(&a->archive); + if (ret != ARCHIVE_OK) + return ret; shar = (struct shar *)a->format_data; shar->dump = 1; a->format_write_data = archive_write_shar_data_uuencode; @@ -240,6 +242,7 @@ archive_write_shar_header(struct archive_write *a, struct archive_entry *entry) shar_quote(&shar->work, p, 1); archive_strcat(&shar->work, " > /dev/null 2>&1\n"); + free(shar->last_dir); shar->last_dir = p; } } else { diff --git a/contrib/libarchive/libarchive/archive_write_set_format_ustar.c b/contrib/libarchive/libarchive/archive_write_set_format_ustar.c index 09b71fe6672a..4084eb455968 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_ustar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_ustar.c @@ -539,7 +539,7 @@ __archive_write_format_header_ustar(struct archive_write *a, char h[512], ret = ARCHIVE_WARN; } if (copy_length > 0) { - if (strlen(p) > USTAR_gname_size) { + if (copy_length > USTAR_gname_size) { if (tartype != 'x') { archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, "Group name too long"); diff --git a/contrib/libarchive/libarchive/test/test_compat_lzip.c b/contrib/libarchive/libarchive/test/test_compat_lzip.c index 50920eefb1cf..cd246b943b22 100644 --- a/contrib/libarchive/libarchive/test/test_compat_lzip.c +++ b/contrib/libarchive/libarchive/test/test_compat_lzip.c @@ -47,7 +47,7 @@ echo "f3" > $dir/d1/f3 rm -r $dir } # -# Make a lzip file from split tar file. +# Make a lzip file from the split tar file. # name=test_compat_lzip_1 dir="$name`date +%Y%m%d%H%M%S`.$USER" @@ -75,7 +75,7 @@ exit 0 */ /* - * Verify our ability to read sample files compatibly with lzip. + * Verify our ability to read the sample files compatibly with lzip. * * In particular: * * lzip will read multiple lzip streams, concatenating the output diff --git a/contrib/libarchive/libarchive_fe/line_reader.c b/contrib/libarchive/libarchive_fe/line_reader.c index 0af9db53c0a2..a4bc84b7f233 100644 --- a/contrib/libarchive/libarchive_fe/line_reader.c +++ b/contrib/libarchive/libarchive_fe/line_reader.c @@ -64,6 +64,8 @@ lafe_line_reader(const char *pathname, int nullSeparator) lr->nullSeparator = nullSeparator; lr->pathname = strdup(pathname); + if (lr->pathname == NULL) + lafe_errc(1, ENOMEM, "Can't open %s", pathname); if (strcmp(pathname, "-") == 0) lr->f = stdin; diff --git a/contrib/libarchive/tar/subst.c b/contrib/libarchive/tar/subst.c index a466f65358a5..53497ad0d1a3 100644 --- a/contrib/libarchive/tar/subst.c +++ b/contrib/libarchive/tar/subst.c @@ -237,7 +237,7 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, char isEnd = 0; do { - isEnd = *name == '\0'; + isEnd = *name == '\0'; if (regexec(&rule->re, name, 10, matches, 0)) break; @@ -293,13 +293,13 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, realloc_strcat(result, rule->result + j); if (matches[0].rm_eo > 0) { - name += matches[0].rm_eo; - } else { - // We skip a character because the match is 0-length - // so we need to add it to the output - realloc_strncat(result, name, 1); - name += 1; - } + name += matches[0].rm_eo; + } else if (!isEnd) { + // We skip a character because the match is 0-length + // so we need to add it to the output + realloc_strncat(result, name, 1); + name += 1; + } } while (rule->global && !isEnd); // Testing one step after because sed et al. run 0-length patterns a last time on the empty string at the end } diff --git a/contrib/libarchive/tar/write.c b/contrib/libarchive/tar/write.c index 9e6c97b580b7..b39a397707ba 100644 --- a/contrib/libarchive/tar/write.c +++ b/contrib/libarchive/tar/write.c @@ -163,7 +163,7 @@ set_writer_options(struct bsdtar *bsdtar, struct archive *a) * a format or filters which are not added to * the archive write object. */ memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len); - memcpy(p, writer_options, opt_len); + memcpy(p + module_len, writer_options, opt_len); r = archive_write_set_options(a, p); free(p); if (r < ARCHIVE_WARN) @@ -190,13 +190,12 @@ set_reader_options(struct bsdtar *bsdtar, struct archive *a) char *p; /* Set default write options. */ if ((p = malloc(module_len + opt_len)) == NULL) - if (p == NULL) lafe_errc(1, errno, "Out of memory"); /* Prepend magic code to ignore options for * a format or filters which are not added to * the archive write object. */ memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len); - memcpy(p, reader_options, opt_len); + memcpy(p + module_len, reader_options, opt_len); r = archive_read_set_options(a, p); free(p); if (r < ARCHIVE_WARN) diff --git a/contrib/libarchive/test_utils/test_main.c b/contrib/libarchive/test_utils/test_main.c index f31678166ad0..dbd3fcf60e9a 100644 --- a/contrib/libarchive/test_utils/test_main.c +++ b/contrib/libarchive/test_utils/test_main.c @@ -3681,11 +3681,19 @@ test_run(int i, const char *tmpdir) */ static void -usage(const char *program) +list_tests(void) { static const int limit = nitems(tests); int i; + for (i = 0; i < limit; i++) + printf(" %d: %s\n", i, tests[i].name); +} + +static void +usage(const char *program) +{ + printf("Usage: %s [options] ...\n", program); printf("Default is to run all tests.\n"); printf("Otherwise, specify the numbers of the tests you wish to run.\n"); @@ -3693,6 +3701,8 @@ usage(const char *program) printf(" -d Dump core after any failure, for debugging.\n"); printf(" -k Keep all temp files.\n"); printf(" Default: temp files for successful tests deleted.\n"); + printf(" -l List available tests and exit, ignoring all other.\n"); + printf(" options and arguments.\n"); #ifdef PROGRAM printf(" -p Path to executable to be tested.\n"); printf(" Default: path taken from " ENVBASE " environment variable.\n"); @@ -3704,8 +3714,7 @@ usage(const char *program) printf(" -u Keep running specified tests until one fails.\n"); printf(" -v Verbose.\n"); printf("Available tests:\n"); - for (i = 0; i < limit; i++) - printf(" %d: %s\n", i, tests[i].name); + list_tests(); exit(1); } @@ -4079,6 +4088,10 @@ main(int argc, char **argv) case 'k': keep_temp_files = 1; break; + case 'l': + list_tests(); + exit(0); + break; case 'p': #ifdef PROGRAM testprogfile = option_arg; diff --git a/contrib/libarchive/unzip/bsdunzip.c b/contrib/libarchive/unzip/bsdunzip.c index 1b520e841690..14bd418f169c 100644 --- a/contrib/libarchive/unzip/bsdunzip.c +++ b/contrib/libarchive/unzip/bsdunzip.c @@ -654,11 +654,11 @@ recheck: #elif HAVE_STRUCT_STAT_ST_MTIME_N sb.st_mtime > mtime.tv_sec || (sb.st_mtime == mtime.tv_sec && - sb.st_mtime_n => mtime.tv_nsec) + sb.st_mtime_n >= mtime.tv_nsec) #elif HAVE_STRUCT_STAT_ST_MTIME_USEC sb.st_mtime > mtime.tv_sec || (sb.st_mtime == mtime.tv_sec && - sb.st_mtime_usec => mtime.tv_nsec / 1000) + sb.st_mtime_usec >= mtime.tv_nsec / 1000) #else sb.st_mtime > mtime.tv_sec #endif diff --git a/contrib/libarchive/unzip/la_queue.h b/contrib/libarchive/unzip/la_queue.h index 917526531b2a..bb305f5bd8ce 100644 --- a/contrib/libarchive/unzip/la_queue.h +++ b/contrib/libarchive/unzip/la_queue.h @@ -85,7 +85,7 @@ * _SWAP + + + + */ #ifdef QUEUE_MACRO_DEBUG -#warn Use QUEUE_MACRO_DEBUG_TRACE and/or QUEUE_MACRO_DEBUG_TRASH +#warning Use QUEUE_MACRO_DEBUG_TRACE and/or QUEUE_MACRO_DEBUG_TRASH #define QUEUE_MACRO_DEBUG_TRACE #define QUEUE_MACRO_DEBUG_TRASH #endif From nobody Thu Jan 15 21:24:50 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsbbk32sLz6PSck for ; Thu, 15 Jan 2026 21:24:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsbbk2KJRz3HgX for ; Thu, 15 Jan 2026 21:24:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768512290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7DQ/bGZsRUZ1ca8lt2YkC7voMJC+HSiDtaGfoX/1Zxs=; b=nvIJ+lIW+Hp94zIApnb3v2LTXG4sLHicpcTfa6SE7uUwGaw8e1tibczblvKvUk/+eFvd0M P25+AB13V+UUthTYmXLKkKsDStF/iPXoTOsBY4mfHjJrkgbRjpE+LE7PLFA9d5DlqDESzi jQXQ1XmhqmKq+B2cOoVKNQFro1RWbSpizgcRaDWaIIljxHmhKijr4hBImAd8IbqQeycni+ 47gnwzJFgLvwd/TEud5kKHEJs3fxIFnckOLD58K5DA5IA1y1Lasf19k2F2HJGmkO5g6Phb s8lEAoSgSnzEsh1s8CH/xuwb3Q/4erIwMZMQdRYq8LvXbmsi/Ppl56zk0CUftQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768512290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7DQ/bGZsRUZ1ca8lt2YkC7voMJC+HSiDtaGfoX/1Zxs=; b=DxWd1hz/GD/zXOMl4ZojoxHD+cyGRY38huO10v2z4NBmoMTbO/lHSoYBdFITDo65FQapjj OTxHXe3ezS7XVlmDSnGmcILDpQ1JW1DJ155Cn8+ebp5Lm8YTk/22eUI/43nT/V91lR2BIU Rm8B/urSIAmzHVouMa02TVBodGYejwAY3zYu7gtqqXxX6k3gKebV5pMiVECbI4BLsctYYU GMq4b9r9ZQPi+1gAYG47L5YsxVB4nefXnujM8ls7URC5gXdhb4wQKo1YtE40ALa2Uood6C CUuRkAs8rafo6O/CXnPYU/S+x7ZtwuZ/anOvSIvNm+fnZVTDWlCFnsEOiGgc7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768512290; a=rsa-sha256; cv=none; b=iqs0SQr5rSWX9JvPX2+CcIrFxe1ystpwcgtf7USl9KZ6H6ql3p9rmI8hvEZHgDOcAU/lVv 1djpGKUjQM62l/LaKqxqXFqcOOUPFFykotXzXMpde39wuIOE7cyEtU13dtXezJjSeJeukk XgsU4zCl6LXWXTt181wbQiyAuUT+U07n3vA9gLPi/gZtsXc42WmpduiuzgG7dOoPPsm/Xn 206+vBfvlBVeLrwulDGETpOFl5YYZ7Q9SjgNzkcxoH8aGmfU2HqQf1g5KxmMJSxHjIpxoS qFgNurEF5v0QHi1OReRxLfkfpifPWnb9EqmBFAljJ3JAfymibgtLdkZ3THLTSg== 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 4dsbbk1wB5zm3D for ; Thu, 15 Jan 2026 21:24:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21e0a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 21:24:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: eb042d5e8de3 - stable/14 - libarchive: merge from vendor branch 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/14 X-Git-Reftype: branch X-Git-Commit: eb042d5e8de37eacbed5aa94ba64d7d95995a266 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 21:24:50 +0000 Message-Id: <69695b22.21e0a.3afefac2@gitrepo.freebsd.org> The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=eb042d5e8de37eacbed5aa94ba64d7d95995a266 commit eb042d5e8de37eacbed5aa94ba64d7d95995a266 Author: Martin Matuska AuthorDate: 2025-11-19 13:33:40 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 20:04:41 +0000 libarchive: merge from vendor branch libarchive 3.8.3 Important bugfixes: #2753 lib: Create temporary files in the target directory #2768 lha: Fix for an out-of-bounds buffer overrun when using p[H_LEVEL_OFFSET] #2769 7-zip: Fix a buffer overrun when reading truncated 7zip headers #2771 lz4 and zstd: Support both lz4 and zstd data with leading skippable frames Obtained from: libarchive Vendor commit: 1368b08875351df8aa268237b882c8f4ceb0882d MFC after: 1 week (cherry picked from commit 007679a138089676aadc9a712277f4004403b905) --- contrib/libarchive/NEWS | 2 + contrib/libarchive/libarchive/archive.h | 4 +- contrib/libarchive/libarchive/archive_entry.h | 2 +- contrib/libarchive/libarchive/archive_entry_stat.3 | 2 +- .../libarchive/archive_read_disk_entry_from_file.c | 10 +- .../libarchive/archive_read_disk_posix.c | 10 +- .../libarchive/archive_read_support_filter_lz4.c | 82 +- .../libarchive/archive_read_support_filter_zstd.c | 67 +- .../libarchive/archive_read_support_format_7zip.c | 8 +- .../libarchive/archive_read_support_format_lha.c | 2 +- .../libarchive/archive_read_support_format_tar.c | 1 + .../libarchive/archive_read_support_format_zip.c | 28 +- contrib/libarchive/libarchive/archive_string.c | 20 + contrib/libarchive/libarchive/archive_string.h | 4 + .../libarchive/archive_write_disk_posix.c | 20 +- .../libarchive/archive_write_open_filename.c | 2 + contrib/libarchive/libarchive/module.modulemap | 34 + .../libarchive/test/test_archive_string.c | 38 + .../libarchive/libarchive/test/test_compat_lz4.c | 2 + .../test_compat_lz4_skippable_frames_B4.tar.lz4.uu | 6739 ++++++++++++++++++++ .../test/test_read_format_7zip_issue2765.7z.uu | 5 + .../test/test_read_format_7zip_issue2765.c | 51 + .../libarchive/tar/test/test_option_safe_writes.c | 1 + contrib/libarchive/tar/util.c | 5 +- contrib/libarchive/test_utils/test_main.c | 27 +- lib/libarchive/tests/Makefile | 3 + 26 files changed, 7109 insertions(+), 60 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index f2dd4102fa04..971ae8e441e1 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,3 +1,5 @@ +Nov 17, 2026: libarchive 3.8.3 released + Oct 15, 2026: libarchive 3.8.2 released Jun 01, 2026: libarchive 3.8.1 released diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 98d7674e18f1..9794dced6ca9 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008002 +#define ARCHIVE_VERSION_NUMBER 3008003 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.2" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.3" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 344f33bffac2..924b67a301cf 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008002 +#define ARCHIVE_VERSION_NUMBER 3008003 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_entry_stat.3 b/contrib/libarchive/libarchive/archive_entry_stat.3 index 29a53f75607f..2f4a1920eb64 100644 --- a/contrib/libarchive/libarchive/archive_entry_stat.3 +++ b/contrib/libarchive/libarchive/archive_entry_stat.3 @@ -207,7 +207,7 @@ for setting is recommended. The function .Fn archive_entry_size returns the file size, if it has been set, and 0 otherwise. -.Fn archive_entry_size +.Fn archive_entry_size_is_set can be used to query that status. .Fn archive_entry_set_size and diff --git a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c index 42af4034b07e..121af19872e9 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c +++ b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c @@ -358,12 +358,10 @@ setup_mac_metadata(struct archive_read_disk *a, return (ARCHIVE_OK); archive_string_init(&tempfile); - if (__archive_get_tempdir(&tempfile) != ARCHIVE_OK) { - ret = ARCHIVE_WARN; - goto cleanup; - } - archive_strcat(&tempfile, "tar.md.XXXXXX"); - tempfd = mkstemp(tempfile.s); + archive_strcpy(&tempfile, name); + archive_string_dirname(&tempfile); + archive_strcat(&tempfile, "/tar.XXXXXXXX"); + tempfd = __archive_mkstemp(tempfile.s); if (tempfd < 0) { archive_set_error(&a->archive, errno, "Could not open extended attribute file"); diff --git a/contrib/libarchive/libarchive/archive_read_disk_posix.c b/contrib/libarchive/libarchive/archive_read_disk_posix.c index 54a8e66188f8..7cd292f259ff 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_read_disk_posix.c @@ -107,6 +107,8 @@ #define O_CLOEXEC 0 #endif +#define MAX_FILESYSTEM_ID 1000000 + #if defined(__hpux) && !defined(HAVE_DIRFD) #define dirfd(x) ((x)->__dd_fd) #define HAVE_DIRFD @@ -1412,8 +1414,12 @@ update_current_filesystem(struct archive_read_disk *a, int64_t dev) * This is the new filesystem which we have to generate a new ID for. */ fid = t->max_filesystem_id++; + if (fid > MAX_FILESYSTEM_ID) { + archive_set_error(&a->archive, ENOMEM, "Too many filesystems"); + return (ARCHIVE_FATAL); + } if (t->max_filesystem_id > t->allocated_filesystem) { - size_t s; + int s; void *p; s = t->max_filesystem_id * 2; @@ -1693,8 +1699,6 @@ setup_current_filesystem(struct archive_read_disk *a) #endif t->current_filesystem->noatime = 0; - /* Set maximum filename length. */ - t->current_filesystem->name_max = svfs.f_namemax; return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c b/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c index 760e6d938d2a..144572ef2362 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c @@ -49,9 +49,12 @@ #include "archive_xxhash.h" #define LZ4_MAGICNUMBER 0x184d2204 -#define LZ4_SKIPPABLED 0x184d2a50 #define LZ4_LEGACY 0x184c2102 +// Note: LZ4 and zstd share the same skippable frame format with the same magic numbers. +#define LZ4_SKIPPABLE_START 0x184D2A50 +#define LZ4_SKIPPABLE_MASK 0xFFFFFFF0 + #if defined(HAVE_LIBLZ4) struct private_data { enum { SELECT_STREAM, @@ -141,19 +144,67 @@ lz4_reader_bid(struct archive_read_filter_bidder *self, { const unsigned char *buffer; ssize_t avail; - int bits_checked; - uint32_t number; + int bits_checked = 0; + ssize_t min_lz4_archive_size = 11; + + // LZ4 skippable frames contain a 4 byte magic number followed by + // a 4 byte frame data size, then that number of bytes of data. Regular + // frames contain a 4 byte magic number followed by a 2-14 byte frame + // header, some data, and a 3 byte end marker. + ssize_t min_lz4_frame_size = 8; + + ssize_t offset_in_buffer = 0; + ssize_t max_lookahead = 64 * 1024; - (void)self; /* UNUSED */ + (void)self; // UNUSED - /* Minimal lz4 archive is 11 bytes. */ - buffer = __archive_read_filter_ahead(filter, 11, &avail); + // Zstd and LZ4 skippable frame magic numbers are identical. To + // differentiate these two, we need to look for a non-skippable + // frame. + + // Minimal lz4 archive is 11 bytes. + buffer = __archive_read_filter_ahead(filter, min_lz4_archive_size, &avail); if (buffer == NULL) return (0); - /* First four bytes must be LZ4 magic numbers. */ - bits_checked = 0; - if ((number = archive_le32dec(buffer)) == LZ4_MAGICNUMBER) { + uint32_t magic_number = archive_le32dec(buffer); + + while ((magic_number & LZ4_SKIPPABLE_MASK) == LZ4_SKIPPABLE_START) { + + offset_in_buffer += 4; // Skip over the magic number + + // Ensure that we can read another 4 bytes. + if (offset_in_buffer + 4 > avail) { + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + 4, &avail); + if (buffer == NULL) + return (0); + } + + uint32_t frame_data_size = archive_le32dec(buffer + offset_in_buffer); + + // Skip over the 4 frame data size bytes, plus the value stored there. + offset_in_buffer += 4 + frame_data_size; + + // There should be at least one more frame if this is LZ4 data. + if (offset_in_buffer + min_lz4_frame_size > avail) { // TODO: should this be >= ? + if (offset_in_buffer + min_lz4_frame_size > max_lookahead) + return (0); + + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + min_lz4_frame_size, &avail); + if (buffer == NULL) + return (0); + } + + magic_number = archive_le32dec(buffer + offset_in_buffer); + } + + // We have skipped over any skippable frames. Either a regular LZ4 frame + // follows, or this isn't LZ4 data. + + bits_checked = offset_in_buffer; + buffer = buffer + offset_in_buffer; + + if (magic_number == LZ4_MAGICNUMBER) { unsigned char flag, BD; bits_checked += 32; @@ -175,11 +226,16 @@ lz4_reader_bid(struct archive_read_filter_bidder *self, if (BD & ~0x70) return (0); bits_checked += 8; - } else if (number == LZ4_LEGACY) { + + return (bits_checked); + } + + if (magic_number == LZ4_LEGACY) { bits_checked += 32; + return (bits_checked); } - - return (bits_checked); + + return (0); } #if !defined(HAVE_LIBLZ4) @@ -342,7 +398,7 @@ lz4_filter_read(struct archive_read_filter *self, const void **p) return lz4_filter_read_default_stream(self, p); else if (number == LZ4_LEGACY) return lz4_filter_read_legacy_stream(self, p); - else if ((number & ~0xF) == LZ4_SKIPPABLED) { + else if ((number & LZ4_SKIPPABLE_MASK) == LZ4_SKIPPABLE_START) { read_buf = __archive_read_filter_ahead( self->upstream, 4, NULL); if (read_buf == NULL) { diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c b/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c index 9a1dd71abdf6..da7c540dbcd9 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c @@ -110,24 +110,67 @@ zstd_bidder_bid(struct archive_read_filter_bidder *self, { const unsigned char *buffer; ssize_t avail; - unsigned prefix; - /* Zstd frame magic values */ - unsigned zstd_magic = 0xFD2FB528U; - unsigned zstd_magic_skippable_start = 0x184D2A50U; - unsigned zstd_magic_skippable_mask = 0xFFFFFFF0; + // Zstandard skippable frames contain a 4 byte magic number followed by + // a 4 byte frame data size, then that number of bytes of data. Regular + // frames contain a 4 byte magic number followed by a 2-14 byte frame + // header, some data, and a 3 byte end marker. + ssize_t min_zstd_frame_size = 8; - (void) self; /* UNUSED */ + ssize_t offset_in_buffer = 0; + ssize_t max_lookahead = 64 * 1024; - buffer = __archive_read_filter_ahead(filter, 4, &avail); + // Zstd regular frame magic number. + uint32_t zstd_magic = 0xFD2FB528U; + + // Note: Zstd and LZ4 skippable frame magic numbers are identical. + // To differentiate these two, we need to look for a non-skippable + // frame. + uint32_t zstd_magic_skippable_start = 0x184D2A50; + uint32_t zstd_magic_skippable_mask = 0xFFFFFFF0; + + (void) self; // UNUSED + + buffer = __archive_read_filter_ahead(filter, min_zstd_frame_size, &avail); if (buffer == NULL) return (0); - prefix = archive_le32dec(buffer); - if (prefix == zstd_magic) - return (32); - if ((prefix & zstd_magic_skippable_mask) == zstd_magic_skippable_start) - return (32); + uint32_t magic_number = archive_le32dec(buffer); + + while ((magic_number & zstd_magic_skippable_mask) == zstd_magic_skippable_start) { + + offset_in_buffer += 4; // Skip over the magic number + + // Ensure that we can read another 4 bytes. + if (offset_in_buffer + 4 > avail) { + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + 4, &avail); + if (buffer == NULL) + return (0); + } + + uint32_t frame_data_size = archive_le32dec(buffer + offset_in_buffer); + + // Skip over the 4 frame data size bytes, plus the value stored there. + offset_in_buffer += 4 + frame_data_size; + + // There should be at least one more frame if this is zstd data. + if (offset_in_buffer + min_zstd_frame_size > avail) { + if (offset_in_buffer + min_zstd_frame_size > max_lookahead) + return (0); + + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + min_zstd_frame_size, &avail); + if (buffer == NULL) + return (0); + } + + magic_number = archive_le32dec(buffer + offset_in_buffer); + } + + // We have skipped over any skippable frames. Either a regular zstd frame + // follows, or this isn't zstd data. + + if (magic_number == zstd_magic) + return (offset_in_buffer + 4); return (0); } diff --git a/contrib/libarchive/libarchive/archive_read_support_format_7zip.c b/contrib/libarchive/libarchive/archive_read_support_format_7zip.c index 595462733104..330d5515dd50 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_7zip.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_7zip.c @@ -744,6 +744,7 @@ find_elf_data_sec(struct archive_read *a) const char *h; char big_endian, format_64; ssize_t bytes, min_addr = SFX_MIN_ADDR; + ssize_t request; uint64_t e_shoff, strtab_offset, strtab_size; uint16_t e_shentsize, e_shnum, e_shstrndx; uint16_t (*dec16)(const void *); @@ -796,7 +797,12 @@ find_elf_data_sec(struct archive_read *a) if (__archive_read_seek(a, e_shoff, SEEK_SET) < 0) { break; } - h = __archive_read_ahead(a, (size_t)e_shnum * (size_t)e_shentsize, NULL); + if (format_64) { + request = (size_t)e_shnum * (size_t)e_shentsize + 0x28; + } else { + request = (size_t)e_shnum * (size_t)e_shentsize + 0x18; + } + h = __archive_read_ahead(a, request, &bytes); if (h == NULL) { break; } diff --git a/contrib/libarchive/libarchive/archive_read_support_format_lha.c b/contrib/libarchive/libarchive/archive_read_support_format_lha.c index 2a84ad9dd307..abf8b8799636 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_lha.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_lha.c @@ -689,7 +689,7 @@ archive_read_format_lha_read_header(struct archive_read *a, * a pathname and a symlink has '\' character, a directory * separator in DOS/Windows. So we should convert it to '/'. */ - if (p[H_LEVEL_OFFSET] == 0) + if (lha->level == 0) lha_replace_path_separator(lha, entry); archive_entry_set_mode(entry, lha->mode); diff --git a/contrib/libarchive/libarchive/archive_read_support_format_tar.c b/contrib/libarchive/libarchive/archive_read_support_format_tar.c index eeb2c725f6eb..98f7d699570a 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_tar.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_tar.c @@ -2311,6 +2311,7 @@ pax_attribute_read_number(struct archive_read *a, size_t value_length, int64_t * archive_string_init(&as); r = read_bytes_to_string(a, &as, value_length, &unconsumed); if (tar_flush_unconsumed(a, &unconsumed) != ARCHIVE_OK) { + *result = 0; return (ARCHIVE_FATAL); } if (r < ARCHIVE_OK) { diff --git a/contrib/libarchive/libarchive/archive_read_support_format_zip.c b/contrib/libarchive/libarchive/archive_read_support_format_zip.c index 9abd55709e3f..0c86ce935e26 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_zip.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_zip.c @@ -78,6 +78,12 @@ #include "archive_crc32.h" #endif +/* length of local file header, not including filename and extra */ +#define ZIP_LOCHDR_LEN 30U + +/* maximum length of Mac metadata in MiB */ +#define ZIP_MAX_METADATA 10U + struct zip_entry { struct archive_rb_node node; struct zip_entry *next; @@ -933,7 +939,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, zip->init_default_conversion = 1; } - if ((p = __archive_read_ahead(a, 30, NULL)) == NULL) { + if ((p = __archive_read_ahead(a, ZIP_LOCHDR_LEN, NULL)) == NULL) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_FATAL); @@ -969,7 +975,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, filename_length = archive_le16dec(p + 26); extra_length = archive_le16dec(p + 28); - __archive_read_consume(a, 30); + __archive_read_consume(a, ZIP_LOCHDR_LEN); /* Read the filename. */ if ((h = __archive_read_ahead(a, filename_length, NULL)) == NULL) { @@ -3637,7 +3643,7 @@ read_eocd(struct zip *zip, const char *p, int64_t current_offset) { uint16_t disk_num; uint32_t cd_size, cd_offset; - + disk_num = archive_le16dec(p + 4); cd_size = archive_le32dec(p + 12); cd_offset = archive_le32dec(p + 16); @@ -4097,7 +4103,7 @@ zip_get_local_file_header_size(struct archive_read *a, size_t extra) const char *p; ssize_t filename_length, extra_length; - if ((p = __archive_read_ahead(a, extra + 30, NULL)) == NULL) { + if ((p = __archive_read_ahead(a, extra + ZIP_LOCHDR_LEN, NULL)) == NULL) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_WARN); @@ -4111,7 +4117,7 @@ zip_get_local_file_header_size(struct archive_read *a, size_t extra) filename_length = archive_le16dec(p + 26); extra_length = archive_le16dec(p + 28); - return (30 + filename_length + extra_length); + return (ZIP_LOCHDR_LEN + filename_length + extra_length); } static int @@ -4148,16 +4154,16 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry, return (ARCHIVE_WARN); } - if (rsrc->uncompressed_size > (4 * 1024 * 1024)) { + if (rsrc->uncompressed_size > ZIP_MAX_METADATA * 1048576U) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, - "Mac metadata is too large: %jd > 4M bytes", - (intmax_t)rsrc->uncompressed_size); + "Mac metadata is too large: %jd > %u MiB", + (intmax_t)rsrc->uncompressed_size, ZIP_MAX_METADATA); return (ARCHIVE_WARN); } - if (rsrc->compressed_size > (4 * 1024 * 1024)) { + if (rsrc->compressed_size > ZIP_MAX_METADATA * 1048576U) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, - "Mac metadata is too large: %jd > 4M bytes", - (intmax_t)rsrc->compressed_size); + "Mac metadata is too large: %jd > %u MiB", + (intmax_t)rsrc->compressed_size, ZIP_MAX_METADATA); return (ARCHIVE_WARN); } diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index 3bb978335eb8..740308b6e4e3 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -2054,6 +2054,26 @@ archive_strncat_l(struct archive_string *as, const void *_p, size_t n, return (r); } +struct archive_string * +archive_string_dirname(struct archive_string *as) +{ + /* strip trailing separators */ + while (as->length > 1 && as->s[as->length - 1] == '/') + as->length--; + /* strip final component */ + while (as->length > 0 && as->s[as->length - 1] != '/') + as->length--; + /* empty path -> cwd */ + if (as->length == 0) + return (archive_strcat(as, ".")); + /* strip separator(s) */ + while (as->length > 1 && as->s[as->length - 1] == '/') + as->length--; + /* terminate */ + as->s[as->length] = '\0'; + return (as); +} + #if HAVE_ICONV /* diff --git a/contrib/libarchive/libarchive/archive_string.h b/contrib/libarchive/libarchive/archive_string.h index e8987867d3ce..d5f5c03aca30 100644 --- a/contrib/libarchive/libarchive/archive_string.h +++ b/contrib/libarchive/libarchive/archive_string.h @@ -192,6 +192,10 @@ void archive_string_vsprintf(struct archive_string *, const char *, void archive_string_sprintf(struct archive_string *, const char *, ...) __LA_PRINTF(2, 3); +/* Equivalent to dirname(3) */ +struct archive_string * +archive_string_dirname(struct archive_string *); + /* Translates from MBS to Unicode. */ /* Returns non-zero if conversion failed in any way. */ int archive_wstring_append_from_mbs(struct archive_wstring *dest, diff --git a/contrib/libarchive/libarchive/archive_write_disk_posix.c b/contrib/libarchive/libarchive/archive_write_disk_posix.c index aeb27e1270ad..d69f041dde7e 100644 --- a/contrib/libarchive/libarchive/archive_write_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_write_disk_posix.c @@ -412,12 +412,14 @@ static ssize_t _archive_write_disk_data_block(struct archive *, const void *, static int la_mktemp(struct archive_write_disk *a) { + struct archive_string *tmp = &a->_tmpname_data; int oerrno, fd; mode_t mode; - archive_string_empty(&a->_tmpname_data); - archive_string_sprintf(&a->_tmpname_data, "%s.XXXXXX", a->name); - a->tmpname = a->_tmpname_data.s; + archive_strcpy(tmp, a->name); + archive_string_dirname(tmp); + archive_strcat(tmp, "/tar.XXXXXXXX"); + a->tmpname = tmp->s; fd = __archive_mkstemp(a->tmpname); if (fd == -1) @@ -4287,8 +4289,10 @@ create_tempdatafork(struct archive_write_disk *a, const char *pathname) int tmpfd; archive_string_init(&tmpdatafork); - archive_strcpy(&tmpdatafork, "tar.md.XXXXXX"); - tmpfd = mkstemp(tmpdatafork.s); + archive_strcpy(&tmpdatafork, pathname); + archive_string_dirname(&tmpdatafork); + archive_strcat(&tmpdatafork, "/tar.XXXXXXXX"); + tmpfd = __archive_mkstemp(tmpdatafork.s); if (tmpfd < 0) { archive_set_error(&a->archive, errno, "Failed to mkstemp"); @@ -4367,8 +4371,10 @@ set_mac_metadata(struct archive_write_disk *a, const char *pathname, * silly dance of writing the data to disk just so that * copyfile() can read it back in again. */ archive_string_init(&tmp); - archive_strcpy(&tmp, "tar.mmd.XXXXXX"); - fd = mkstemp(tmp.s); + archive_strcpy(&tmp, pathname); + archive_string_dirname(&tmp); + archive_strcat(&tmp, "/tar.XXXXXXXX"); + fd = __archive_mkstemp(tmp.s); if (fd < 0) { archive_set_error(&a->archive, errno, diff --git a/contrib/libarchive/libarchive/archive_write_open_filename.c b/contrib/libarchive/libarchive/archive_write_open_filename.c index 7d0f9bde1dbb..430de21fde14 100644 --- a/contrib/libarchive/libarchive/archive_write_open_filename.c +++ b/contrib/libarchive/libarchive/archive_write_open_filename.c @@ -191,6 +191,8 @@ file_open(struct archive *a, void *client_data) archive_set_error(a, errno, "Couldn't stat '%s'", mbs); else archive_set_error(a, errno, "Couldn't stat '%ls'", wcs); + close(mine->fd); + mine->fd = -1; return (ARCHIVE_FATAL); } diff --git a/contrib/libarchive/libarchive/module.modulemap b/contrib/libarchive/libarchive/module.modulemap new file mode 100644 index 000000000000..70f70fc3a1a2 --- /dev/null +++ b/contrib/libarchive/libarchive/module.modulemap @@ -0,0 +1,34 @@ +/* + * Clang Module Map for libarchive + * + * What this is: + * This file tells the Clang compiler how to treat libarchive as a "module" - + * a self-contained unit of code that can be imported all at once instead of + * including individual header files. Think of it like a package definition. + * + * How it works: + * - When you write `@import CArchive` (Objective-C) or `import CArchive` (Swift), + * the compiler uses this file to know which headers belong to libarchive + * - Instead of processing each #include separately, the compiler can load a + * pre-compiled version of the entire library, making builds faster + * - This also provides better dependency tracking and can catch issues like + * conflicting macro definitions between libraries + * + * When to update: + * Update this file whenever: + * - New public header files are added to libarchive's libarchive/ directory + * - Public headers are removed or renamed + * - The library's API structure changes significantly + * + * You typically don't need to update this for: + * - Internal implementation changes + * - Private/internal header modifications + * - Documentation updates + * + * NOTE: This only affects projects using Clang with modules enabled. Traditional + * #include-based builds will continue to work normally with or without this file. + */ +module CArchive { + header "archive.h" + header "archive_entry.h" +} diff --git a/contrib/libarchive/libarchive/test/test_archive_string.c b/contrib/libarchive/libarchive/test/test_archive_string.c index 30f7a800eae8..bf822c0d5e82 100644 --- a/contrib/libarchive/libarchive/test/test_archive_string.c +++ b/contrib/libarchive/libarchive/test/test_archive_string.c @@ -353,6 +353,43 @@ test_archive_string_sprintf(void) archive_string_free(&s); } +static void +test_archive_string_dirname(void) +{ + static struct pair { const char *str, *exp; } pairs[] = { + { "", "." }, + { "/", "/" }, + { "//", "/" }, + { "///", "/" }, + { "./", "." }, + { ".", "." }, + { "..", "." }, + { "foo", "." }, + { "foo/", "." }, + { "foo//", "." }, + { "foo/bar", "foo" }, + { "foo/bar/", "foo" }, + { "foo/bar//", "foo" }, + { "foo//bar", "foo" }, + { "foo//bar/", "foo" }, + { "foo//bar//", "foo" }, + { "/foo", "/" }, + { "//foo", "/" }, + { "//foo/", "/" }, + { "//foo//", "/" }, + { 0 }, + }; + struct pair *pair; + struct archive_string s; + + archive_string_init(&s); + for (pair = pairs; pair->str; pair++) { + archive_strcpy(&s, pair->str); + archive_string_dirname(&s); + assertEqualString(pair->exp, s.s); + } +} + DEFINE_TEST(test_archive_string) { test_archive_string_ensure(); @@ -364,6 +401,7 @@ DEFINE_TEST(test_archive_string) test_archive_string_concat(); test_archive_string_copy(); test_archive_string_sprintf(); + test_archive_string_dirname(); } static const char *strings[] = diff --git a/contrib/libarchive/libarchive/test/test_compat_lz4.c b/contrib/libarchive/libarchive/test/test_compat_lz4.c index 9e309a9fbd20..8ab9208b0918 100644 --- a/contrib/libarchive/libarchive/test/test_compat_lz4.c +++ b/contrib/libarchive/libarchive/test/test_compat_lz4.c @@ -98,6 +98,8 @@ DEFINE_TEST(test_compat_lz4) verify("test_compat_lz4_3.tar.lz4.uu", n); /* This sample has been compressed with -B4 option. */ verify("test_compat_lz4_B4.tar.lz4.uu", n2); + /* This sample has been compresed with -B4, and has two skippable frames at the start. */ + verify("test_compat_lz4_skippable_frames_B4.tar.lz4.uu", n2); /* This sample has been compressed with -B5 option. */ verify("test_compat_lz4_B5.tar.lz4.uu", n2); /* This sample has been compressed with -B6 option. */ diff --git a/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu b/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu new file mode 100644 index 000000000000..f45b1ac8f8dd --- /dev/null +++ b/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu @@ -0,0 +1,6739 @@ +begin 664 test_compat_lz4_skippable_frames_B4.tar.lz4.uu +M4"I-&`````!1*DT8"@`````!`@,$!08'"`D$(DT89$"GE1$``&]X9FEL90`! +M`$OA,#`P-C0T(``P,#`W-C4(`"(P,A``(C(P`0#_!R`Q,C,U,S4U,S4Q,B`P +M,3(P,C,`(#"7`$L"`@"O=7-T87(`,#!C=0`<``$D!0'-U8V@G`%`J(&5X84D`0',Z(%,R`U1S;6%L;!4`!#X!`+X!\`!A +M="!Y;W4@;6%Y(&9I;F30`C%F=6PO`@9%`%$O;6EN:84!$6'C`5%A8W0@2#R`@!3!%`N"@I4:)T!,'`M;`P$HB!D:7)E +M8W1O@`K1#3U!924Y'("T@=U$!8F-A;B!D;Y\` +M,W1H:2D`\@))3E-404Q,("T@:6YS=&%L;'4```T`(7)U*@(#*0`#0`41+3P` +M`94```\!`4D!@&9I9W5R92`MS@`!#``"1`"U'2(`#!P=71>`H$@(F-M86ME(B0#:60@=&]O +M;$T``E8!!NL#`2D!,2!I;DP!#VT!`3!AM``,D +M!`"3``!.`/4!+F%M+"!A8VQO8V%L+FTT+.$`0&4N86/_```"`!(M5``D=&^H +M``RB!+(L(&]N;'D@;F5E9'P`,6UA:?8!(V5R7`$%<``D:6YD`/(#+F@N:6X* +M"2T@=&5M<&QA=&5S9P`18C0"`68!$V6U`&`*"D=U:63S`"@@1%0&!-(!`G4` +M`;P$2+8($-7,N-:H(`J\``!D# +M`/(`@&UA=',@=&%R +M+C54`0CQ!$%A8F]U4P4@P`(2PF!:&%R9"UT;RTP +M!@1;`0%'``!!`&%M;V1E``%4!%"`"X +M!!,BO0(R+F@BJ0"`:&4*2R"```[!P$C"4!A=71ODP8`_P(0><$",&5C=)D# +M$635``,<`@5X"1!F+``!MP91*B!'3E5U`0(U`B8@*`0+`!H`06QO;F=0!F)N +M86UE+``-J`0`9`X$J(%!/4TE8("`-`5L` +M`A``,G!A>%H)`ED'`W@"!R$`P&]C=&5T+6]R:65N=!<$('!I?@G&*B!35E(T +M($%30TE)%``"4P`/,@`%84)I;F%R>2X`P"`H8FEG+65N9&EA;J(!8VQI='1L +M91$``OH`\0))4T\Y-C8P($-$+5)/32!I;;<"$2AX""!O<,L#P&%L(%)O8VMR +M:61G944`8DIO;&EE="D!`>\!`DD`-%I)4%8#!$``('5N3@DPFEP/@$Q:6]N%0!=8GII<#(6``1\`4TO3%I7'0"B;'IM82P@;'II +MD# +M`*4#(71EVPAA.@H*("H@+1`0:2`*<&AE879I;'G\"#9E86VU!0(1"W`N("!4 +M:&5R-!$S(&YOX@<`@@(#WP@`DP1!(&EN+;F4@``%1`0.;`")E;LD!!RT``'P`"W$`*&1E$0`# +MQ@(1+/```H```(T.`)8!`!8!`$``,&%G8?,/`?$)D6-OP,1<#4`T6%T979E +M$P$/`P),%@`&"1!G5180:2(3`2(`!4H``.,3(6-EA0`A3VZ0`QMEPP`"Y`(R +M<')O.@$!A0%18W1L>2W,`))E9"!O=71P=73O`@!@!/$#;V)J96-T+7-T>6QE +M(&%P<')OR`,`^10"^@#0=&\@:&%V92!M=6QT:<,3!*D``@$$`+D(52!O<&5N +MG@`3(!40`&H0``H!$6DA"&-I=',@(D`\`!(BO0012!FP"`,D*`2L`,VEN("#B)A;N@"`*4'!C0*$"QC`$!D97-P +MH@``;`0!Y`,`7,N"B05$6:X#0]D&O______________________ +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M_________________________________________UM09"!O2!O9B<`H69O;&QO=VEN9SJ&`(%U=65N +M8V]D90T`16=Z:7#A`#%I;VX5`%UB>FEP,A8`!`FUA+"!L +M>FEP+!0!*7AZ(P#!"DYO=&5S(&%B;W5TE`!R;&EB=$`\"YT96-T=7)E +M.@H*("H@5&AI0`&EP#@:7,@9&5S:6=N +M960@=&]>`61E>'1E;F1>`3AN97?@``#S`#(*("#.`!!V<@$`]`$22!R97%U:7)E;65N=+(`,G1H80D!`BL`("!BCP&0(')E861A8FQEH@!! +M=W)I=`P`$&$,`0($`0!H``([`$5E86-H;P``E@(3>4,`4&EN9&5PJ@`B;G1_ +M`$%R92!A!`"4=&EC;&5S(&]N@0$#KP+P`2!7:6MI(&5X<&QA:6YI;F?)`#!H +M;W?X``+U``$N("!)9B!Y;W4@9&]N)^P!`+8`\0)I8VET;'D@ +M:6YV;VME(&$@<.L`@'5L87(@9F5A60)`("AS=2\!&7,<`A!AZ0`'+0`$YP,# +M(@("F0%P*2P@:70@=W``\``@9V5T('!U;&QE9"!I;BX^`"=);FX`-RP@:9X` +M`5$!`YL`(F5NR0$'+0``/@`+<0`H9&41``/&`A$L\``"@``B;F6.`@`6`0!` +M`&)A9V%I;G-'`J!C;W)R97-P;VYD)P0(20`-6@`">P,Q:65SPP`!;P.P86QS +M;R!R961U8V6;`C!E('.%`2-O9H@!`+,!$"UV`&%E9"!B:6X]`"`@:2P$@"!E +M;G9IP,1<#4`T6%T +M979E8!(71O(@`%2@!A="!O;F-EA0`A3VZ0`QMEPP`"Y`(R<')O +M.@$!A0%18W1L>2W,`))E9"!O=71P=73O`@!@!/$#;V)J96-T+7-T>6QE(&%P +M<')OR`,`H`4"^@#@=&\@:&%V92!M=6QT:7`E``.E`P(!!`!;!E4@;W!E;IX` +ML2`@8G-D=&%R('5SO`$`/06#;B!I=',@(D#E`!(BR`-&2!B=69F97(@;W*Y`@!E``1R +M`85A('-O8VME=#X#27=IP"`*`'`2L`,VEN +M("0#\`)N86UE('-A>7,N"E)%041-15``!^@&X2!B=6YD;&4N +M"@I1=65S^@*@/R`@27-S=65S/U(`URH@:'1T<#HO+W=W=RX@!S!O3``!( +M`1!HN`*#9F]R(&]N9V]8!Q@@9`!P9&5V96QO<#P%<2P@:6YC;'6]!4!D;V-U +M%``!K`@!3@D`<0``.@`A;FM=`0!=``9S`%`@;6%I;`<"0FQI`<``$D!`)()`"<`4"H@97AA20!`8$(&YDT`(Q9G5L+P(&10`0+T,*`84! +M$6&>"E%A8W0@M``,D!`"3``!.`/``+F%M+"!A8VQO +M8V%L+FTT"0T#[0`P+F%C%P$``@`0+:("`)\`!*@``-D."*($$BP:#@#7"P!9 +M"Q!YR@4!]@$C97*N`05P`"1I;F0`@2YH+FEN"@DM]`<`H!`2=&%R +M+C54`0CQ!`4^$A%S8P0Q<&]PY0\#G`$$>P`(2PE`:&%R9!8,`3`&!%L!`4<` +M`(X!86UO9&5R;H\``.@!`+P'<"!V87)I86Y("0":!3!M86[X"T%P86=E.``` +M,0XD``'?`5=H+`#L' +M`2,)"=H1`,$",&5C=)D#$61A#0,<`@2#%"`@9@82`;<&`D$5!JH+)B`H!`L` +M6Q4@;&\O`#!I;&6M"R)S+!````4+$R`1``!C`%)S<&%RC0."P#``0#E%P$A"00(`0`` +M"@*<$`5+`0!U!`\&`0("@P$#OP,"O`(/'P,8,")R9:`-`!`6$2)'`P)/`,(L +M('=H:6-H('=I;&SK&`!P"``9!`-?`4!S(&5X+10``@(`N04$B1$""Q<#6A3`1!F+`"A#0#46-H86YG?@$W;6%T(0"P;V-T970M;W)I96X!`P!@`@$>`*%35E(T +M($%30TE)=`(!%``"4P`/,@`%84)I;F%R>2X`P"`H8FEG+65N9&EA;J(!8VQI +M='1L91$``OH`\0))4T\Y-C8P($-$+5)/32!I;;<"@"AW:71H(&]PRP/`86P@ +M4F]C:W)I9&=E10!B2F]L:65T*0$![P$"20`T6DE05@,$0`#`=6YC;VUPFEP/@$Q:6]N&`%=8GII<#(6``1\`4TO3%I7 +M'0"B;'IM82P@;'II&-E<$`%`+D%!&D"L"!T:&%T(')E<75IE@4G87C*`E(@ +M*&9O?P(-F5A;;4%X'-YU`P#P!`![``-S!`![ +M``&'"0&C`%0@;VYL>0H#`#@(`+(``1X#`*8$`@P"(2!B-PEQ4,`4&EN9&5PJ@`E +M;G0B`0`8"5!AP,1<#4`T6%T979E; Thu, 15 Jan 2026 21:24: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 4dsbbl3DHXz3Hp2 for ; Thu, 15 Jan 2026 21:24:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768512291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c1NBiovT3d88trYjTJHPozdbSjZHNibyZsq9nph9LdE=; b=csDFlwyY52/L6s9Ko6K4QvXf5XFLbnzObeiATX8OJufCZ2jtS5vgBcrhBlCOipzrz0ODhc W8G5FJsvGxusk3hEvsbgG0CPTs70f/3c5dZIh8pmhgk2XXtnWnQ1eJSlVHU6TtjbfnTNDS nAMEas6QlKWmA14Upt0yNfunufYEYylbeNRIQ90izzhE+5t78p+jV52WspqjCfqK+/+O8R aPsEONQJL+BpEhxxSNs4OZ7n464RWqwgbibDjUMURwvQQRS/iKccek86d5coOE7h7iTFZ8 Q8WLOYcWaMNxNdqP90isqPc7YttB74/zJEszrGKflcOpRWt4zN9ku73R8fl9gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768512291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c1NBiovT3d88trYjTJHPozdbSjZHNibyZsq9nph9LdE=; b=nUGJtGMFr/t6nXSyx+osOtg6Pxq4utMY9+1R0DRxl+f0Qt78IKbRTgMRFyvO4DHvUvEH1A 5sj8k6Dx1Al8L/h6+LT9lf8oNdESpYSalcm1a8ECh3mbvl5x85f/mLfOy22sVR18T66arD cyTFK0vc+nJ6sKRxkiY7qiVoEZ59OMJk1JRMfDTZRZQZa3aTy31a//QHwuahQVbEqPJaM2 qqXWJt0CfVbzeyTnd4rhRuJYWc6saQxEU9H9DHEqFDgh4AntLwtvOy4hbzaMCpOigWlcRd mxLmF72zuvYHLSyeX9e4g+eAE87eIe3uwflCNV7raU6ehy7oPM14fM8CyEmzFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768512291; a=rsa-sha256; cv=none; b=agwTyVYG1hK7s368XE6sz3HxKlI1NSepx57Rhj57mMs+wjk1mLa10ablde1IRvFh/FdYdH ZErMp9JSSRItDbWeTXQcuFJwY7/lT2qV8vYauP54Uj/nhbb9061NMncTHw950pPxbKzDnL Wt5C0cfJr3GTnwR6kxCE8IdhDt+L0dtpEj0sprC973DedSUN5bc2xe8Ai1d/dq8ru9JQyY OZ/R/EJPho/oFcOKyzz9hw67gxNL+sssXv8gMbZ1atGNsjxve8gGNTuk/GEnjL6wdo/8E6 I+7AzGsYeT7sd05c4y7ApG85UbiIBx7WZrZrTsX4xKpVXfRKgdQQxQsk9O8R0A== 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 4dsbbl2mwJzlwh for ; Thu, 15 Jan 2026 21:24:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 204c2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 21:24:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: d39dd181c8ab - stable/14 - libarchive: merge from vendor branch 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/14 X-Git-Reftype: branch X-Git-Commit: d39dd181c8ab36264a60ad0b329e80929a0db7f8 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 21:24:51 +0000 Message-Id: <69695b23.204c2.213a7ee6@gitrepo.freebsd.org> The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=d39dd181c8ab36264a60ad0b329e80929a0db7f8 commit d39dd181c8ab36264a60ad0b329e80929a0db7f8 Author: Martin Matuska AuthorDate: 2025-12-01 13:05:35 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 20:04:49 +0000 libarchive: merge from vendor branch libarchive 3.8.4 Important bugfixes: #2787 bsdtar: Fix zero-length pattern issue #2797 lib: Fix regression introduced in libarchive 3.8.2 when walking enterable but unreadable directories Obtained from: libarchive Vendor commit: d114ceee6de08a7a60ff1209492ba38bf9436f79 MFC after: 1 week (cherry picked from commit c1e033c33e8b290cd40f4069249c879efcbae6a6) --- contrib/libarchive/NEWS | 8 ++++--- contrib/libarchive/libarchive/archive.h | 4 ++-- contrib/libarchive/libarchive/archive_cryptor.c | 6 +++--- .../libarchive/archive_cryptor_private.h | 4 ++-- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_disk_entry_from_file.c | 5 ++--- .../libarchive/archive_read_disk_posix.c | 25 ++++++++++------------ .../libarchive/archive_read_support_format_mtree.c | 2 +- .../libarchive/archive_version_details.c | 2 +- contrib/libarchive/libarchive/archive_write.c | 2 +- .../libarchive/archive_write_disk_posix.c | 6 +++--- .../libarchive/archive_write_set_format_xar.c | 12 +++++------ .../test/test_archive_read_multiple_data_objects.c | 2 +- .../libarchive/test/test_write_disk_perms.c | 6 +++--- .../libarchive/test/test_write_filter_bzip2.c | 3 ++- contrib/libarchive/tar/subst.c | 19 ++++++++++------ contrib/libarchive/tar/test/test_option_s.c | 8 ++++++- 17 files changed, 63 insertions(+), 53 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index 971ae8e441e1..fbbb65440b39 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,8 +1,10 @@ -Nov 17, 2026: libarchive 3.8.3 released +Dec 01, 2025: libarchive 3.8.4 released -Oct 15, 2026: libarchive 3.8.2 released +Nov 17, 2025: libarchive 3.8.3 released -Jun 01, 2026: libarchive 3.8.1 released +Oct 15, 2025: libarchive 3.8.2 released + +Jun 01, 2025: libarchive 3.8.1 released May 20, 2025: libarchive 3.8.0 released diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 9794dced6ca9..0eda822ae6bf 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008003 +#define ARCHIVE_VERSION_NUMBER 3008004 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.3" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.4" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_cryptor.c b/contrib/libarchive/libarchive/archive_cryptor.c index 9f03f9ca6dd0..b6a02fd1e7cb 100644 --- a/contrib/libarchive/libarchive/archive_cryptor.c +++ b/contrib/libarchive/libarchive/archive_cryptor.c @@ -490,9 +490,9 @@ aes_ctr_update(archive_crypto_ctx *ctx, const uint8_t * const in, size_t in_len, uint8_t * const out, size_t *out_len) { uint8_t *const ebuf = ctx->encr_buf; - unsigned pos = ctx->encr_pos; - unsigned max = (unsigned)((in_len < *out_len)? in_len: *out_len); - unsigned i; + size_t pos = ctx->encr_pos; + size_t max = (in_len < *out_len)? in_len: *out_len; + size_t i; for (i = 0; i < max; ) { if (pos == AES_BLOCK_SIZE) { diff --git a/contrib/libarchive/libarchive/archive_cryptor_private.h b/contrib/libarchive/libarchive/archive_cryptor_private.h index 1dbc5c17a01a..272f2f84b9c9 100644 --- a/contrib/libarchive/libarchive/archive_cryptor_private.h +++ b/contrib/libarchive/libarchive/archive_cryptor_private.h @@ -56,10 +56,10 @@ int __libarchive_cryptor_build_hack(void); typedef struct { CCCryptorRef ctx; uint8_t key[AES_MAX_KEY_SIZE]; - unsigned key_len; + size_t key_len; uint8_t nonce[AES_BLOCK_SIZE]; uint8_t encr_buf[AES_BLOCK_SIZE]; - unsigned encr_pos; + size_t encr_pos; } archive_crypto_ctx; #elif defined(_WIN32) && !defined(__CYGWIN__) && defined(HAVE_BCRYPT_H) && _WIN32_WINNT >= _WIN32_WINNT_VISTA diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 924b67a301cf..74466f394c4a 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008003 +#define ARCHIVE_VERSION_NUMBER 3008004 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c index 121af19872e9..6e6bae6a4e06 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c +++ b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c @@ -254,7 +254,7 @@ archive_read_disk_entry_from_file(struct archive *_a, if (S_ISLNK(st->st_mode)) { size_t linkbuffer_len = st->st_size; char *linkbuffer; - int lnklen; + ssize_t lnklen; linkbuffer = malloc(linkbuffer_len + 1); if (linkbuffer == NULL) { @@ -892,7 +892,7 @@ setup_sparse_fiemap(struct archive_read_disk *a, for (iters = 0; ; ++iters) { int i, r; - r = ioctl(*fd, FS_IOC_FIEMAP, fm); + r = ioctl(*fd, FS_IOC_FIEMAP, fm); if (r < 0) { /* When something error happens, it is better we * should return ARCHIVE_OK because an earlier @@ -1079,4 +1079,3 @@ setup_sparse(struct archive_read_disk *a, #endif #endif /* !defined(_WIN32) || defined(__CYGWIN__) */ - diff --git a/contrib/libarchive/libarchive/archive_read_disk_posix.c b/contrib/libarchive/libarchive/archive_read_disk_posix.c index 7cd292f259ff..94fa8fef963f 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_read_disk_posix.c @@ -2018,11 +2018,8 @@ tree_dup(int fd) } #endif /* F_DUPFD_CLOEXEC */ new_fd = dup(fd); - if (new_fd != -1) { - __archive_ensure_cloexec_flag(new_fd); - return (new_fd); - } - return (-1); + __archive_ensure_cloexec_flag(new_fd); + return (new_fd); } /* @@ -2144,16 +2141,11 @@ tree_reopen(struct tree *t, const char *path, int restore_time) * so try again for execute. The consequences of not opening this are * unhelpful and unnecessary errors later. */ - if (t->initial_dir_fd < 0) { + if (t->initial_dir_fd < 0) t->initial_dir_fd = open(".", o_flag | O_CLOEXEC); - if (t->initial_dir_fd < 0) - return NULL; - } #endif __archive_ensure_cloexec_flag(t->initial_dir_fd); t->working_dir_fd = tree_dup(t->initial_dir_fd); - if (t->working_dir_fd < 0) - return NULL; return (t); } @@ -2359,15 +2351,20 @@ static int tree_dir_next_posix(struct tree *t) { int r; +#if defined(HAVE_FDOPENDIR) + int fd; +#endif const char *name; size_t namelen; if (t->d == NULL) { #if defined(HAVE_FDOPENDIR) - int fd = tree_dup(t->working_dir_fd); - if (fd != -1) - t->d = fdopendir(fd); + if (t->working_dir_fd >= 0) { + fd = tree_dup(t->working_dir_fd); + if (fd != -1) + t->d = fdopendir(fd); + } #else /* HAVE_FDOPENDIR */ if (tree_enter_working_dir(t) == 0) { t->d = opendir("."); diff --git a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c index ded13bee79a3..96d2c71f4c4f 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c @@ -1254,7 +1254,7 @@ parse_file(struct archive_read *a, struct archive_entry *entry, archive_entry_filetype(entry) == AE_IFDIR) { mtree->fd = open(path, O_RDONLY | O_BINARY | O_CLOEXEC); __archive_ensure_cloexec_flag(mtree->fd); - if (mtree->fd < 0 && ( + if (mtree->fd == -1 && ( #if defined(_WIN32) && !defined(__CYGWIN__) /* * On Windows, attempting to open a file with an diff --git a/contrib/libarchive/libarchive/archive_version_details.c b/contrib/libarchive/libarchive/archive_version_details.c index 0cf92db73194..9063faa79426 100644 --- a/contrib/libarchive/libarchive/archive_version_details.c +++ b/contrib/libarchive/libarchive/archive_version_details.c @@ -333,7 +333,7 @@ archive_libbsdxml_version(void) const char * archive_libxml2_version(void) { -#if HAVE_LIBXML_XMLREADER_H && HAVE_LIBXML2 +#if HAVE_LIBXML_XMLVERSION_H && HAVE_LIBXML2 return LIBXML_DOTTED_VERSION; #else return NULL; diff --git a/contrib/libarchive/libarchive/archive_write.c b/contrib/libarchive/libarchive/archive_write.c index 9b9cb196f0f9..e1ce5d57288d 100644 --- a/contrib/libarchive/libarchive/archive_write.c +++ b/contrib/libarchive/libarchive/archive_write.c @@ -821,7 +821,7 @@ _archive_write_data(struct archive *_a, const void *buff, size_t s) { struct archive_write *a = (struct archive_write *)_a; const size_t max_write = INT_MAX; - int ret; + ssize_t ret; archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); diff --git a/contrib/libarchive/libarchive/archive_write_disk_posix.c b/contrib/libarchive/libarchive/archive_write_disk_posix.c index d69f041dde7e..cc59e58e4df6 100644 --- a/contrib/libarchive/libarchive/archive_write_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_write_disk_posix.c @@ -2561,9 +2561,9 @@ _archive_write_disk_close(struct archive *_a) * for directories. For other file types * we need to verify via fstat() or lstat() */ - if (fd < 0 || p->filetype != AE_IFDIR) { + if (fd == -1 || p->filetype != AE_IFDIR) { #if HAVE_FSTAT - if (fd >= 0 && ( + if (fd > 0 && ( fstat(fd, &st) != 0 || la_verify_filetype(st.st_mode, p->filetype) == 0)) { @@ -4447,7 +4447,7 @@ fixup_appledouble(struct archive_write_disk *a, const char *pathname) */ fd = open(pathname, O_RDONLY | O_BINARY | O_CLOEXEC); __archive_ensure_cloexec_flag(fd); - if (fd < 0) { + if (fd == -1) { archive_set_error(&a->archive, errno, "Failed to open a restoring file"); ret = ARCHIVE_WARN; diff --git a/contrib/libarchive/libarchive/archive_write_set_format_xar.c b/contrib/libarchive/libarchive/archive_write_set_format_xar.c index 9921f1032be5..ec3219057e4e 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_xar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_xar.c @@ -1000,13 +1000,13 @@ xmlwrite_heap(struct archive_write *a, struct xml_writer *writer, const char *encname; int r; - r = xmlwrite_fstring(a, writer, "length", "%ju", heap->length); + r = xmlwrite_fstring(a, writer, "length", "%ju", (uintmax_t)heap->length); if (r < 0) return (ARCHIVE_FATAL); - r = xmlwrite_fstring(a, writer, "offset", "%ju", heap->temp_offset); + r = xmlwrite_fstring(a, writer, "offset", "%ju", (uintmax_t)heap->temp_offset); if (r < 0) return (ARCHIVE_FATAL); - r = xmlwrite_fstring(a, writer, "size", "%ju", heap->size); + r = xmlwrite_fstring(a, writer, "size", "%ju", (uintmax_t)heap->size); if (r < 0) return (ARCHIVE_FATAL); switch (heap->compression) { @@ -1356,7 +1356,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a inode entry, "". */ r = xmlwrite_fstring(a, writer, "inode", - "%jd", archive_entry_ino64(file->entry)); + "%jd", (intmax_t)archive_entry_ino64(file->entry)); if (r < 0) return (ARCHIVE_FATAL); if (archive_entry_dev(file->entry) != 0) { @@ -1378,7 +1378,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a user entry, "" and ". */ r = xmlwrite_fstring(a, writer, "uid", - "%d", archive_entry_uid(file->entry)); + "%jd", (intmax_t)archive_entry_uid(file->entry)); if (r < 0) return (ARCHIVE_FATAL); r = archive_entry_uname_l(file->entry, &p, &len, xar->sconv); @@ -1404,7 +1404,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a group entry, "" and ". */ r = xmlwrite_fstring(a, writer, "gid", - "%d", archive_entry_gid(file->entry)); + "%jd", (intmax_t)archive_entry_gid(file->entry)); if (r < 0) return (ARCHIVE_FATAL); r = archive_entry_gname_l(file->entry, &p, &len, xar->sconv); diff --git a/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c b/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c index f9f75d96fa6b..791c7ad01121 100644 --- a/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c +++ b/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c @@ -202,7 +202,7 @@ static int64_t file_skip(struct archive *a, void *data, int64_t request) { struct mydata *mydata = (struct mydata *)data; - int64_t result = lseek(mydata->fd, SEEK_CUR, request); + int64_t result = lseek(mydata->fd, request, SEEK_CUR); if (result >= 0) return result; archive_set_error(a, errno, "Error seeking in '%s'", mydata->filename); diff --git a/contrib/libarchive/libarchive/test/test_write_disk_perms.c b/contrib/libarchive/libarchive/test/test_write_disk_perms.c index 77a15d1a3e42..72b55179d86e 100644 --- a/contrib/libarchive/libarchive/test/test_write_disk_perms.c +++ b/contrib/libarchive/libarchive/test/test_write_disk_perms.c @@ -94,21 +94,21 @@ searchgid(void) close(fd); } -static int +static long altgid(void) { searchgid(); return (_alt_gid); } -static int +static long invalidgid(void) { searchgid(); return (_invalid_gid); } -static int +static long defaultgid(void) { searchgid(); diff --git a/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c b/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c index 7b2e4f857a75..d7ed95e2c7ff 100644 --- a/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c +++ b/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c @@ -40,7 +40,8 @@ DEFINE_TEST(test_write_filter_bzip2) size_t buffsize, datasize; char path[16]; size_t used1, used2; - int i, r, use_prog; + ssize_t r; + int i, use_prog; buffsize = 2000000; assert(NULL != (buff = malloc(buffsize))); diff --git a/contrib/libarchive/tar/subst.c b/contrib/libarchive/tar/subst.c index a5d644dc5a70..a466f65358a5 100644 --- a/contrib/libarchive/tar/subst.c +++ b/contrib/libarchive/tar/subst.c @@ -235,7 +235,9 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, (*result)[0] = 0; } - while (1) { + char isEnd = 0; + do { + isEnd = *name == '\0'; if (regexec(&rule->re, name, 10, matches, 0)) break; @@ -290,12 +292,15 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, } realloc_strcat(result, rule->result + j); - - name += matches[0].rm_eo; - - if (!rule->global) - break; - } + if (matches[0].rm_eo > 0) { + name += matches[0].rm_eo; + } else { + // We skip a character because the match is 0-length + // so we need to add it to the output + realloc_strncat(result, name, 1); + name += 1; + } + } while (rule->global && !isEnd); // Testing one step after because sed et al. run 0-length patterns a last time on the empty string at the end } if (got_match) diff --git a/contrib/libarchive/tar/test/test_option_s.c b/contrib/libarchive/tar/test/test_option_s.c index 125e971d3304..00753b99be3c 100644 --- a/contrib/libarchive/tar/test/test_option_s.c +++ b/contrib/libarchive/tar/test/test_option_s.c @@ -42,7 +42,13 @@ DEFINE_TEST(test_option_s) systemf("%s -cf test1_2.tar -s /d1/d2/ in/d1/foo", testprog); systemf("%s -xf test1_2.tar -C test1", testprog); assertFileContents("foo", 3, "test1/in/d2/foo"); - + systemf("%s -cf test1_3.tar -s /o/#/g in/d1/foo", testprog); + systemf("%s -xf test1_3.tar -C test1", testprog); + assertFileContents("foo", 3, "test1/in/d1/f##"); + // For the 0-length pattern check, remember that "test1/" isn't part of the string affected by the regexp + systemf("%s -cf test1_4.tar -s /f*/\\<~\\>/g in/d1/foo", testprog); + systemf("%s -xf test1_4.tar -C test1", testprog); + assertFileContents("foo", 3, "test1/<>i<>n<>/<>d<>1<>/<>o<>o<>"); /* * Test 2: Basic substitution when extracting archive. */ From nobody Thu Jan 15 21:24:52 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsbbn0cHcz6PSqy for ; Thu, 15 Jan 2026 21:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsbbm4jnCz3HxL for ; Thu, 15 Jan 2026 21:24:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768512292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GvXzQygz6H2kNYL0J4pC+1VfxSV8ubwdAdrKU2YMxLI=; b=Ny/sv2YqCONHLKq7RfSpYa8FKlmG1UhuJ8Bo81Dt8599DwqEepqGbKm/b+WNd2NZ5AfcMh pIDL/Rx/CTEBgj0qB0QsBumt6XGHwBIYQ7PjUzowe1OVGDi+vfSDTwvUjwv16N63sVTfOA tMMQrKmrrUjykaUkaYqyiesffJmVMZQP7NiW6V1E9ZdjJ/6FUJosvEJdGiVLXDB+W+W4Bu pmSF8GvNNihGPQjzTTmUpc5E4ngh2R3Blrud/lQYnaImDngh91rMF67Qqh+4rpSthG49MJ Gjw5BWi693c2d68R+9Yenylrf/MCuX9cFndt29GpWSPo5qCMqx0G/GCSDW7KbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768512292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GvXzQygz6H2kNYL0J4pC+1VfxSV8ubwdAdrKU2YMxLI=; b=sW0ETlqm5MSy1NXkAWMB6bELCBTqq7+1Fgiqt2z5LKLvG19ook1yuAAUO2Ecnw/u8j1xlt /gTKPJKErvBie+BLo1X4W6Z/qjnHllQ2+jSVY9LyEOv6sV6RYa+xEUNaGdp4UG6oY1bz2j dE8s+0YUeWi0lnAWplHKIV+AjuFlTkAx28CK8qbgfCrPJ0hxePZG1EtQ8qPvDLKNLiqplY K0VBA+J+5r+TXaNinmBbkq/uMq+E8TriiTrTzPILthN3ui2MGstQPinpbWGYHlOZZAlurs QbAtzOYjE05gDDi33qRQKJH5puRKK2PQhQDOYe810PpP7iTdI0AUsrMy0blMXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768512292; a=rsa-sha256; cv=none; b=nwVy2eRH1L264kF0hoNd3Lq8Q85SF5J/YvwpVtpEVuYHRKvEy/Bl8I8Az7aA4k4f4GYrMq Jwlqgkt8VNoe/LdT3vLcNVH5qv9Hp06zc4un1pTisgqDFBpnL0CrVwfLM97/1dJu6fgV1Q yseyjjaRZ5iiMQVxy8QuMIh+dKJL3P6yrYIQ8rXdjO4r5itjQP7dhuOg+V46hUaV72jyAs PjPTBNC8AR1PXUGiTOgJsrIaSdh54RdLzt7cUiLbQC/+dZy0RTCXpXhCOg4jISU7FEpiwc n94IrMCWTImdK0+OrW8sM9/Xvkmw8zaOBzxX57FL4aNi9Sz7co3wqIK8rpZVQw== 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 4dsbbm3gmVzm3F for ; Thu, 15 Jan 2026 21:24:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id fbb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 21:24:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: 39fd1181e5b2 - stable/14 - libarchive: merge from vendor branch 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/14 X-Git-Reftype: branch X-Git-Commit: 39fd1181e5b21823f8fe31006d125963ecdf3492 Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 21:24:52 +0000 Message-Id: <69695b24.fbb7.70fe9de0@gitrepo.freebsd.org> The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=39fd1181e5b21823f8fe31006d125963ecdf3492 commit 39fd1181e5b21823f8fe31006d125963ecdf3492 Author: Martin Matuska AuthorDate: 2026-01-05 20:14:54 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 20:04:56 +0000 libarchive: merge from vendor branch libarchive 3.8.5 Important bugfixes: #2809 bsdtar: fix regression from 3.8.4 zero-length pattern issue bugfix Obtained from: libarchive Vendor commit: dd897a78c662a2c7a003e7ec158cea7909557bee MFC after: 1 week (cherry picked from commit 4b047c3af3fec1607ba1cfe04e1d442a17fc1cf6) --- contrib/libarchive/NEWS | 2 ++ contrib/libarchive/README.md | 4 ++-- contrib/libarchive/cpio/cpio.c | 2 +- contrib/libarchive/libarchive/archive.h | 4 ++-- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_support_filter_uu.c | 8 ++++---- .../libarchive/archive_read_support_format_cab.c | 2 +- .../libarchive/archive_read_support_format_cpio.c | 6 +++--- .../libarchive/archive_read_support_format_lha.c | 2 +- .../libarchive/archive_read_support_format_mtree.c | 12 ++++++------ contrib/libarchive/libarchive/archive_string.c | 4 ++-- contrib/libarchive/libarchive/archive_util.c | 2 +- contrib/libarchive/libarchive/archive_write_open_fd.c | 6 +----- .../libarchive/libarchive/archive_write_open_file.c | 6 +----- .../libarchive/libarchive/archive_write_open_memory.c | 6 +----- .../libarchive/archive_write_set_format_shar.c | 5 ++++- .../libarchive/archive_write_set_format_ustar.c | 2 +- contrib/libarchive/libarchive/test/test_compat_lzip.c | 4 ++-- contrib/libarchive/libarchive_fe/line_reader.c | 2 ++ contrib/libarchive/tar/subst.c | 16 ++++++++-------- contrib/libarchive/tar/write.c | 5 ++--- contrib/libarchive/test_utils/test_main.c | 19 ++++++++++++++++--- contrib/libarchive/unzip/bsdunzip.c | 4 ++-- contrib/libarchive/unzip/la_queue.h | 2 +- 24 files changed, 67 insertions(+), 60 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index fbbb65440b39..be14de445b57 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,3 +1,5 @@ +Jan 05, 2026: libarchive 3.8.5 released + Dec 01, 2025: libarchive 3.8.4 released Nov 17, 2025: libarchive 3.8.3 released diff --git a/contrib/libarchive/README.md b/contrib/libarchive/README.md index 0d63357292ec..e9691f1b710b 100644 --- a/contrib/libarchive/README.md +++ b/contrib/libarchive/README.md @@ -191,7 +191,7 @@ questions we are asked about libarchive: libraries. This also reduces the size of statically-linked binaries in environments where that matters. -* The library is generally _thread safe_ depending on the platform: +* The library is generally _thread-safe_ depending on the platform: it does not define any global variables of its own. However, some platforms do not provide fully thread-safe versions of key C library functions. On those platforms, libarchive will use the non-thread-safe @@ -214,7 +214,7 @@ questions we are asked about libarchive: multiple threads. Of course, those modules are completely optional and you can use the rest of libarchive without them. -* The library is _not_ thread aware, however. It does no locking +* The library is _not_ thread-aware, however. It does no locking or thread management of any kind. If you create a libarchive object and need to access it from multiple threads, you will need to provide your own locking. diff --git a/contrib/libarchive/cpio/cpio.c b/contrib/libarchive/cpio/cpio.c index 262db510568b..77eefe809f37 100644 --- a/contrib/libarchive/cpio/cpio.c +++ b/contrib/libarchive/cpio/cpio.c @@ -725,7 +725,7 @@ file_to_archive(struct cpio *cpio, const char *srcpath) if (cpio->uid_override >= 0) archive_entry_set_uid(entry, cpio->uid_override); - if (cpio->gname_override != NULL) + if (cpio->uname_override != NULL) archive_entry_set_uname(entry, cpio->uname_override); if (cpio->gid_override >= 0) archive_entry_set_gid(entry, cpio->gid_override); diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 0eda822ae6bf..a9d34beb4f5a 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008004 +#define ARCHIVE_VERSION_NUMBER 3008005 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.4" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.5" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 74466f394c4a..b43435692c27 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008004 +#define ARCHIVE_VERSION_NUMBER 3008005 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_uu.c b/contrib/libarchive/libarchive/archive_read_support_filter_uu.c index d722fe343657..acb8feb79b2d 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_uu.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_uu.c @@ -232,8 +232,8 @@ bid_get_line(struct archive_read_filter *filter, size_t nbytes_req = (*ravail+1023) & ~1023U; ssize_t tested; - /* Increase reading bytes if it is not enough to at least - * new two lines. */ + /* Increase reading bytes if it is not enough for at least + * two new lines. */ if (nbytes_req < (size_t)*ravail + 160) nbytes_req <<= 1; @@ -411,7 +411,7 @@ ensure_in_buff_size(struct archive_read_filter *self, /* * Calculate a new buffer size for in_buff. - * Increase its value until it has enough size we need. + * Increase its value until it is enough for our needs. */ newsize = uudecode->in_allocated; do { @@ -494,7 +494,7 @@ read_more: } /* * If there is remaining data which is saved by - * previous calling, use it first. + * a previous call, use it first. */ if (ensure_in_buff_size(self, uudecode, avail_in + uudecode->in_cnt) != ARCHIVE_OK) diff --git a/contrib/libarchive/libarchive/archive_read_support_format_cab.c b/contrib/libarchive/libarchive/archive_read_support_format_cab.c index a96f7d313951..63755ef9e579 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_cab.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_cab.c @@ -2813,7 +2813,7 @@ lzx_decode_blocks(struct lzx_stream *strm, int last) lzx_br_bits(&bre, mt_max_bits)); lzx_br_consume(&bre, mt_bitlen[c]); } - if (c > UCHAR_MAX) + if ((unsigned int)c > UCHAR_MAX) break; /* * 'c' is exactly literal code. diff --git a/contrib/libarchive/libarchive/archive_read_support_format_cpio.c b/contrib/libarchive/libarchive/archive_read_support_format_cpio.c index 74f3549d159e..526096b39f75 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_cpio.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_cpio.c @@ -825,9 +825,9 @@ header_odc(struct archive_read *a, struct cpio *cpio, } /* - * NOTE: if a filename suffix is ".z", it is the file gziped by afio. - * it would be nice that we can show uncompressed file size and we can - * uncompressed file contents automatically, unfortunately we have nothing + * NOTE: if a filename suffix is ".z", it is a file gzipped by afio. + * it would be nice if we could show uncompressed file size and + * uncompress file contents automatically, unfortunately we have nothing * to get a uncompressed file size while reading each header. It means * we also cannot uncompress file contents under our framework. */ diff --git a/contrib/libarchive/libarchive/archive_read_support_format_lha.c b/contrib/libarchive/libarchive/archive_read_support_format_lha.c index abf8b8799636..cf6a147abda6 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_lha.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_lha.c @@ -2374,7 +2374,7 @@ lzh_decode_blocks(struct lzh_stream *strm, int last) lzh_br_consume(&bre, lt_bitlen[c]); } blocks_avail--; - if (c > UCHAR_MAX) + if ((unsigned int)c > UCHAR_MAX) /* Current block is a match data. */ break; /* diff --git a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c index 96d2c71f4c4f..10c07b05d965 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c @@ -392,8 +392,8 @@ next_line(struct archive_read *a, if (len >= MAX_LINE_LEN) return (-1); - /* Increase reading bytes if it is not enough to at least - * new two lines. */ + /* Increase reading bytes if it is not enough for at least + * two new lines. */ if (nbytes_req < (size_t)*ravail + 160) nbytes_req <<= 1; @@ -568,8 +568,8 @@ bid_keyword_list(const char *p, ssize_t len, int unset, int last_is_path) --len; value = 1; } - /* A keyword should have a its value unless - * "/unset" operation. */ + /* A keyword should have a value unless this is + * an "/unset" operation. */ if (!unset && value == 0) return (-1); } @@ -752,7 +752,7 @@ detect_form(struct archive_read *a, int *is_form_d) } else if (form_D == 1) { if (!last_is_path && keywords > 0) /* This this is not `form D' - * and We cannot accept mixed + * and we cannot accept mixed * format. */ break; } @@ -805,7 +805,7 @@ detect_form(struct archive_read *a, int *is_form_d) * to read the entire mtree file into memory up front. * * The parsing is done in two steps. First, it is decided if a line - * changes the global defaults and if it is, processed accordingly. + * changes the global defaults and if it does, it is processed accordingly. * Otherwise, the options of the line are merged with the current * global options. */ diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index 740308b6e4e3..a776dc85c688 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -3573,7 +3573,7 @@ win_strncat_from_utf16(struct archive_string *as, const void *_p, size_t bytes, if (sc->to_cp == CP_C_LOCALE) { /* - * "C" locale special process. + * "C" locale special processing. */ u16 = _p; ll = 0; @@ -3690,7 +3690,7 @@ win_strncat_to_utf16(struct archive_string *as16, const void *_p, avail = as16->buffer_length - 2; if (sc->from_cp == CP_C_LOCALE) { /* - * "C" locale special process. + * "C" locale special processing. */ count = 0; while (count < length && *s) { diff --git a/contrib/libarchive/libarchive/archive_util.c b/contrib/libarchive/libarchive/archive_util.c index d048bbc94650..0d1de1ef2091 100644 --- a/contrib/libarchive/libarchive/archive_util.c +++ b/contrib/libarchive/libarchive/archive_util.c @@ -456,7 +456,7 @@ __archive_issetugid(void) return (-1); if (ruid != euid || ruid != suid) return (1); - if (getresgid(&ruid, &egid, &sgid) != 0) + if (getresgid(&rgid, &egid, &sgid) != 0) return (-1); if (rgid != egid || rgid != sgid) return (1); diff --git a/contrib/libarchive/libarchive/archive_write_open_fd.c b/contrib/libarchive/libarchive/archive_write_open_fd.c index ba034ed92f8a..a795552020df 100644 --- a/contrib/libarchive/libarchive/archive_write_open_fd.c +++ b/contrib/libarchive/libarchive/archive_write_open_fd.c @@ -135,11 +135,7 @@ file_write(struct archive *a, void *client_data, const void *buff, size_t length static int file_free(struct archive *a, void *client_data) { - struct write_fd_data *mine = (struct write_fd_data *)client_data; - (void)a; /* UNUSED */ - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_open_file.c b/contrib/libarchive/libarchive/archive_write_open_file.c index 0b310f3da83b..6271b368d07f 100644 --- a/contrib/libarchive/libarchive/archive_write_open_file.c +++ b/contrib/libarchive/libarchive/archive_write_open_file.c @@ -96,11 +96,7 @@ file_write(struct archive *a, void *client_data, const void *buff, size_t length static int file_free(struct archive *a, void *client_data) { - struct write_FILE_data *mine = client_data; - (void)a; /* UNUSED */ - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_open_memory.c b/contrib/libarchive/libarchive/archive_write_open_memory.c index e31650447279..3b929ac7f60d 100644 --- a/contrib/libarchive/libarchive/archive_write_open_memory.c +++ b/contrib/libarchive/libarchive/archive_write_open_memory.c @@ -104,11 +104,7 @@ memory_write(struct archive *a, void *client_data, const void *buff, size_t leng static int memory_write_free(struct archive *a, void *client_data) { - struct write_memory_data *mine; (void)a; /* UNUSED */ - mine = client_data; - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_set_format_shar.c b/contrib/libarchive/libarchive/archive_write_set_format_shar.c index be9f78ce96cd..f6f28debdfa9 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_shar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_shar.c @@ -144,7 +144,9 @@ archive_write_set_format_shar_dump(struct archive *_a) struct archive_write *a = (struct archive_write *)_a; struct shar *shar; - archive_write_set_format_shar(&a->archive); + int ret = archive_write_set_format_shar(&a->archive); + if (ret != ARCHIVE_OK) + return ret; shar = (struct shar *)a->format_data; shar->dump = 1; a->format_write_data = archive_write_shar_data_uuencode; @@ -240,6 +242,7 @@ archive_write_shar_header(struct archive_write *a, struct archive_entry *entry) shar_quote(&shar->work, p, 1); archive_strcat(&shar->work, " > /dev/null 2>&1\n"); + free(shar->last_dir); shar->last_dir = p; } } else { diff --git a/contrib/libarchive/libarchive/archive_write_set_format_ustar.c b/contrib/libarchive/libarchive/archive_write_set_format_ustar.c index 09b71fe6672a..4084eb455968 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_ustar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_ustar.c @@ -539,7 +539,7 @@ __archive_write_format_header_ustar(struct archive_write *a, char h[512], ret = ARCHIVE_WARN; } if (copy_length > 0) { - if (strlen(p) > USTAR_gname_size) { + if (copy_length > USTAR_gname_size) { if (tartype != 'x') { archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, "Group name too long"); diff --git a/contrib/libarchive/libarchive/test/test_compat_lzip.c b/contrib/libarchive/libarchive/test/test_compat_lzip.c index 50920eefb1cf..cd246b943b22 100644 --- a/contrib/libarchive/libarchive/test/test_compat_lzip.c +++ b/contrib/libarchive/libarchive/test/test_compat_lzip.c @@ -47,7 +47,7 @@ echo "f3" > $dir/d1/f3 rm -r $dir } # -# Make a lzip file from split tar file. +# Make a lzip file from the split tar file. # name=test_compat_lzip_1 dir="$name`date +%Y%m%d%H%M%S`.$USER" @@ -75,7 +75,7 @@ exit 0 */ /* - * Verify our ability to read sample files compatibly with lzip. + * Verify our ability to read the sample files compatibly with lzip. * * In particular: * * lzip will read multiple lzip streams, concatenating the output diff --git a/contrib/libarchive/libarchive_fe/line_reader.c b/contrib/libarchive/libarchive_fe/line_reader.c index 0af9db53c0a2..a4bc84b7f233 100644 --- a/contrib/libarchive/libarchive_fe/line_reader.c +++ b/contrib/libarchive/libarchive_fe/line_reader.c @@ -64,6 +64,8 @@ lafe_line_reader(const char *pathname, int nullSeparator) lr->nullSeparator = nullSeparator; lr->pathname = strdup(pathname); + if (lr->pathname == NULL) + lafe_errc(1, ENOMEM, "Can't open %s", pathname); if (strcmp(pathname, "-") == 0) lr->f = stdin; diff --git a/contrib/libarchive/tar/subst.c b/contrib/libarchive/tar/subst.c index a466f65358a5..53497ad0d1a3 100644 --- a/contrib/libarchive/tar/subst.c +++ b/contrib/libarchive/tar/subst.c @@ -237,7 +237,7 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, char isEnd = 0; do { - isEnd = *name == '\0'; + isEnd = *name == '\0'; if (regexec(&rule->re, name, 10, matches, 0)) break; @@ -293,13 +293,13 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, realloc_strcat(result, rule->result + j); if (matches[0].rm_eo > 0) { - name += matches[0].rm_eo; - } else { - // We skip a character because the match is 0-length - // so we need to add it to the output - realloc_strncat(result, name, 1); - name += 1; - } + name += matches[0].rm_eo; + } else if (!isEnd) { + // We skip a character because the match is 0-length + // so we need to add it to the output + realloc_strncat(result, name, 1); + name += 1; + } } while (rule->global && !isEnd); // Testing one step after because sed et al. run 0-length patterns a last time on the empty string at the end } diff --git a/contrib/libarchive/tar/write.c b/contrib/libarchive/tar/write.c index 9e6c97b580b7..b39a397707ba 100644 --- a/contrib/libarchive/tar/write.c +++ b/contrib/libarchive/tar/write.c @@ -163,7 +163,7 @@ set_writer_options(struct bsdtar *bsdtar, struct archive *a) * a format or filters which are not added to * the archive write object. */ memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len); - memcpy(p, writer_options, opt_len); + memcpy(p + module_len, writer_options, opt_len); r = archive_write_set_options(a, p); free(p); if (r < ARCHIVE_WARN) @@ -190,13 +190,12 @@ set_reader_options(struct bsdtar *bsdtar, struct archive *a) char *p; /* Set default write options. */ if ((p = malloc(module_len + opt_len)) == NULL) - if (p == NULL) lafe_errc(1, errno, "Out of memory"); /* Prepend magic code to ignore options for * a format or filters which are not added to * the archive write object. */ memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len); - memcpy(p, reader_options, opt_len); + memcpy(p + module_len, reader_options, opt_len); r = archive_read_set_options(a, p); free(p); if (r < ARCHIVE_WARN) diff --git a/contrib/libarchive/test_utils/test_main.c b/contrib/libarchive/test_utils/test_main.c index f31678166ad0..dbd3fcf60e9a 100644 --- a/contrib/libarchive/test_utils/test_main.c +++ b/contrib/libarchive/test_utils/test_main.c @@ -3681,11 +3681,19 @@ test_run(int i, const char *tmpdir) */ static void -usage(const char *program) +list_tests(void) { static const int limit = nitems(tests); int i; + for (i = 0; i < limit; i++) + printf(" %d: %s\n", i, tests[i].name); +} + +static void +usage(const char *program) +{ + printf("Usage: %s [options] ...\n", program); printf("Default is to run all tests.\n"); printf("Otherwise, specify the numbers of the tests you wish to run.\n"); @@ -3693,6 +3701,8 @@ usage(const char *program) printf(" -d Dump core after any failure, for debugging.\n"); printf(" -k Keep all temp files.\n"); printf(" Default: temp files for successful tests deleted.\n"); + printf(" -l List available tests and exit, ignoring all other.\n"); + printf(" options and arguments.\n"); #ifdef PROGRAM printf(" -p Path to executable to be tested.\n"); printf(" Default: path taken from " ENVBASE " environment variable.\n"); @@ -3704,8 +3714,7 @@ usage(const char *program) printf(" -u Keep running specified tests until one fails.\n"); printf(" -v Verbose.\n"); printf("Available tests:\n"); - for (i = 0; i < limit; i++) - printf(" %d: %s\n", i, tests[i].name); + list_tests(); exit(1); } @@ -4079,6 +4088,10 @@ main(int argc, char **argv) case 'k': keep_temp_files = 1; break; + case 'l': + list_tests(); + exit(0); + break; case 'p': #ifdef PROGRAM testprogfile = option_arg; diff --git a/contrib/libarchive/unzip/bsdunzip.c b/contrib/libarchive/unzip/bsdunzip.c index 1b520e841690..14bd418f169c 100644 --- a/contrib/libarchive/unzip/bsdunzip.c +++ b/contrib/libarchive/unzip/bsdunzip.c @@ -654,11 +654,11 @@ recheck: #elif HAVE_STRUCT_STAT_ST_MTIME_N sb.st_mtime > mtime.tv_sec || (sb.st_mtime == mtime.tv_sec && - sb.st_mtime_n => mtime.tv_nsec) + sb.st_mtime_n >= mtime.tv_nsec) #elif HAVE_STRUCT_STAT_ST_MTIME_USEC sb.st_mtime > mtime.tv_sec || (sb.st_mtime == mtime.tv_sec && - sb.st_mtime_usec => mtime.tv_nsec / 1000) + sb.st_mtime_usec >= mtime.tv_nsec / 1000) #else sb.st_mtime > mtime.tv_sec #endif diff --git a/contrib/libarchive/unzip/la_queue.h b/contrib/libarchive/unzip/la_queue.h index 917526531b2a..bb305f5bd8ce 100644 --- a/contrib/libarchive/unzip/la_queue.h +++ b/contrib/libarchive/unzip/la_queue.h @@ -85,7 +85,7 @@ * _SWAP + + + + */ #ifdef QUEUE_MACRO_DEBUG -#warn Use QUEUE_MACRO_DEBUG_TRACE and/or QUEUE_MACRO_DEBUG_TRASH +#warning Use QUEUE_MACRO_DEBUG_TRACE and/or QUEUE_MACRO_DEBUG_TRASH #define QUEUE_MACRO_DEBUG_TRACE #define QUEUE_MACRO_DEBUG_TRASH #endif From nobody Thu Jan 15 23:09:48 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsdwr5RS2z6NKSV for ; Thu, 15 Jan 2026 23:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsdwr2spmz3SQ5 for ; Thu, 15 Jan 2026 23:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768518588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bnqihhiN5+DoiKDwuUX63asbOSU/AL/czTVNiaofK9g=; b=pGFoZVieXYuPwrHryPOKN8nCNvUUpjL5QYPLM8I2Pb//gPgzDlZ3eIqQvRPEa98ZyijwWo BadqmZ/DbPMdjJDddsxK8EaoMvm5rx++p6dzzYfPpeE0zINda27oJcIaaWqwMJesw/50E9 gF8KoPTU/bWeNJ76F2quEnSRi/VvMhIltWod/5WTAV/+FoFfUvxFSvb6U9zaY+2qGyQd6/ ePF0zUetimSgg/asP/nWPEvalEP0Z7xQrHaKg6zqw4fKcLvpaobcfZSGijpNuSxWNmtskv aRgoryQXDotTMUSOnvsQMKrNI9SZJ7FOIdkPvjvZAryYV+xMVMc/x5NU6oEHvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768518588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bnqihhiN5+DoiKDwuUX63asbOSU/AL/czTVNiaofK9g=; b=nzk/sWf3kDsXQKwp58C4KE5UhrJ2uuBKB3P/VZhtANG3+Ntnf1hFx2rOhLAF5+oJEZShLb Ki1wSu5CSHgX8uvY0kmm5E6pHEU593eqKl5/evNJfcP5N5j5B/G0QrNug2CiEt658AvTxp zUr9Mj1p3VcOrtSuy6mwon7zqyqYromBmt6p7/ouQEuhmTBWR1NZwp/90xJJxHY9G0EPHv OxKeGaSl4pVVC4R8/YwOprH3tp8EHs4mxMkxzW8txcnATZr6TEMPjd2NNf6z5KkcUID3W7 vE7MYgZznL4w+HdajEXMwxXxxLMiSJzdvAbFdzdAbe4RFMbhANSuL07K7KpBnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768518588; a=rsa-sha256; cv=none; b=k4FucEtwi1rf9z8SqbJZh1CMZuomJj5GxZrTaDwcHnDQ+wTAd0FDUFO8bBbSOg7WRf+/iz PdRt9A/Fti7rNSmHTDqpB+Js9XQsr6/6cEiPTEFfWuHwK6HfbXfPYvnU2Q9yOtLKQarZL0 QNU5ByVUI01NjraKEgOa9QSSb/VLIzdRMT60n0dLHrjb6DXiChWkcWWgrNeJ772tMJw7iz 4MaDijE+hrQnlWJZjJCw5s8op6UdSoEqoZ3eUsCe49ZCjy9zh75SytgW0p6hSSCuu7w5Ss x3HEuvqoYMjP6o0zXO7YdKy8TxrMi1DHlBfPu/An2o0YE2x7STKynx2Sr6U6sA== 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 4dsdwr1qtqzpYZ for ; Thu, 15 Jan 2026 23:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33cad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 23:09:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: d2131c8276f3 - stable/13 - libarchive: merge from vendor branch 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/13 X-Git-Reftype: branch X-Git-Commit: d2131c8276f3c05a521ce971b6dda194ab417adc Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 23:09:48 +0000 Message-Id: <696973bc.33cad.6e3b55aa@gitrepo.freebsd.org> The branch stable/13 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=d2131c8276f3c05a521ce971b6dda194ab417adc commit d2131c8276f3c05a521ce971b6dda194ab417adc Author: Martin Matuska AuthorDate: 2025-11-19 13:33:40 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 21:25:45 +0000 libarchive: merge from vendor branch libarchive 3.8.3 Important bugfixes: #2753 lib: Create temporary files in the target directory #2768 lha: Fix for an out-of-bounds buffer overrun when using p[H_LEVEL_OFFSET] #2769 7-zip: Fix a buffer overrun when reading truncated 7zip headers #2771 lz4 and zstd: Support both lz4 and zstd data with leading skippable frames Obtained from: libarchive Vendor commit: 1368b08875351df8aa268237b882c8f4ceb0882d MFC after: 1 week (cherry picked from commit 007679a138089676aadc9a712277f4004403b905) --- contrib/libarchive/NEWS | 2 + contrib/libarchive/libarchive/archive.h | 4 +- contrib/libarchive/libarchive/archive_entry.h | 2 +- contrib/libarchive/libarchive/archive_entry_stat.3 | 2 +- .../libarchive/archive_read_disk_entry_from_file.c | 10 +- .../libarchive/archive_read_disk_posix.c | 10 +- .../libarchive/archive_read_support_filter_lz4.c | 82 +- .../libarchive/archive_read_support_filter_zstd.c | 67 +- .../libarchive/archive_read_support_format_7zip.c | 8 +- .../libarchive/archive_read_support_format_lha.c | 2 +- .../libarchive/archive_read_support_format_tar.c | 1 + .../libarchive/archive_read_support_format_zip.c | 28 +- contrib/libarchive/libarchive/archive_string.c | 20 + contrib/libarchive/libarchive/archive_string.h | 4 + .../libarchive/archive_write_disk_posix.c | 20 +- .../libarchive/archive_write_open_filename.c | 2 + contrib/libarchive/libarchive/module.modulemap | 34 + .../libarchive/test/test_archive_string.c | 38 + .../libarchive/libarchive/test/test_compat_lz4.c | 2 + .../test_compat_lz4_skippable_frames_B4.tar.lz4.uu | 6739 ++++++++++++++++++++ .../test/test_read_format_7zip_issue2765.7z.uu | 5 + .../test/test_read_format_7zip_issue2765.c | 51 + .../libarchive/tar/test/test_option_safe_writes.c | 1 + contrib/libarchive/tar/util.c | 5 +- contrib/libarchive/test_utils/test_main.c | 27 +- lib/libarchive/tests/Makefile | 3 + 26 files changed, 7109 insertions(+), 60 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index f2dd4102fa04..971ae8e441e1 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,3 +1,5 @@ +Nov 17, 2026: libarchive 3.8.3 released + Oct 15, 2026: libarchive 3.8.2 released Jun 01, 2026: libarchive 3.8.1 released diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 98d7674e18f1..9794dced6ca9 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008002 +#define ARCHIVE_VERSION_NUMBER 3008003 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.2" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.3" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 344f33bffac2..924b67a301cf 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008002 +#define ARCHIVE_VERSION_NUMBER 3008003 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_entry_stat.3 b/contrib/libarchive/libarchive/archive_entry_stat.3 index 29a53f75607f..2f4a1920eb64 100644 --- a/contrib/libarchive/libarchive/archive_entry_stat.3 +++ b/contrib/libarchive/libarchive/archive_entry_stat.3 @@ -207,7 +207,7 @@ for setting is recommended. The function .Fn archive_entry_size returns the file size, if it has been set, and 0 otherwise. -.Fn archive_entry_size +.Fn archive_entry_size_is_set can be used to query that status. .Fn archive_entry_set_size and diff --git a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c index 42af4034b07e..121af19872e9 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c +++ b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c @@ -358,12 +358,10 @@ setup_mac_metadata(struct archive_read_disk *a, return (ARCHIVE_OK); archive_string_init(&tempfile); - if (__archive_get_tempdir(&tempfile) != ARCHIVE_OK) { - ret = ARCHIVE_WARN; - goto cleanup; - } - archive_strcat(&tempfile, "tar.md.XXXXXX"); - tempfd = mkstemp(tempfile.s); + archive_strcpy(&tempfile, name); + archive_string_dirname(&tempfile); + archive_strcat(&tempfile, "/tar.XXXXXXXX"); + tempfd = __archive_mkstemp(tempfile.s); if (tempfd < 0) { archive_set_error(&a->archive, errno, "Could not open extended attribute file"); diff --git a/contrib/libarchive/libarchive/archive_read_disk_posix.c b/contrib/libarchive/libarchive/archive_read_disk_posix.c index 54a8e66188f8..7cd292f259ff 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_read_disk_posix.c @@ -107,6 +107,8 @@ #define O_CLOEXEC 0 #endif +#define MAX_FILESYSTEM_ID 1000000 + #if defined(__hpux) && !defined(HAVE_DIRFD) #define dirfd(x) ((x)->__dd_fd) #define HAVE_DIRFD @@ -1412,8 +1414,12 @@ update_current_filesystem(struct archive_read_disk *a, int64_t dev) * This is the new filesystem which we have to generate a new ID for. */ fid = t->max_filesystem_id++; + if (fid > MAX_FILESYSTEM_ID) { + archive_set_error(&a->archive, ENOMEM, "Too many filesystems"); + return (ARCHIVE_FATAL); + } if (t->max_filesystem_id > t->allocated_filesystem) { - size_t s; + int s; void *p; s = t->max_filesystem_id * 2; @@ -1693,8 +1699,6 @@ setup_current_filesystem(struct archive_read_disk *a) #endif t->current_filesystem->noatime = 0; - /* Set maximum filename length. */ - t->current_filesystem->name_max = svfs.f_namemax; return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c b/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c index 760e6d938d2a..144572ef2362 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c @@ -49,9 +49,12 @@ #include "archive_xxhash.h" #define LZ4_MAGICNUMBER 0x184d2204 -#define LZ4_SKIPPABLED 0x184d2a50 #define LZ4_LEGACY 0x184c2102 +// Note: LZ4 and zstd share the same skippable frame format with the same magic numbers. +#define LZ4_SKIPPABLE_START 0x184D2A50 +#define LZ4_SKIPPABLE_MASK 0xFFFFFFF0 + #if defined(HAVE_LIBLZ4) struct private_data { enum { SELECT_STREAM, @@ -141,19 +144,67 @@ lz4_reader_bid(struct archive_read_filter_bidder *self, { const unsigned char *buffer; ssize_t avail; - int bits_checked; - uint32_t number; + int bits_checked = 0; + ssize_t min_lz4_archive_size = 11; + + // LZ4 skippable frames contain a 4 byte magic number followed by + // a 4 byte frame data size, then that number of bytes of data. Regular + // frames contain a 4 byte magic number followed by a 2-14 byte frame + // header, some data, and a 3 byte end marker. + ssize_t min_lz4_frame_size = 8; + + ssize_t offset_in_buffer = 0; + ssize_t max_lookahead = 64 * 1024; - (void)self; /* UNUSED */ + (void)self; // UNUSED - /* Minimal lz4 archive is 11 bytes. */ - buffer = __archive_read_filter_ahead(filter, 11, &avail); + // Zstd and LZ4 skippable frame magic numbers are identical. To + // differentiate these two, we need to look for a non-skippable + // frame. + + // Minimal lz4 archive is 11 bytes. + buffer = __archive_read_filter_ahead(filter, min_lz4_archive_size, &avail); if (buffer == NULL) return (0); - /* First four bytes must be LZ4 magic numbers. */ - bits_checked = 0; - if ((number = archive_le32dec(buffer)) == LZ4_MAGICNUMBER) { + uint32_t magic_number = archive_le32dec(buffer); + + while ((magic_number & LZ4_SKIPPABLE_MASK) == LZ4_SKIPPABLE_START) { + + offset_in_buffer += 4; // Skip over the magic number + + // Ensure that we can read another 4 bytes. + if (offset_in_buffer + 4 > avail) { + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + 4, &avail); + if (buffer == NULL) + return (0); + } + + uint32_t frame_data_size = archive_le32dec(buffer + offset_in_buffer); + + // Skip over the 4 frame data size bytes, plus the value stored there. + offset_in_buffer += 4 + frame_data_size; + + // There should be at least one more frame if this is LZ4 data. + if (offset_in_buffer + min_lz4_frame_size > avail) { // TODO: should this be >= ? + if (offset_in_buffer + min_lz4_frame_size > max_lookahead) + return (0); + + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + min_lz4_frame_size, &avail); + if (buffer == NULL) + return (0); + } + + magic_number = archive_le32dec(buffer + offset_in_buffer); + } + + // We have skipped over any skippable frames. Either a regular LZ4 frame + // follows, or this isn't LZ4 data. + + bits_checked = offset_in_buffer; + buffer = buffer + offset_in_buffer; + + if (magic_number == LZ4_MAGICNUMBER) { unsigned char flag, BD; bits_checked += 32; @@ -175,11 +226,16 @@ lz4_reader_bid(struct archive_read_filter_bidder *self, if (BD & ~0x70) return (0); bits_checked += 8; - } else if (number == LZ4_LEGACY) { + + return (bits_checked); + } + + if (magic_number == LZ4_LEGACY) { bits_checked += 32; + return (bits_checked); } - - return (bits_checked); + + return (0); } #if !defined(HAVE_LIBLZ4) @@ -342,7 +398,7 @@ lz4_filter_read(struct archive_read_filter *self, const void **p) return lz4_filter_read_default_stream(self, p); else if (number == LZ4_LEGACY) return lz4_filter_read_legacy_stream(self, p); - else if ((number & ~0xF) == LZ4_SKIPPABLED) { + else if ((number & LZ4_SKIPPABLE_MASK) == LZ4_SKIPPABLE_START) { read_buf = __archive_read_filter_ahead( self->upstream, 4, NULL); if (read_buf == NULL) { diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c b/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c index 9a1dd71abdf6..da7c540dbcd9 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_zstd.c @@ -110,24 +110,67 @@ zstd_bidder_bid(struct archive_read_filter_bidder *self, { const unsigned char *buffer; ssize_t avail; - unsigned prefix; - /* Zstd frame magic values */ - unsigned zstd_magic = 0xFD2FB528U; - unsigned zstd_magic_skippable_start = 0x184D2A50U; - unsigned zstd_magic_skippable_mask = 0xFFFFFFF0; + // Zstandard skippable frames contain a 4 byte magic number followed by + // a 4 byte frame data size, then that number of bytes of data. Regular + // frames contain a 4 byte magic number followed by a 2-14 byte frame + // header, some data, and a 3 byte end marker. + ssize_t min_zstd_frame_size = 8; - (void) self; /* UNUSED */ + ssize_t offset_in_buffer = 0; + ssize_t max_lookahead = 64 * 1024; - buffer = __archive_read_filter_ahead(filter, 4, &avail); + // Zstd regular frame magic number. + uint32_t zstd_magic = 0xFD2FB528U; + + // Note: Zstd and LZ4 skippable frame magic numbers are identical. + // To differentiate these two, we need to look for a non-skippable + // frame. + uint32_t zstd_magic_skippable_start = 0x184D2A50; + uint32_t zstd_magic_skippable_mask = 0xFFFFFFF0; + + (void) self; // UNUSED + + buffer = __archive_read_filter_ahead(filter, min_zstd_frame_size, &avail); if (buffer == NULL) return (0); - prefix = archive_le32dec(buffer); - if (prefix == zstd_magic) - return (32); - if ((prefix & zstd_magic_skippable_mask) == zstd_magic_skippable_start) - return (32); + uint32_t magic_number = archive_le32dec(buffer); + + while ((magic_number & zstd_magic_skippable_mask) == zstd_magic_skippable_start) { + + offset_in_buffer += 4; // Skip over the magic number + + // Ensure that we can read another 4 bytes. + if (offset_in_buffer + 4 > avail) { + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + 4, &avail); + if (buffer == NULL) + return (0); + } + + uint32_t frame_data_size = archive_le32dec(buffer + offset_in_buffer); + + // Skip over the 4 frame data size bytes, plus the value stored there. + offset_in_buffer += 4 + frame_data_size; + + // There should be at least one more frame if this is zstd data. + if (offset_in_buffer + min_zstd_frame_size > avail) { + if (offset_in_buffer + min_zstd_frame_size > max_lookahead) + return (0); + + buffer = __archive_read_filter_ahead(filter, offset_in_buffer + min_zstd_frame_size, &avail); + if (buffer == NULL) + return (0); + } + + magic_number = archive_le32dec(buffer + offset_in_buffer); + } + + // We have skipped over any skippable frames. Either a regular zstd frame + // follows, or this isn't zstd data. + + if (magic_number == zstd_magic) + return (offset_in_buffer + 4); return (0); } diff --git a/contrib/libarchive/libarchive/archive_read_support_format_7zip.c b/contrib/libarchive/libarchive/archive_read_support_format_7zip.c index 595462733104..330d5515dd50 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_7zip.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_7zip.c @@ -744,6 +744,7 @@ find_elf_data_sec(struct archive_read *a) const char *h; char big_endian, format_64; ssize_t bytes, min_addr = SFX_MIN_ADDR; + ssize_t request; uint64_t e_shoff, strtab_offset, strtab_size; uint16_t e_shentsize, e_shnum, e_shstrndx; uint16_t (*dec16)(const void *); @@ -796,7 +797,12 @@ find_elf_data_sec(struct archive_read *a) if (__archive_read_seek(a, e_shoff, SEEK_SET) < 0) { break; } - h = __archive_read_ahead(a, (size_t)e_shnum * (size_t)e_shentsize, NULL); + if (format_64) { + request = (size_t)e_shnum * (size_t)e_shentsize + 0x28; + } else { + request = (size_t)e_shnum * (size_t)e_shentsize + 0x18; + } + h = __archive_read_ahead(a, request, &bytes); if (h == NULL) { break; } diff --git a/contrib/libarchive/libarchive/archive_read_support_format_lha.c b/contrib/libarchive/libarchive/archive_read_support_format_lha.c index 2a84ad9dd307..abf8b8799636 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_lha.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_lha.c @@ -689,7 +689,7 @@ archive_read_format_lha_read_header(struct archive_read *a, * a pathname and a symlink has '\' character, a directory * separator in DOS/Windows. So we should convert it to '/'. */ - if (p[H_LEVEL_OFFSET] == 0) + if (lha->level == 0) lha_replace_path_separator(lha, entry); archive_entry_set_mode(entry, lha->mode); diff --git a/contrib/libarchive/libarchive/archive_read_support_format_tar.c b/contrib/libarchive/libarchive/archive_read_support_format_tar.c index eeb2c725f6eb..98f7d699570a 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_tar.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_tar.c @@ -2311,6 +2311,7 @@ pax_attribute_read_number(struct archive_read *a, size_t value_length, int64_t * archive_string_init(&as); r = read_bytes_to_string(a, &as, value_length, &unconsumed); if (tar_flush_unconsumed(a, &unconsumed) != ARCHIVE_OK) { + *result = 0; return (ARCHIVE_FATAL); } if (r < ARCHIVE_OK) { diff --git a/contrib/libarchive/libarchive/archive_read_support_format_zip.c b/contrib/libarchive/libarchive/archive_read_support_format_zip.c index 9abd55709e3f..0c86ce935e26 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_zip.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_zip.c @@ -78,6 +78,12 @@ #include "archive_crc32.h" #endif +/* length of local file header, not including filename and extra */ +#define ZIP_LOCHDR_LEN 30U + +/* maximum length of Mac metadata in MiB */ +#define ZIP_MAX_METADATA 10U + struct zip_entry { struct archive_rb_node node; struct zip_entry *next; @@ -933,7 +939,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, zip->init_default_conversion = 1; } - if ((p = __archive_read_ahead(a, 30, NULL)) == NULL) { + if ((p = __archive_read_ahead(a, ZIP_LOCHDR_LEN, NULL)) == NULL) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_FATAL); @@ -969,7 +975,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, filename_length = archive_le16dec(p + 26); extra_length = archive_le16dec(p + 28); - __archive_read_consume(a, 30); + __archive_read_consume(a, ZIP_LOCHDR_LEN); /* Read the filename. */ if ((h = __archive_read_ahead(a, filename_length, NULL)) == NULL) { @@ -3637,7 +3643,7 @@ read_eocd(struct zip *zip, const char *p, int64_t current_offset) { uint16_t disk_num; uint32_t cd_size, cd_offset; - + disk_num = archive_le16dec(p + 4); cd_size = archive_le32dec(p + 12); cd_offset = archive_le32dec(p + 16); @@ -4097,7 +4103,7 @@ zip_get_local_file_header_size(struct archive_read *a, size_t extra) const char *p; ssize_t filename_length, extra_length; - if ((p = __archive_read_ahead(a, extra + 30, NULL)) == NULL) { + if ((p = __archive_read_ahead(a, extra + ZIP_LOCHDR_LEN, NULL)) == NULL) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_WARN); @@ -4111,7 +4117,7 @@ zip_get_local_file_header_size(struct archive_read *a, size_t extra) filename_length = archive_le16dec(p + 26); extra_length = archive_le16dec(p + 28); - return (30 + filename_length + extra_length); + return (ZIP_LOCHDR_LEN + filename_length + extra_length); } static int @@ -4148,16 +4154,16 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry, return (ARCHIVE_WARN); } - if (rsrc->uncompressed_size > (4 * 1024 * 1024)) { + if (rsrc->uncompressed_size > ZIP_MAX_METADATA * 1048576U) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, - "Mac metadata is too large: %jd > 4M bytes", - (intmax_t)rsrc->uncompressed_size); + "Mac metadata is too large: %jd > %u MiB", + (intmax_t)rsrc->uncompressed_size, ZIP_MAX_METADATA); return (ARCHIVE_WARN); } - if (rsrc->compressed_size > (4 * 1024 * 1024)) { + if (rsrc->compressed_size > ZIP_MAX_METADATA * 1048576U) { archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, - "Mac metadata is too large: %jd > 4M bytes", - (intmax_t)rsrc->compressed_size); + "Mac metadata is too large: %jd > %u MiB", + (intmax_t)rsrc->compressed_size, ZIP_MAX_METADATA); return (ARCHIVE_WARN); } diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index 3bb978335eb8..740308b6e4e3 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -2054,6 +2054,26 @@ archive_strncat_l(struct archive_string *as, const void *_p, size_t n, return (r); } +struct archive_string * +archive_string_dirname(struct archive_string *as) +{ + /* strip trailing separators */ + while (as->length > 1 && as->s[as->length - 1] == '/') + as->length--; + /* strip final component */ + while (as->length > 0 && as->s[as->length - 1] != '/') + as->length--; + /* empty path -> cwd */ + if (as->length == 0) + return (archive_strcat(as, ".")); + /* strip separator(s) */ + while (as->length > 1 && as->s[as->length - 1] == '/') + as->length--; + /* terminate */ + as->s[as->length] = '\0'; + return (as); +} + #if HAVE_ICONV /* diff --git a/contrib/libarchive/libarchive/archive_string.h b/contrib/libarchive/libarchive/archive_string.h index e8987867d3ce..d5f5c03aca30 100644 --- a/contrib/libarchive/libarchive/archive_string.h +++ b/contrib/libarchive/libarchive/archive_string.h @@ -192,6 +192,10 @@ void archive_string_vsprintf(struct archive_string *, const char *, void archive_string_sprintf(struct archive_string *, const char *, ...) __LA_PRINTF(2, 3); +/* Equivalent to dirname(3) */ +struct archive_string * +archive_string_dirname(struct archive_string *); + /* Translates from MBS to Unicode. */ /* Returns non-zero if conversion failed in any way. */ int archive_wstring_append_from_mbs(struct archive_wstring *dest, diff --git a/contrib/libarchive/libarchive/archive_write_disk_posix.c b/contrib/libarchive/libarchive/archive_write_disk_posix.c index aeb27e1270ad..d69f041dde7e 100644 --- a/contrib/libarchive/libarchive/archive_write_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_write_disk_posix.c @@ -412,12 +412,14 @@ static ssize_t _archive_write_disk_data_block(struct archive *, const void *, static int la_mktemp(struct archive_write_disk *a) { + struct archive_string *tmp = &a->_tmpname_data; int oerrno, fd; mode_t mode; - archive_string_empty(&a->_tmpname_data); - archive_string_sprintf(&a->_tmpname_data, "%s.XXXXXX", a->name); - a->tmpname = a->_tmpname_data.s; + archive_strcpy(tmp, a->name); + archive_string_dirname(tmp); + archive_strcat(tmp, "/tar.XXXXXXXX"); + a->tmpname = tmp->s; fd = __archive_mkstemp(a->tmpname); if (fd == -1) @@ -4287,8 +4289,10 @@ create_tempdatafork(struct archive_write_disk *a, const char *pathname) int tmpfd; archive_string_init(&tmpdatafork); - archive_strcpy(&tmpdatafork, "tar.md.XXXXXX"); - tmpfd = mkstemp(tmpdatafork.s); + archive_strcpy(&tmpdatafork, pathname); + archive_string_dirname(&tmpdatafork); + archive_strcat(&tmpdatafork, "/tar.XXXXXXXX"); + tmpfd = __archive_mkstemp(tmpdatafork.s); if (tmpfd < 0) { archive_set_error(&a->archive, errno, "Failed to mkstemp"); @@ -4367,8 +4371,10 @@ set_mac_metadata(struct archive_write_disk *a, const char *pathname, * silly dance of writing the data to disk just so that * copyfile() can read it back in again. */ archive_string_init(&tmp); - archive_strcpy(&tmp, "tar.mmd.XXXXXX"); - fd = mkstemp(tmp.s); + archive_strcpy(&tmp, pathname); + archive_string_dirname(&tmp); + archive_strcat(&tmp, "/tar.XXXXXXXX"); + fd = __archive_mkstemp(tmp.s); if (fd < 0) { archive_set_error(&a->archive, errno, diff --git a/contrib/libarchive/libarchive/archive_write_open_filename.c b/contrib/libarchive/libarchive/archive_write_open_filename.c index 7d0f9bde1dbb..430de21fde14 100644 --- a/contrib/libarchive/libarchive/archive_write_open_filename.c +++ b/contrib/libarchive/libarchive/archive_write_open_filename.c @@ -191,6 +191,8 @@ file_open(struct archive *a, void *client_data) archive_set_error(a, errno, "Couldn't stat '%s'", mbs); else archive_set_error(a, errno, "Couldn't stat '%ls'", wcs); + close(mine->fd); + mine->fd = -1; return (ARCHIVE_FATAL); } diff --git a/contrib/libarchive/libarchive/module.modulemap b/contrib/libarchive/libarchive/module.modulemap new file mode 100644 index 000000000000..70f70fc3a1a2 --- /dev/null +++ b/contrib/libarchive/libarchive/module.modulemap @@ -0,0 +1,34 @@ +/* + * Clang Module Map for libarchive + * + * What this is: + * This file tells the Clang compiler how to treat libarchive as a "module" - + * a self-contained unit of code that can be imported all at once instead of + * including individual header files. Think of it like a package definition. + * + * How it works: + * - When you write `@import CArchive` (Objective-C) or `import CArchive` (Swift), + * the compiler uses this file to know which headers belong to libarchive + * - Instead of processing each #include separately, the compiler can load a + * pre-compiled version of the entire library, making builds faster + * - This also provides better dependency tracking and can catch issues like + * conflicting macro definitions between libraries + * + * When to update: + * Update this file whenever: + * - New public header files are added to libarchive's libarchive/ directory + * - Public headers are removed or renamed + * - The library's API structure changes significantly + * + * You typically don't need to update this for: + * - Internal implementation changes + * - Private/internal header modifications + * - Documentation updates + * + * NOTE: This only affects projects using Clang with modules enabled. Traditional + * #include-based builds will continue to work normally with or without this file. + */ +module CArchive { + header "archive.h" + header "archive_entry.h" +} diff --git a/contrib/libarchive/libarchive/test/test_archive_string.c b/contrib/libarchive/libarchive/test/test_archive_string.c index 30f7a800eae8..bf822c0d5e82 100644 --- a/contrib/libarchive/libarchive/test/test_archive_string.c +++ b/contrib/libarchive/libarchive/test/test_archive_string.c @@ -353,6 +353,43 @@ test_archive_string_sprintf(void) archive_string_free(&s); } +static void +test_archive_string_dirname(void) +{ + static struct pair { const char *str, *exp; } pairs[] = { + { "", "." }, + { "/", "/" }, + { "//", "/" }, + { "///", "/" }, + { "./", "." }, + { ".", "." }, + { "..", "." }, + { "foo", "." }, + { "foo/", "." }, + { "foo//", "." }, + { "foo/bar", "foo" }, + { "foo/bar/", "foo" }, + { "foo/bar//", "foo" }, + { "foo//bar", "foo" }, + { "foo//bar/", "foo" }, + { "foo//bar//", "foo" }, + { "/foo", "/" }, + { "//foo", "/" }, + { "//foo/", "/" }, + { "//foo//", "/" }, + { 0 }, + }; + struct pair *pair; + struct archive_string s; + + archive_string_init(&s); + for (pair = pairs; pair->str; pair++) { + archive_strcpy(&s, pair->str); + archive_string_dirname(&s); + assertEqualString(pair->exp, s.s); + } +} + DEFINE_TEST(test_archive_string) { test_archive_string_ensure(); @@ -364,6 +401,7 @@ DEFINE_TEST(test_archive_string) test_archive_string_concat(); test_archive_string_copy(); test_archive_string_sprintf(); + test_archive_string_dirname(); } static const char *strings[] = diff --git a/contrib/libarchive/libarchive/test/test_compat_lz4.c b/contrib/libarchive/libarchive/test/test_compat_lz4.c index 9e309a9fbd20..8ab9208b0918 100644 --- a/contrib/libarchive/libarchive/test/test_compat_lz4.c +++ b/contrib/libarchive/libarchive/test/test_compat_lz4.c @@ -98,6 +98,8 @@ DEFINE_TEST(test_compat_lz4) verify("test_compat_lz4_3.tar.lz4.uu", n); /* This sample has been compressed with -B4 option. */ verify("test_compat_lz4_B4.tar.lz4.uu", n2); + /* This sample has been compresed with -B4, and has two skippable frames at the start. */ + verify("test_compat_lz4_skippable_frames_B4.tar.lz4.uu", n2); /* This sample has been compressed with -B5 option. */ verify("test_compat_lz4_B5.tar.lz4.uu", n2); /* This sample has been compressed with -B6 option. */ diff --git a/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu b/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu new file mode 100644 index 000000000000..f45b1ac8f8dd --- /dev/null +++ b/contrib/libarchive/libarchive/test/test_compat_lz4_skippable_frames_B4.tar.lz4.uu @@ -0,0 +1,6739 @@ +begin 664 test_compat_lz4_skippable_frames_B4.tar.lz4.uu +M4"I-&`````!1*DT8"@`````!`@,$!08'"`D$(DT89$"GE1$``&]X9FEL90`! +M`$OA,#`P-C0T(``P,#`W-C4(`"(P,A``(C(P`0#_!R`Q,C,U,S4U,S4Q,B`P +M,3(P,C,`(#"7`$L"`@"O=7-T87(`,#!C=0`<``$D!0'-U8V@G`%`J(&5X84D`0',Z(%,R`U1S;6%L;!4`!#X!`+X!\`!A +M="!Y;W4@;6%Y(&9I;F30`C%F=6PO`@9%`%$O;6EN:84!$6'C`5%A8W0@2#R`@!3!%`N"@I4:)T!,'`M;`P$HB!D:7)E +M8W1O@`K1#3U!924Y'("T@=U$!8F-A;B!D;Y\` +M,W1H:2D`\@))3E-404Q,("T@:6YS=&%L;'4```T`(7)U*@(#*0`#0`41+3P` +M`94```\!`4D!@&9I9W5R92`MS@`!#``"1`"U'2(`#!P=71>`H$@(F-M86ME(B0#:60@=&]O +M;$T``E8!!NL#`2D!,2!I;DP!#VT!`3!AM``,D +M!`"3``!.`/4!+F%M+"!A8VQO8V%L+FTT+.$`0&4N86/_```"`!(M5``D=&^H +M``RB!+(L(&]N;'D@;F5E9'P`,6UA:?8!(V5R7`$%<``D:6YD`/(#+F@N:6X* +M"2T@=&5M<&QA=&5S9P`18C0"`68!$V6U`&`*"D=U:63S`"@@1%0&!-(!`G4` +M`;P$2+8($-7,N-:H(`J\``!D# +M`/(`@&UA=',@=&%R +M+C54`0CQ!$%A8F]U4P4@P`(2PF!:&%R9"UT;RTP +M!@1;`0%'``!!`&%M;V1E``%4!%"`"X +M!!,BO0(R+F@BJ0"`:&4*2R"```[!P$C"4!A=71ODP8`_P(0><$",&5C=)D# +M$635``,<`@5X"1!F+``!MP91*B!'3E5U`0(U`B8@*`0+`!H`06QO;F=0!F)N +M86UE+``-J`0`9`X$J(%!/4TE8("`-`5L` +M`A``,G!A>%H)`ED'`W@"!R$`P&]C=&5T+6]R:65N=!<$('!I?@G&*B!35E(T +M($%30TE)%``"4P`/,@`%84)I;F%R>2X`P"`H8FEG+65N9&EA;J(!8VQI='1L +M91$``OH`\0))4T\Y-C8P($-$+5)/32!I;;<"$2AX""!O<,L#P&%L(%)O8VMR +M:61G944`8DIO;&EE="D!`>\!`DD`-%I)4%8#!$``('5N3@DPFEP/@$Q:6]N%0!=8GII<#(6``1\`4TO3%I7'0"B;'IM82P@;'II +MD# +M`*4#(71EVPAA.@H*("H@+1`0:2`*<&AE879I;'G\"#9E86VU!0(1"W`N("!4 +M:&5R-!$S(&YOX@<`@@(#WP@`DP1!(&EN+;F4@``%1`0.;`")E;LD!!RT``'P`"W$`*&1E$0`# +MQ@(1+/```H```(T.`)8!`!8!`$``,&%G8?,/`?$)D6-OP,1<#4`T6%T979E +M$P$/`P),%@`&"1!G5180:2(3`2(`!4H``.,3(6-EA0`A3VZ0`QMEPP`"Y`(R +M<')O.@$!A0%18W1L>2W,`))E9"!O=71P=73O`@!@!/$#;V)J96-T+7-T>6QE +M(&%P<')OR`,`^10"^@#0=&\@:&%V92!M=6QT:<,3!*D``@$$`+D(52!O<&5N +MG@`3(!40`&H0``H!$6DA"&-I=',@(D`\`!(BO0012!FP"`,D*`2L`,VEN("#B)A;N@"`*4'!C0*$"QC`$!D97-P +MH@``;`0!Y`,`7,N"B05$6:X#0]D&O______________________ +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M_________________________________________UM09"!O2!O9B<`H69O;&QO=VEN9SJ&`(%U=65N +M8V]D90T`16=Z:7#A`#%I;VX5`%UB>FEP,A8`!`FUA+"!L +M>FEP+!0!*7AZ(P#!"DYO=&5S(&%B;W5TE`!R;&EB=$`\"YT96-T=7)E +M.@H*("H@5&AI0`&EP#@:7,@9&5S:6=N +M960@=&]>`61E>'1E;F1>`3AN97?@``#S`#(*("#.`!!V<@$`]`$22!R97%U:7)E;65N=+(`,G1H80D!`BL`("!BCP&0(')E861A8FQEH@!! +M=W)I=`P`$&$,`0($`0!H``([`$5E86-H;P``E@(3>4,`4&EN9&5PJ@`B;G1_ +M`$%R92!A!`"4=&EC;&5S(&]N@0$#KP+P`2!7:6MI(&5X<&QA:6YI;F?)`#!H +M;W?X``+U``$N("!)9B!Y;W4@9&]N)^P!`+8`\0)I8VET;'D@ +M:6YV;VME(&$@<.L`@'5L87(@9F5A60)`("AS=2\!&7,<`A!AZ0`'+0`$YP,# +M(@("F0%P*2P@:70@=W``\``@9V5T('!U;&QE9"!I;BX^`"=);FX`-RP@:9X` +M`5$!`YL`(F5NR0$'+0``/@`+<0`H9&41``/&`A$L\``"@``B;F6.`@`6`0!` +M`&)A9V%I;G-'`J!C;W)R97-P;VYD)P0(20`-6@`">P,Q:65SPP`!;P.P86QS +M;R!R961U8V6;`C!E('.%`2-O9H@!`+,!$"UV`&%E9"!B:6X]`"`@:2P$@"!E +M;G9IP,1<#4`T6%T +M979E8!(71O(@`%2@!A="!O;F-EA0`A3VZ0`QMEPP`"Y`(R<')O +M.@$!A0%18W1L>2W,`))E9"!O=71P=73O`@!@!/$#;V)J96-T+7-T>6QE(&%P +M<')OR`,`H`4"^@#@=&\@:&%V92!M=6QT:7`E``.E`P(!!`!;!E4@;W!E;IX` +ML2`@8G-D=&%R('5SO`$`/06#;B!I=',@(D#E`!(BR`-&2!B=69F97(@;W*Y`@!E``1R +M`85A('-O8VME=#X#27=IP"`*`'`2L`,VEN +M("0#\`)N86UE('-A>7,N"E)%041-15``!^@&X2!B=6YD;&4N +M"@I1=65S^@*@/R`@27-S=65S/U(`URH@:'1T<#HO+W=W=RX@!S!O3``!( +M`1!HN`*#9F]R(&]N9V]8!Q@@9`!P9&5V96QO<#P%<2P@:6YC;'6]!4!D;V-U +M%``!K`@!3@D`<0``.@`A;FM=`0!=``9S`%`@;6%I;`<"0FQI`<``$D!`)()`"<`4"H@97AA20!`8$(&YDT`(Q9G5L+P(&10`0+T,*`84! +M$6&>"E%A8W0@M``,D!`"3``!.`/``+F%M+"!A8VQO +M8V%L+FTT"0T#[0`P+F%C%P$``@`0+:("`)\`!*@``-D."*($$BP:#@#7"P!9 +M"Q!YR@4!]@$C97*N`05P`"1I;F0`@2YH+FEN"@DM]`<`H!`2=&%R +M+C54`0CQ!`4^$A%S8P0Q<&]PY0\#G`$$>P`(2PE`:&%R9!8,`3`&!%L!`4<` +M`(X!86UO9&5R;H\``.@!`+P'<"!V87)I86Y("0":!3!M86[X"T%P86=E.``` +M,0XD``'?`5=H+`#L' +M`2,)"=H1`,$",&5C=)D#$61A#0,<`@2#%"`@9@82`;<&`D$5!JH+)B`H!`L` +M6Q4@;&\O`#!I;&6M"R)S+!````4+$R`1``!C`%)S<&%RC0."P#``0#E%P$A"00(`0`` +M"@*<$`5+`0!U!`\&`0("@P$#OP,"O`(/'P,8,")R9:`-`!`6$2)'`P)/`,(L +M('=H:6-H('=I;&SK&`!P"``9!`-?`4!S(&5X+10``@(`N04$B1$""Q<#6A3`1!F+`"A#0#46-H86YG?@$W;6%T(0"P;V-T970M;W)I96X!`P!@`@$>`*%35E(T +M($%30TE)=`(!%``"4P`/,@`%84)I;F%R>2X`P"`H8FEG+65N9&EA;J(!8VQI +M='1L91$``OH`\0))4T\Y-C8P($-$+5)/32!I;;<"@"AW:71H(&]PRP/`86P@ +M4F]C:W)I9&=E10!B2F]L:65T*0$![P$"20`T6DE05@,$0`#`=6YC;VUPFEP/@$Q:6]N&`%=8GII<#(6``1\`4TO3%I7 +M'0"B;'IM82P@;'II&-E<$`%`+D%!&D"L"!T:&%T(')E<75IE@4G87C*`E(@ +M*&9O?P(-F5A;;4%X'-YU`P#P!`![``-S!`![ +M``&'"0&C`%0@;VYL>0H#`#@(`+(``1X#`*8$`@P"(2!B-PEQ4,`4&EN9&5PJ@`E +M;G0B`0`8"5!AP,1<#4`T6%T979E; Thu, 15 Jan 2026 23:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsdws2TCkz3SHk for ; Thu, 15 Jan 2026 23:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768518589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0lSRLlxh+/6Z7Xbv9UZIMasp19q3vDbM/cBRhOXl5s=; b=IQAoIi/jJfibxxYOA2CvLjNB1PgsxZIW0ESgiNAwwD1ci9jfEfd0CQIoxR18UmJxb76iB/ SoB25nw/yiNonylWARxFKKNMMUpk5BhdGvOmqCdHSlT4YGAKpQSZRQIGciaNcf18aSCm3R 2IWA78yC+vmPemwHNMpN2i0xXSBuaYPoc+Z4ikpkj7IjwxIprhycRqE674JbdHAEl033h1 aIlKBJPEKHV1ITSVPtmi8WtPXBs66oXI7fr8Iz8/r0FAdq/u3xmW5sW3mHLlYuhTDTScbQ 0cfGlny2kJDkY8yXwAR4X9A6LZ9WSxtJOM6f/sTSZNe1eDMaopRG1ObbaTO2VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768518589; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s0lSRLlxh+/6Z7Xbv9UZIMasp19q3vDbM/cBRhOXl5s=; b=SP2TP1hxhUpvi5mFMLi+T9sFMlIWeNSKoxOsYMKKS3XNdcDoaniLEVJohdZ/WovZKLxRrK BcPsvydKl3e5f1M2sz1siINDKki4NWul1+WOmdtlAOB3A00fCasuuNsVM6rmBCDyJe3St7 wCkXBZDLUOX9RTDrsqkum2p5o5dS2xO2kIWOkf1mVKBrMfx0nXnmdH81HHg2RWJmAhllK+ mkKLsGpDD3Tsf4SBVC5VrRENS37vhCTOvcF0gkaEmnWETnmhkTaHJjaQGhlfoHFTDnKT7A qK0Xdi7Y5C1IU0yJI7ZORcxYrZuTKBny9G6hnwXavCQZPIqJFLEVr5i4HguF/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768518589; a=rsa-sha256; cv=none; b=dqO3Y1EpKfif7uuRb7/Fu2lJcbPqTSwfDRC3REdtVUSjD6nTqx3g/75sXLPtnwLVf6xVTx mPYSLivpm/cJcsnL3Mz4LPus7cmnZAl7E9vIgLnBi8s8kC1MT/5nXxLnQAMg3Wc5hb640E IH1WlWZntkzfb3XwMz/fqbGDWSuWxNerbDAjQ9qM6mmljWLwQvaHPmBvkuEX622jICZme8 vIFGRWsc7vFbDGmZKk0XpcPuTW0mN42d4+PBgnLAumm03r663lfkUQuRoiNBRTlTf6DDaI 3ikZjObNQNX7VYty4dMvOU/wDvcIEFDfXFgg71jKTueC10JV64oUJEQ2/CdIbQ== 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 4dsdws1psmzptk for ; Thu, 15 Jan 2026 23:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32a3e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 23:09:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: d5881e250e58 - stable/13 - libarchive: merge from vendor branch 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/13 X-Git-Reftype: branch X-Git-Commit: d5881e250e584a40f5e57d211e9051cafe95c8ec Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 23:09:49 +0000 Message-Id: <696973bd.32a3e.7f846ab4@gitrepo.freebsd.org> The branch stable/13 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=d5881e250e584a40f5e57d211e9051cafe95c8ec commit d5881e250e584a40f5e57d211e9051cafe95c8ec Author: Martin Matuska AuthorDate: 2025-12-01 13:05:35 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 21:25:54 +0000 libarchive: merge from vendor branch libarchive 3.8.4 Important bugfixes: #2787 bsdtar: Fix zero-length pattern issue #2797 lib: Fix regression introduced in libarchive 3.8.2 when walking enterable but unreadable directories Obtained from: libarchive Vendor commit: d114ceee6de08a7a60ff1209492ba38bf9436f79 MFC after: 1 week (cherry picked from commit c1e033c33e8b290cd40f4069249c879efcbae6a6) --- contrib/libarchive/NEWS | 8 ++++--- contrib/libarchive/libarchive/archive.h | 4 ++-- contrib/libarchive/libarchive/archive_cryptor.c | 6 +++--- .../libarchive/archive_cryptor_private.h | 4 ++-- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_disk_entry_from_file.c | 5 ++--- .../libarchive/archive_read_disk_posix.c | 25 ++++++++++------------ .../libarchive/archive_read_support_format_mtree.c | 2 +- .../libarchive/archive_version_details.c | 2 +- contrib/libarchive/libarchive/archive_write.c | 2 +- .../libarchive/archive_write_disk_posix.c | 6 +++--- .../libarchive/archive_write_set_format_xar.c | 12 +++++------ .../test/test_archive_read_multiple_data_objects.c | 2 +- .../libarchive/test/test_write_disk_perms.c | 6 +++--- .../libarchive/test/test_write_filter_bzip2.c | 3 ++- contrib/libarchive/tar/subst.c | 19 ++++++++++------ contrib/libarchive/tar/test/test_option_s.c | 8 ++++++- 17 files changed, 63 insertions(+), 53 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index 971ae8e441e1..fbbb65440b39 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,8 +1,10 @@ -Nov 17, 2026: libarchive 3.8.3 released +Dec 01, 2025: libarchive 3.8.4 released -Oct 15, 2026: libarchive 3.8.2 released +Nov 17, 2025: libarchive 3.8.3 released -Jun 01, 2026: libarchive 3.8.1 released +Oct 15, 2025: libarchive 3.8.2 released + +Jun 01, 2025: libarchive 3.8.1 released May 20, 2025: libarchive 3.8.0 released diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 9794dced6ca9..0eda822ae6bf 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008003 +#define ARCHIVE_VERSION_NUMBER 3008004 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.3" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.4" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_cryptor.c b/contrib/libarchive/libarchive/archive_cryptor.c index 9f03f9ca6dd0..b6a02fd1e7cb 100644 --- a/contrib/libarchive/libarchive/archive_cryptor.c +++ b/contrib/libarchive/libarchive/archive_cryptor.c @@ -490,9 +490,9 @@ aes_ctr_update(archive_crypto_ctx *ctx, const uint8_t * const in, size_t in_len, uint8_t * const out, size_t *out_len) { uint8_t *const ebuf = ctx->encr_buf; - unsigned pos = ctx->encr_pos; - unsigned max = (unsigned)((in_len < *out_len)? in_len: *out_len); - unsigned i; + size_t pos = ctx->encr_pos; + size_t max = (in_len < *out_len)? in_len: *out_len; + size_t i; for (i = 0; i < max; ) { if (pos == AES_BLOCK_SIZE) { diff --git a/contrib/libarchive/libarchive/archive_cryptor_private.h b/contrib/libarchive/libarchive/archive_cryptor_private.h index 1dbc5c17a01a..272f2f84b9c9 100644 --- a/contrib/libarchive/libarchive/archive_cryptor_private.h +++ b/contrib/libarchive/libarchive/archive_cryptor_private.h @@ -56,10 +56,10 @@ int __libarchive_cryptor_build_hack(void); typedef struct { CCCryptorRef ctx; uint8_t key[AES_MAX_KEY_SIZE]; - unsigned key_len; + size_t key_len; uint8_t nonce[AES_BLOCK_SIZE]; uint8_t encr_buf[AES_BLOCK_SIZE]; - unsigned encr_pos; + size_t encr_pos; } archive_crypto_ctx; #elif defined(_WIN32) && !defined(__CYGWIN__) && defined(HAVE_BCRYPT_H) && _WIN32_WINNT >= _WIN32_WINNT_VISTA diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 924b67a301cf..74466f394c4a 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008003 +#define ARCHIVE_VERSION_NUMBER 3008004 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c index 121af19872e9..6e6bae6a4e06 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c +++ b/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c @@ -254,7 +254,7 @@ archive_read_disk_entry_from_file(struct archive *_a, if (S_ISLNK(st->st_mode)) { size_t linkbuffer_len = st->st_size; char *linkbuffer; - int lnklen; + ssize_t lnklen; linkbuffer = malloc(linkbuffer_len + 1); if (linkbuffer == NULL) { @@ -892,7 +892,7 @@ setup_sparse_fiemap(struct archive_read_disk *a, for (iters = 0; ; ++iters) { int i, r; - r = ioctl(*fd, FS_IOC_FIEMAP, fm); + r = ioctl(*fd, FS_IOC_FIEMAP, fm); if (r < 0) { /* When something error happens, it is better we * should return ARCHIVE_OK because an earlier @@ -1079,4 +1079,3 @@ setup_sparse(struct archive_read_disk *a, #endif #endif /* !defined(_WIN32) || defined(__CYGWIN__) */ - diff --git a/contrib/libarchive/libarchive/archive_read_disk_posix.c b/contrib/libarchive/libarchive/archive_read_disk_posix.c index 7cd292f259ff..94fa8fef963f 100644 --- a/contrib/libarchive/libarchive/archive_read_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_read_disk_posix.c @@ -2018,11 +2018,8 @@ tree_dup(int fd) } #endif /* F_DUPFD_CLOEXEC */ new_fd = dup(fd); - if (new_fd != -1) { - __archive_ensure_cloexec_flag(new_fd); - return (new_fd); - } - return (-1); + __archive_ensure_cloexec_flag(new_fd); + return (new_fd); } /* @@ -2144,16 +2141,11 @@ tree_reopen(struct tree *t, const char *path, int restore_time) * so try again for execute. The consequences of not opening this are * unhelpful and unnecessary errors later. */ - if (t->initial_dir_fd < 0) { + if (t->initial_dir_fd < 0) t->initial_dir_fd = open(".", o_flag | O_CLOEXEC); - if (t->initial_dir_fd < 0) - return NULL; - } #endif __archive_ensure_cloexec_flag(t->initial_dir_fd); t->working_dir_fd = tree_dup(t->initial_dir_fd); - if (t->working_dir_fd < 0) - return NULL; return (t); } @@ -2359,15 +2351,20 @@ static int tree_dir_next_posix(struct tree *t) { int r; +#if defined(HAVE_FDOPENDIR) + int fd; +#endif const char *name; size_t namelen; if (t->d == NULL) { #if defined(HAVE_FDOPENDIR) - int fd = tree_dup(t->working_dir_fd); - if (fd != -1) - t->d = fdopendir(fd); + if (t->working_dir_fd >= 0) { + fd = tree_dup(t->working_dir_fd); + if (fd != -1) + t->d = fdopendir(fd); + } #else /* HAVE_FDOPENDIR */ if (tree_enter_working_dir(t) == 0) { t->d = opendir("."); diff --git a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c index ded13bee79a3..96d2c71f4c4f 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c @@ -1254,7 +1254,7 @@ parse_file(struct archive_read *a, struct archive_entry *entry, archive_entry_filetype(entry) == AE_IFDIR) { mtree->fd = open(path, O_RDONLY | O_BINARY | O_CLOEXEC); __archive_ensure_cloexec_flag(mtree->fd); - if (mtree->fd < 0 && ( + if (mtree->fd == -1 && ( #if defined(_WIN32) && !defined(__CYGWIN__) /* * On Windows, attempting to open a file with an diff --git a/contrib/libarchive/libarchive/archive_version_details.c b/contrib/libarchive/libarchive/archive_version_details.c index 0cf92db73194..9063faa79426 100644 --- a/contrib/libarchive/libarchive/archive_version_details.c +++ b/contrib/libarchive/libarchive/archive_version_details.c @@ -333,7 +333,7 @@ archive_libbsdxml_version(void) const char * archive_libxml2_version(void) { -#if HAVE_LIBXML_XMLREADER_H && HAVE_LIBXML2 +#if HAVE_LIBXML_XMLVERSION_H && HAVE_LIBXML2 return LIBXML_DOTTED_VERSION; #else return NULL; diff --git a/contrib/libarchive/libarchive/archive_write.c b/contrib/libarchive/libarchive/archive_write.c index 9b9cb196f0f9..e1ce5d57288d 100644 --- a/contrib/libarchive/libarchive/archive_write.c +++ b/contrib/libarchive/libarchive/archive_write.c @@ -821,7 +821,7 @@ _archive_write_data(struct archive *_a, const void *buff, size_t s) { struct archive_write *a = (struct archive_write *)_a; const size_t max_write = INT_MAX; - int ret; + ssize_t ret; archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); diff --git a/contrib/libarchive/libarchive/archive_write_disk_posix.c b/contrib/libarchive/libarchive/archive_write_disk_posix.c index d69f041dde7e..cc59e58e4df6 100644 --- a/contrib/libarchive/libarchive/archive_write_disk_posix.c +++ b/contrib/libarchive/libarchive/archive_write_disk_posix.c @@ -2561,9 +2561,9 @@ _archive_write_disk_close(struct archive *_a) * for directories. For other file types * we need to verify via fstat() or lstat() */ - if (fd < 0 || p->filetype != AE_IFDIR) { + if (fd == -1 || p->filetype != AE_IFDIR) { #if HAVE_FSTAT - if (fd >= 0 && ( + if (fd > 0 && ( fstat(fd, &st) != 0 || la_verify_filetype(st.st_mode, p->filetype) == 0)) { @@ -4447,7 +4447,7 @@ fixup_appledouble(struct archive_write_disk *a, const char *pathname) */ fd = open(pathname, O_RDONLY | O_BINARY | O_CLOEXEC); __archive_ensure_cloexec_flag(fd); - if (fd < 0) { + if (fd == -1) { archive_set_error(&a->archive, errno, "Failed to open a restoring file"); ret = ARCHIVE_WARN; diff --git a/contrib/libarchive/libarchive/archive_write_set_format_xar.c b/contrib/libarchive/libarchive/archive_write_set_format_xar.c index 9921f1032be5..ec3219057e4e 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_xar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_xar.c @@ -1000,13 +1000,13 @@ xmlwrite_heap(struct archive_write *a, struct xml_writer *writer, const char *encname; int r; - r = xmlwrite_fstring(a, writer, "length", "%ju", heap->length); + r = xmlwrite_fstring(a, writer, "length", "%ju", (uintmax_t)heap->length); if (r < 0) return (ARCHIVE_FATAL); - r = xmlwrite_fstring(a, writer, "offset", "%ju", heap->temp_offset); + r = xmlwrite_fstring(a, writer, "offset", "%ju", (uintmax_t)heap->temp_offset); if (r < 0) return (ARCHIVE_FATAL); - r = xmlwrite_fstring(a, writer, "size", "%ju", heap->size); + r = xmlwrite_fstring(a, writer, "size", "%ju", (uintmax_t)heap->size); if (r < 0) return (ARCHIVE_FATAL); switch (heap->compression) { @@ -1356,7 +1356,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a inode entry, "". */ r = xmlwrite_fstring(a, writer, "inode", - "%jd", archive_entry_ino64(file->entry)); + "%jd", (intmax_t)archive_entry_ino64(file->entry)); if (r < 0) return (ARCHIVE_FATAL); if (archive_entry_dev(file->entry) != 0) { @@ -1378,7 +1378,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a user entry, "" and ". */ r = xmlwrite_fstring(a, writer, "uid", - "%d", archive_entry_uid(file->entry)); + "%jd", (intmax_t)archive_entry_uid(file->entry)); if (r < 0) return (ARCHIVE_FATAL); r = archive_entry_uname_l(file->entry, &p, &len, xar->sconv); @@ -1404,7 +1404,7 @@ make_file_entry(struct archive_write *a, struct xml_writer *writer, * Make a group entry, "" and ". */ r = xmlwrite_fstring(a, writer, "gid", - "%d", archive_entry_gid(file->entry)); + "%jd", (intmax_t)archive_entry_gid(file->entry)); if (r < 0) return (ARCHIVE_FATAL); r = archive_entry_gname_l(file->entry, &p, &len, xar->sconv); diff --git a/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c b/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c index f9f75d96fa6b..791c7ad01121 100644 --- a/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c +++ b/contrib/libarchive/libarchive/test/test_archive_read_multiple_data_objects.c @@ -202,7 +202,7 @@ static int64_t file_skip(struct archive *a, void *data, int64_t request) { struct mydata *mydata = (struct mydata *)data; - int64_t result = lseek(mydata->fd, SEEK_CUR, request); + int64_t result = lseek(mydata->fd, request, SEEK_CUR); if (result >= 0) return result; archive_set_error(a, errno, "Error seeking in '%s'", mydata->filename); diff --git a/contrib/libarchive/libarchive/test/test_write_disk_perms.c b/contrib/libarchive/libarchive/test/test_write_disk_perms.c index 77a15d1a3e42..72b55179d86e 100644 --- a/contrib/libarchive/libarchive/test/test_write_disk_perms.c +++ b/contrib/libarchive/libarchive/test/test_write_disk_perms.c @@ -94,21 +94,21 @@ searchgid(void) close(fd); } -static int +static long altgid(void) { searchgid(); return (_alt_gid); } -static int +static long invalidgid(void) { searchgid(); return (_invalid_gid); } -static int +static long defaultgid(void) { searchgid(); diff --git a/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c b/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c index 7b2e4f857a75..d7ed95e2c7ff 100644 --- a/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c +++ b/contrib/libarchive/libarchive/test/test_write_filter_bzip2.c @@ -40,7 +40,8 @@ DEFINE_TEST(test_write_filter_bzip2) size_t buffsize, datasize; char path[16]; size_t used1, used2; - int i, r, use_prog; + ssize_t r; + int i, use_prog; buffsize = 2000000; assert(NULL != (buff = malloc(buffsize))); diff --git a/contrib/libarchive/tar/subst.c b/contrib/libarchive/tar/subst.c index a5d644dc5a70..a466f65358a5 100644 --- a/contrib/libarchive/tar/subst.c +++ b/contrib/libarchive/tar/subst.c @@ -235,7 +235,9 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, (*result)[0] = 0; } - while (1) { + char isEnd = 0; + do { + isEnd = *name == '\0'; if (regexec(&rule->re, name, 10, matches, 0)) break; @@ -290,12 +292,15 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, } realloc_strcat(result, rule->result + j); - - name += matches[0].rm_eo; - - if (!rule->global) - break; - } + if (matches[0].rm_eo > 0) { + name += matches[0].rm_eo; + } else { + // We skip a character because the match is 0-length + // so we need to add it to the output + realloc_strncat(result, name, 1); + name += 1; + } + } while (rule->global && !isEnd); // Testing one step after because sed et al. run 0-length patterns a last time on the empty string at the end } if (got_match) diff --git a/contrib/libarchive/tar/test/test_option_s.c b/contrib/libarchive/tar/test/test_option_s.c index 125e971d3304..00753b99be3c 100644 --- a/contrib/libarchive/tar/test/test_option_s.c +++ b/contrib/libarchive/tar/test/test_option_s.c @@ -42,7 +42,13 @@ DEFINE_TEST(test_option_s) systemf("%s -cf test1_2.tar -s /d1/d2/ in/d1/foo", testprog); systemf("%s -xf test1_2.tar -C test1", testprog); assertFileContents("foo", 3, "test1/in/d2/foo"); - + systemf("%s -cf test1_3.tar -s /o/#/g in/d1/foo", testprog); + systemf("%s -xf test1_3.tar -C test1", testprog); + assertFileContents("foo", 3, "test1/in/d1/f##"); + // For the 0-length pattern check, remember that "test1/" isn't part of the string affected by the regexp + systemf("%s -cf test1_4.tar -s /f*/\\<~\\>/g in/d1/foo", testprog); + systemf("%s -xf test1_4.tar -C test1", testprog); + assertFileContents("foo", 3, "test1/<>i<>n<>/<>d<>1<>/<>o<>o<>"); /* * Test 2: Basic substitution when extracting archive. */ From nobody Thu Jan 15 23:09:50 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsdwt5qcqz6NKkt for ; Thu, 15 Jan 2026 23:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsdwt35kTz3SFF for ; Thu, 15 Jan 2026 23:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768518590; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ydo2oUKyQp0D6s3XKardScbWFLjmjexdbecRAGtqlfg=; b=IEZGGcLfVooepVB/q3d5qOmWnMBZgUV7AIpPrfs4EisuDmNbGG8AqtAduECiHN66QBpWzx GStL3l/dmkwSXFLdDpOFdI1CAoseTALZFamKpQhJi3OnTiCcMkuQ/h5JGdoDy99spBx0mq ct+m19u4tK4KfP4b7U8sdBxEXbA05lnTDkHHXrd7nP/fVcTAP/jIEpr5cVybKSq6NSSqxz 3E8vvNZeC6Xd37qR1OprWKGqVTA5SkyHoPMKL3ahi2XN1BCh5U1kW4eSmoUGBVU9Rehl46 8nC2IgjkStLsKmH2FDiJNaaeh8HEGx9qRV2+egrQ5CgThxHyXqFTdYeAgyUdXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768518590; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ydo2oUKyQp0D6s3XKardScbWFLjmjexdbecRAGtqlfg=; b=Z42QZs4L1Q+Mj8p5LKSJMCwiwr7U6Az98E+ICVFi0cJTKC0CpEvEUnrkv2sMYuqJZI0GPI 7FQI2HSU77hXn0i6ESFN254IRJT3PGTqCLgrMqeTjD7finyDWgtVxkqRO/3fDoIK2G2SvC NQ7hllU5wUkJFjqvxKBT+k/yAM1oSFToRudviXIhrFAGZhpyoPpdvTAdXGM5ISP5KPzQD6 cv+Idb2si/PnHpIB+O0ax4BJNSz/KMYpHC96lhq0i7xVmjwSkIFBoYrOvxO1okUeTapajY Y1VFgV8xSs8jHZakABwwIOcnFNi8bGMH1DOKB0TVMETMMy57SX7e3UAysjL3KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768518590; a=rsa-sha256; cv=none; b=aSSJuM6DOGxieVvdsKKQe3Vcv7Tn5KoW0Nh3x2JsII0+UtK29JthPfVaDkrukJ2i3LGmnR HHuS1/BCsBWiI4Gcvb6So6IVmr4Q+aIDmehE07pXzMn/MrazvuKVT88Eo+RaBHT2c6BQS+ XSJ1Vcmhcd0WO94Qa6ZUOdM76/9MoqG837BONe4qaC2XPtt7b7b8mH9zU9cHaj1nuBmSiP U6dEPACZhXU6Nlyf8BoI7LKn2sZDdX29Z/Qrz4Rgigj4ZeVwdNieOVO/soPXcnfsSqqFg8 djbuSmvo83NKPsDt1yF/yUtIrLdSbNF7SDyBh6mRzI/HjH4OfeQQjQ9Vun7LKw== 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 4dsdwt2hLmzpTZ for ; Thu, 15 Jan 2026 23:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33d71 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 15 Jan 2026 23:09:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: 72ba9e021318 - stable/13 - libarchive: merge from vendor branch 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/13 X-Git-Reftype: branch X-Git-Commit: 72ba9e02131820de0fccedd4ad7a53c908e57d8b Auto-Submitted: auto-generated Date: Thu, 15 Jan 2026 23:09:50 +0000 Message-Id: <696973be.33d71.69b3a4a3@gitrepo.freebsd.org> The branch stable/13 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=72ba9e02131820de0fccedd4ad7a53c908e57d8b commit 72ba9e02131820de0fccedd4ad7a53c908e57d8b Author: Martin Matuska AuthorDate: 2026-01-05 20:14:54 +0000 Commit: Martin Matuska CommitDate: 2026-01-15 21:26:06 +0000 libarchive: merge from vendor branch libarchive 3.8.5 Important bugfixes: #2809 bsdtar: fix regression from 3.8.4 zero-length pattern issue bugfix Obtained from: libarchive Vendor commit: dd897a78c662a2c7a003e7ec158cea7909557bee MFC after: 1 week (cherry picked from commit 4b047c3af3fec1607ba1cfe04e1d442a17fc1cf6) --- contrib/libarchive/NEWS | 2 ++ contrib/libarchive/README.md | 4 ++-- contrib/libarchive/cpio/cpio.c | 2 +- contrib/libarchive/libarchive/archive.h | 4 ++-- contrib/libarchive/libarchive/archive_entry.h | 2 +- .../libarchive/archive_read_support_filter_uu.c | 8 ++++---- .../libarchive/archive_read_support_format_cab.c | 2 +- .../libarchive/archive_read_support_format_cpio.c | 6 +++--- .../libarchive/archive_read_support_format_lha.c | 2 +- .../libarchive/archive_read_support_format_mtree.c | 12 ++++++------ contrib/libarchive/libarchive/archive_string.c | 4 ++-- contrib/libarchive/libarchive/archive_util.c | 2 +- contrib/libarchive/libarchive/archive_write_open_fd.c | 6 +----- .../libarchive/libarchive/archive_write_open_file.c | 6 +----- .../libarchive/libarchive/archive_write_open_memory.c | 6 +----- .../libarchive/archive_write_set_format_shar.c | 5 ++++- .../libarchive/archive_write_set_format_ustar.c | 2 +- contrib/libarchive/libarchive/test/test_compat_lzip.c | 4 ++-- contrib/libarchive/libarchive_fe/line_reader.c | 2 ++ contrib/libarchive/tar/subst.c | 16 ++++++++-------- contrib/libarchive/tar/write.c | 5 ++--- contrib/libarchive/test_utils/test_main.c | 19 ++++++++++++++++--- contrib/libarchive/unzip/bsdunzip.c | 4 ++-- contrib/libarchive/unzip/la_queue.h | 2 +- 24 files changed, 67 insertions(+), 60 deletions(-) diff --git a/contrib/libarchive/NEWS b/contrib/libarchive/NEWS index fbbb65440b39..be14de445b57 100644 --- a/contrib/libarchive/NEWS +++ b/contrib/libarchive/NEWS @@ -1,3 +1,5 @@ +Jan 05, 2026: libarchive 3.8.5 released + Dec 01, 2025: libarchive 3.8.4 released Nov 17, 2025: libarchive 3.8.3 released diff --git a/contrib/libarchive/README.md b/contrib/libarchive/README.md index 0d63357292ec..e9691f1b710b 100644 --- a/contrib/libarchive/README.md +++ b/contrib/libarchive/README.md @@ -191,7 +191,7 @@ questions we are asked about libarchive: libraries. This also reduces the size of statically-linked binaries in environments where that matters. -* The library is generally _thread safe_ depending on the platform: +* The library is generally _thread-safe_ depending on the platform: it does not define any global variables of its own. However, some platforms do not provide fully thread-safe versions of key C library functions. On those platforms, libarchive will use the non-thread-safe @@ -214,7 +214,7 @@ questions we are asked about libarchive: multiple threads. Of course, those modules are completely optional and you can use the rest of libarchive without them. -* The library is _not_ thread aware, however. It does no locking +* The library is _not_ thread-aware, however. It does no locking or thread management of any kind. If you create a libarchive object and need to access it from multiple threads, you will need to provide your own locking. diff --git a/contrib/libarchive/cpio/cpio.c b/contrib/libarchive/cpio/cpio.c index 262db510568b..77eefe809f37 100644 --- a/contrib/libarchive/cpio/cpio.c +++ b/contrib/libarchive/cpio/cpio.c @@ -725,7 +725,7 @@ file_to_archive(struct cpio *cpio, const char *srcpath) if (cpio->uid_override >= 0) archive_entry_set_uid(entry, cpio->uid_override); - if (cpio->gname_override != NULL) + if (cpio->uname_override != NULL) archive_entry_set_uname(entry, cpio->uname_override); if (cpio->gid_override >= 0) archive_entry_set_gid(entry, cpio->gid_override); diff --git a/contrib/libarchive/libarchive/archive.h b/contrib/libarchive/libarchive/archive.h index 0eda822ae6bf..a9d34beb4f5a 100644 --- a/contrib/libarchive/libarchive/archive.h +++ b/contrib/libarchive/libarchive/archive.h @@ -34,7 +34,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3008004 +#define ARCHIVE_VERSION_NUMBER 3008005 #include #include /* for wchar_t */ @@ -177,7 +177,7 @@ __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.8.4" +#define ARCHIVE_VERSION_ONLY_STRING "3.8.5" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); diff --git a/contrib/libarchive/libarchive/archive_entry.h b/contrib/libarchive/libarchive/archive_entry.h index 74466f394c4a..b43435692c27 100644 --- a/contrib/libarchive/libarchive/archive_entry.h +++ b/contrib/libarchive/libarchive/archive_entry.h @@ -28,7 +28,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3008004 +#define ARCHIVE_VERSION_NUMBER 3008005 /* * Note: archive_entry.h is for use outside of libarchive; the diff --git a/contrib/libarchive/libarchive/archive_read_support_filter_uu.c b/contrib/libarchive/libarchive/archive_read_support_filter_uu.c index d722fe343657..acb8feb79b2d 100644 --- a/contrib/libarchive/libarchive/archive_read_support_filter_uu.c +++ b/contrib/libarchive/libarchive/archive_read_support_filter_uu.c @@ -232,8 +232,8 @@ bid_get_line(struct archive_read_filter *filter, size_t nbytes_req = (*ravail+1023) & ~1023U; ssize_t tested; - /* Increase reading bytes if it is not enough to at least - * new two lines. */ + /* Increase reading bytes if it is not enough for at least + * two new lines. */ if (nbytes_req < (size_t)*ravail + 160) nbytes_req <<= 1; @@ -411,7 +411,7 @@ ensure_in_buff_size(struct archive_read_filter *self, /* * Calculate a new buffer size for in_buff. - * Increase its value until it has enough size we need. + * Increase its value until it is enough for our needs. */ newsize = uudecode->in_allocated; do { @@ -494,7 +494,7 @@ read_more: } /* * If there is remaining data which is saved by - * previous calling, use it first. + * a previous call, use it first. */ if (ensure_in_buff_size(self, uudecode, avail_in + uudecode->in_cnt) != ARCHIVE_OK) diff --git a/contrib/libarchive/libarchive/archive_read_support_format_cab.c b/contrib/libarchive/libarchive/archive_read_support_format_cab.c index a96f7d313951..63755ef9e579 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_cab.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_cab.c @@ -2813,7 +2813,7 @@ lzx_decode_blocks(struct lzx_stream *strm, int last) lzx_br_bits(&bre, mt_max_bits)); lzx_br_consume(&bre, mt_bitlen[c]); } - if (c > UCHAR_MAX) + if ((unsigned int)c > UCHAR_MAX) break; /* * 'c' is exactly literal code. diff --git a/contrib/libarchive/libarchive/archive_read_support_format_cpio.c b/contrib/libarchive/libarchive/archive_read_support_format_cpio.c index 74f3549d159e..526096b39f75 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_cpio.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_cpio.c @@ -825,9 +825,9 @@ header_odc(struct archive_read *a, struct cpio *cpio, } /* - * NOTE: if a filename suffix is ".z", it is the file gziped by afio. - * it would be nice that we can show uncompressed file size and we can - * uncompressed file contents automatically, unfortunately we have nothing + * NOTE: if a filename suffix is ".z", it is a file gzipped by afio. + * it would be nice if we could show uncompressed file size and + * uncompress file contents automatically, unfortunately we have nothing * to get a uncompressed file size while reading each header. It means * we also cannot uncompress file contents under our framework. */ diff --git a/contrib/libarchive/libarchive/archive_read_support_format_lha.c b/contrib/libarchive/libarchive/archive_read_support_format_lha.c index abf8b8799636..cf6a147abda6 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_lha.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_lha.c @@ -2374,7 +2374,7 @@ lzh_decode_blocks(struct lzh_stream *strm, int last) lzh_br_consume(&bre, lt_bitlen[c]); } blocks_avail--; - if (c > UCHAR_MAX) + if ((unsigned int)c > UCHAR_MAX) /* Current block is a match data. */ break; /* diff --git a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c index 96d2c71f4c4f..10c07b05d965 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_mtree.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_mtree.c @@ -392,8 +392,8 @@ next_line(struct archive_read *a, if (len >= MAX_LINE_LEN) return (-1); - /* Increase reading bytes if it is not enough to at least - * new two lines. */ + /* Increase reading bytes if it is not enough for at least + * two new lines. */ if (nbytes_req < (size_t)*ravail + 160) nbytes_req <<= 1; @@ -568,8 +568,8 @@ bid_keyword_list(const char *p, ssize_t len, int unset, int last_is_path) --len; value = 1; } - /* A keyword should have a its value unless - * "/unset" operation. */ + /* A keyword should have a value unless this is + * an "/unset" operation. */ if (!unset && value == 0) return (-1); } @@ -752,7 +752,7 @@ detect_form(struct archive_read *a, int *is_form_d) } else if (form_D == 1) { if (!last_is_path && keywords > 0) /* This this is not `form D' - * and We cannot accept mixed + * and we cannot accept mixed * format. */ break; } @@ -805,7 +805,7 @@ detect_form(struct archive_read *a, int *is_form_d) * to read the entire mtree file into memory up front. * * The parsing is done in two steps. First, it is decided if a line - * changes the global defaults and if it is, processed accordingly. + * changes the global defaults and if it does, it is processed accordingly. * Otherwise, the options of the line are merged with the current * global options. */ diff --git a/contrib/libarchive/libarchive/archive_string.c b/contrib/libarchive/libarchive/archive_string.c index 740308b6e4e3..a776dc85c688 100644 --- a/contrib/libarchive/libarchive/archive_string.c +++ b/contrib/libarchive/libarchive/archive_string.c @@ -3573,7 +3573,7 @@ win_strncat_from_utf16(struct archive_string *as, const void *_p, size_t bytes, if (sc->to_cp == CP_C_LOCALE) { /* - * "C" locale special process. + * "C" locale special processing. */ u16 = _p; ll = 0; @@ -3690,7 +3690,7 @@ win_strncat_to_utf16(struct archive_string *as16, const void *_p, avail = as16->buffer_length - 2; if (sc->from_cp == CP_C_LOCALE) { /* - * "C" locale special process. + * "C" locale special processing. */ count = 0; while (count < length && *s) { diff --git a/contrib/libarchive/libarchive/archive_util.c b/contrib/libarchive/libarchive/archive_util.c index d048bbc94650..0d1de1ef2091 100644 --- a/contrib/libarchive/libarchive/archive_util.c +++ b/contrib/libarchive/libarchive/archive_util.c @@ -456,7 +456,7 @@ __archive_issetugid(void) return (-1); if (ruid != euid || ruid != suid) return (1); - if (getresgid(&ruid, &egid, &sgid) != 0) + if (getresgid(&rgid, &egid, &sgid) != 0) return (-1); if (rgid != egid || rgid != sgid) return (1); diff --git a/contrib/libarchive/libarchive/archive_write_open_fd.c b/contrib/libarchive/libarchive/archive_write_open_fd.c index ba034ed92f8a..a795552020df 100644 --- a/contrib/libarchive/libarchive/archive_write_open_fd.c +++ b/contrib/libarchive/libarchive/archive_write_open_fd.c @@ -135,11 +135,7 @@ file_write(struct archive *a, void *client_data, const void *buff, size_t length static int file_free(struct archive *a, void *client_data) { - struct write_fd_data *mine = (struct write_fd_data *)client_data; - (void)a; /* UNUSED */ - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_open_file.c b/contrib/libarchive/libarchive/archive_write_open_file.c index 0b310f3da83b..6271b368d07f 100644 --- a/contrib/libarchive/libarchive/archive_write_open_file.c +++ b/contrib/libarchive/libarchive/archive_write_open_file.c @@ -96,11 +96,7 @@ file_write(struct archive *a, void *client_data, const void *buff, size_t length static int file_free(struct archive *a, void *client_data) { - struct write_FILE_data *mine = client_data; - (void)a; /* UNUSED */ - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_open_memory.c b/contrib/libarchive/libarchive/archive_write_open_memory.c index e31650447279..3b929ac7f60d 100644 --- a/contrib/libarchive/libarchive/archive_write_open_memory.c +++ b/contrib/libarchive/libarchive/archive_write_open_memory.c @@ -104,11 +104,7 @@ memory_write(struct archive *a, void *client_data, const void *buff, size_t leng static int memory_write_free(struct archive *a, void *client_data) { - struct write_memory_data *mine; (void)a; /* UNUSED */ - mine = client_data; - if (mine == NULL) - return (ARCHIVE_OK); - free(mine); + free(client_data); return (ARCHIVE_OK); } diff --git a/contrib/libarchive/libarchive/archive_write_set_format_shar.c b/contrib/libarchive/libarchive/archive_write_set_format_shar.c index be9f78ce96cd..f6f28debdfa9 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_shar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_shar.c @@ -144,7 +144,9 @@ archive_write_set_format_shar_dump(struct archive *_a) struct archive_write *a = (struct archive_write *)_a; struct shar *shar; - archive_write_set_format_shar(&a->archive); + int ret = archive_write_set_format_shar(&a->archive); + if (ret != ARCHIVE_OK) + return ret; shar = (struct shar *)a->format_data; shar->dump = 1; a->format_write_data = archive_write_shar_data_uuencode; @@ -240,6 +242,7 @@ archive_write_shar_header(struct archive_write *a, struct archive_entry *entry) shar_quote(&shar->work, p, 1); archive_strcat(&shar->work, " > /dev/null 2>&1\n"); + free(shar->last_dir); shar->last_dir = p; } } else { diff --git a/contrib/libarchive/libarchive/archive_write_set_format_ustar.c b/contrib/libarchive/libarchive/archive_write_set_format_ustar.c index 09b71fe6672a..4084eb455968 100644 --- a/contrib/libarchive/libarchive/archive_write_set_format_ustar.c +++ b/contrib/libarchive/libarchive/archive_write_set_format_ustar.c @@ -539,7 +539,7 @@ __archive_write_format_header_ustar(struct archive_write *a, char h[512], ret = ARCHIVE_WARN; } if (copy_length > 0) { - if (strlen(p) > USTAR_gname_size) { + if (copy_length > USTAR_gname_size) { if (tartype != 'x') { archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, "Group name too long"); diff --git a/contrib/libarchive/libarchive/test/test_compat_lzip.c b/contrib/libarchive/libarchive/test/test_compat_lzip.c index 50920eefb1cf..cd246b943b22 100644 --- a/contrib/libarchive/libarchive/test/test_compat_lzip.c +++ b/contrib/libarchive/libarchive/test/test_compat_lzip.c @@ -47,7 +47,7 @@ echo "f3" > $dir/d1/f3 rm -r $dir } # -# Make a lzip file from split tar file. +# Make a lzip file from the split tar file. # name=test_compat_lzip_1 dir="$name`date +%Y%m%d%H%M%S`.$USER" @@ -75,7 +75,7 @@ exit 0 */ /* - * Verify our ability to read sample files compatibly with lzip. + * Verify our ability to read the sample files compatibly with lzip. * * In particular: * * lzip will read multiple lzip streams, concatenating the output diff --git a/contrib/libarchive/libarchive_fe/line_reader.c b/contrib/libarchive/libarchive_fe/line_reader.c index 0af9db53c0a2..a4bc84b7f233 100644 --- a/contrib/libarchive/libarchive_fe/line_reader.c +++ b/contrib/libarchive/libarchive_fe/line_reader.c @@ -64,6 +64,8 @@ lafe_line_reader(const char *pathname, int nullSeparator) lr->nullSeparator = nullSeparator; lr->pathname = strdup(pathname); + if (lr->pathname == NULL) + lafe_errc(1, ENOMEM, "Can't open %s", pathname); if (strcmp(pathname, "-") == 0) lr->f = stdin; diff --git a/contrib/libarchive/tar/subst.c b/contrib/libarchive/tar/subst.c index a466f65358a5..53497ad0d1a3 100644 --- a/contrib/libarchive/tar/subst.c +++ b/contrib/libarchive/tar/subst.c @@ -237,7 +237,7 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, char isEnd = 0; do { - isEnd = *name == '\0'; + isEnd = *name == '\0'; if (regexec(&rule->re, name, 10, matches, 0)) break; @@ -293,13 +293,13 @@ apply_substitution(struct bsdtar *bsdtar, const char *name, char **result, realloc_strcat(result, rule->result + j); if (matches[0].rm_eo > 0) { - name += matches[0].rm_eo; - } else { - // We skip a character because the match is 0-length - // so we need to add it to the output - realloc_strncat(result, name, 1); - name += 1; - } + name += matches[0].rm_eo; + } else if (!isEnd) { + // We skip a character because the match is 0-length + // so we need to add it to the output + realloc_strncat(result, name, 1); + name += 1; + } } while (rule->global && !isEnd); // Testing one step after because sed et al. run 0-length patterns a last time on the empty string at the end } diff --git a/contrib/libarchive/tar/write.c b/contrib/libarchive/tar/write.c index 9e6c97b580b7..b39a397707ba 100644 --- a/contrib/libarchive/tar/write.c +++ b/contrib/libarchive/tar/write.c @@ -163,7 +163,7 @@ set_writer_options(struct bsdtar *bsdtar, struct archive *a) * a format or filters which are not added to * the archive write object. */ memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len); - memcpy(p, writer_options, opt_len); + memcpy(p + module_len, writer_options, opt_len); r = archive_write_set_options(a, p); free(p); if (r < ARCHIVE_WARN) @@ -190,13 +190,12 @@ set_reader_options(struct bsdtar *bsdtar, struct archive *a) char *p; /* Set default write options. */ if ((p = malloc(module_len + opt_len)) == NULL) - if (p == NULL) lafe_errc(1, errno, "Out of memory"); /* Prepend magic code to ignore options for * a format or filters which are not added to * the archive write object. */ memcpy(p, IGNORE_WRONG_MODULE_NAME, module_len); - memcpy(p, reader_options, opt_len); + memcpy(p + module_len, reader_options, opt_len); r = archive_read_set_options(a, p); free(p); if (r < ARCHIVE_WARN) diff --git a/contrib/libarchive/test_utils/test_main.c b/contrib/libarchive/test_utils/test_main.c index f31678166ad0..dbd3fcf60e9a 100644 --- a/contrib/libarchive/test_utils/test_main.c +++ b/contrib/libarchive/test_utils/test_main.c @@ -3681,11 +3681,19 @@ test_run(int i, const char *tmpdir) */ static void -usage(const char *program) +list_tests(void) { static const int limit = nitems(tests); int i; + for (i = 0; i < limit; i++) + printf(" %d: %s\n", i, tests[i].name); +} + +static void +usage(const char *program) +{ + printf("Usage: %s [options] ...\n", program); printf("Default is to run all tests.\n"); printf("Otherwise, specify the numbers of the tests you wish to run.\n"); @@ -3693,6 +3701,8 @@ usage(const char *program) printf(" -d Dump core after any failure, for debugging.\n"); printf(" -k Keep all temp files.\n"); printf(" Default: temp files for successful tests deleted.\n"); + printf(" -l List available tests and exit, ignoring all other.\n"); + printf(" options and arguments.\n"); #ifdef PROGRAM printf(" -p Path to executable to be tested.\n"); printf(" Default: path taken from " ENVBASE " environment variable.\n"); @@ -3704,8 +3714,7 @@ usage(const char *program) printf(" -u Keep running specified tests until one fails.\n"); printf(" -v Verbose.\n"); printf("Available tests:\n"); - for (i = 0; i < limit; i++) - printf(" %d: %s\n", i, tests[i].name); + list_tests(); exit(1); } @@ -4079,6 +4088,10 @@ main(int argc, char **argv) case 'k': keep_temp_files = 1; break; + case 'l': + list_tests(); + exit(0); + break; case 'p': #ifdef PROGRAM testprogfile = option_arg; diff --git a/contrib/libarchive/unzip/bsdunzip.c b/contrib/libarchive/unzip/bsdunzip.c index 1b520e841690..14bd418f169c 100644 --- a/contrib/libarchive/unzip/bsdunzip.c +++ b/contrib/libarchive/unzip/bsdunzip.c @@ -654,11 +654,11 @@ recheck: #elif HAVE_STRUCT_STAT_ST_MTIME_N sb.st_mtime > mtime.tv_sec || (sb.st_mtime == mtime.tv_sec && - sb.st_mtime_n => mtime.tv_nsec) + sb.st_mtime_n >= mtime.tv_nsec) #elif HAVE_STRUCT_STAT_ST_MTIME_USEC sb.st_mtime > mtime.tv_sec || (sb.st_mtime == mtime.tv_sec && - sb.st_mtime_usec => mtime.tv_nsec / 1000) + sb.st_mtime_usec >= mtime.tv_nsec / 1000) #else sb.st_mtime > mtime.tv_sec #endif diff --git a/contrib/libarchive/unzip/la_queue.h b/contrib/libarchive/unzip/la_queue.h index 917526531b2a..bb305f5bd8ce 100644 --- a/contrib/libarchive/unzip/la_queue.h +++ b/contrib/libarchive/unzip/la_queue.h @@ -85,7 +85,7 @@ * _SWAP + + + + */ #ifdef QUEUE_MACRO_DEBUG -#warn Use QUEUE_MACRO_DEBUG_TRACE and/or QUEUE_MACRO_DEBUG_TRASH +#warning Use QUEUE_MACRO_DEBUG_TRACE and/or QUEUE_MACRO_DEBUG_TRASH #define QUEUE_MACRO_DEBUG_TRACE #define QUEUE_MACRO_DEBUG_TRASH #endif From nobody Fri Jan 16 06:26:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsqct5Dv4z6Nq4N for ; Fri, 16 Jan 2026 06:26:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dsqct4VHpz3HCw for ; Fri, 16 Jan 2026 06:26:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768544798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p5A8NFNkve4z1RbDaWgXPQpfYDh/Ca1LC4ViFKyh1SI=; b=EaJlO14ryp6huynMKGHFV7VysorDWwyCzA0+ls2LztmNAA450KlO+Ghmdk1uH6/A2ortZP b3DTRjC9whYBnF46vsgg1gQKT85GXwMpSksQYxAd2oXb1RRz4QcLrApvdgTIcm5v4OWk3u BhfIjQWcmp5UmolETwA0RUyKJvuO2LLOEDb78QQmsv9pkYkFPfRCJqhO2Hesp1VcBQm50K NLlsTSPpN0+SeBpQ6WWHx1+FokMzPbvFQJHUxB6Ow5b+ioDPLdMw75hi9CX37cKFdcA2kE /cV0rIfnaQOrhnCxjUPu9VacKSRNcIQu0HJpDavPpi3peaxgyldZyGRMVgHicg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768544798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p5A8NFNkve4z1RbDaWgXPQpfYDh/Ca1LC4ViFKyh1SI=; b=weP8UQ/u59WSEpKHGN8zmRP6BN17/ebsPHTJvVu1RWRtbOacYGtRqTFANJgnEdrxeY2QEf QOi7s01xlY5C+kw0ql48Hwo7EdZapCmcFjcxFkIZ0Kg5i0zc+Db90mt2xLx3yqAZU8ptaU ZU38GLGY9vdRBnMru9hlpyf8I8p/MUDVptTnvnEFNnKEO0hL5OO7NDYfVgehot8/9veEG6 UG8KYyBwpS9NQeSKq2d/cExu8ajj01iUwqUiQWHyRrHN58GeHPG6Z1+GV11xCxdJIWlRbl vn/41LD+ndkCbmbftMaa45nV2brINpZlooKJ/gjk/bAZsfGo8NfwKVa/hxo/Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768544798; a=rsa-sha256; cv=none; b=RTdGlp3UuADmjMVCgSX86wWyrD6ZqKUX0FB8E7W/jmbB1KjW3oWDQfktwvlKTxa+WjkgS9 qJAYe2KKyJPKnINu0y54SZxNep4W1B/rLz83gaK0Lz5DbByCNZfLEKn81HsT5BNSMFNWnZ HcMr3M3Kasi4L7FOuPgU8DdAoe94msm99gaZo1EtkKp4sMcxpx/CyiDrcxO64j90vzC1Re en5vP+foMnZI7M0ogx9AH+jZhrNIEghBQ+tjDO7/HtDiNrDOHVLRQp66UVQFSoK3o3nkFA i71Z6WIlctoayvNnevXAkr71x5aHOM/IS/0eWS1hYqd5aphQ2OWg6hWg28UY2g== 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 4dsqct3PT1z12PJ for ; Fri, 16 Jan 2026 06:26:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f4b1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 06:26:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Adrian Chadd Subject: git: 4b5b8d69b23a - stable/15 - powerpc: fix release image building for Apple partitions 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: adrian X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4b5b8d69b23a73e932a8d46829b1ec65ba50be36 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 06:26:38 +0000 Message-Id: <6969da1e.3f4b1.1a2afc31@gitrepo.freebsd.org> The branch stable/15 has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=4b5b8d69b23a73e932a8d46829b1ec65ba50be36 commit 4b5b8d69b23a73e932a8d46829b1ec65ba50be36 Author: Adrian Chadd AuthorDate: 2026-01-11 03:59:41 +0000 Commit: Adrian Chadd CommitDate: 2026-01-16 06:26:30 +0000 powerpc: fix release image building for Apple partitions awk changed somewhere between 14 and 15 and it stopped accepting a hexadecimal number as its input - it will always return 0. This results in a very badly written apple boot block. So just remove it; do the math in shell. PR: kern/292341 Differential Revision: https://reviews.freebsd.org/D54639 Reviewed by: imp MFC after: 1 week (cherry picked from commit 7afa03963c448a14b1735a10eaf84941b0b74862) --- release/powerpc/mkisoimages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh index 705545dead4b..ac02e2513e93 100644 --- a/release/powerpc/mkisoimages.sh +++ b/release/powerpc/mkisoimages.sh @@ -75,7 +75,7 @@ if [ -n "$bootable" ]; then # Apple boot code uudecode -p "`dirname "$0"`/hfs-boot.bz2.uu" | bunzip2 > $BOOTBLOCK OFFSET=$(hd $BOOTBLOCK | grep 'Loader START' | cut -f 1 -d ' ') - OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}') + OFFSET=$((0x${OFFSET} / 512)) dd if="$BASEBITSDIR/boot/loader" of=$BOOTBLOCK seek=$OFFSET conv=notrunc bootable="-o bootimage=macppc;$BOOTBLOCK -o no-emul-boot" From nobody Fri Jan 16 08:49:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dstp23ld0z6Nypr for ; Fri, 16 Jan 2026 08:49: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 4dstp23BRJz3Vsd for ; Fri, 16 Jan 2026 08:49:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5Ev6k4AXZs554pPRcoEMZG9UOpZEzWN4m9zv8LcuqFY=; b=tYo8Dx/PC+ND+mKruaIFx1ZxnEZECMDrHOTFB5uw4iXpu+OQe5UINP192FCn/7LM77q5+X TEgEuBwQ8B0QPvxTtf+7H3ewxrSlz9r3+TI/oQieN3+QcZgTSYQVPse/zPdHcFWFNNiDMv LVG9CgI3lprGZSyZh0fW4r3Qp69hExlUK/j0M6rMil2eIJx+7Zh+j02tddshSMK9RCjj4m BNBsYgUnSzfdK00qHuJr65u8F1lIOisj1h+DZ10JSnfvdIOpmlBZFPJAWz8kXonMrA2AXW h00BW8Age+mS5rOj1Dixb9mZ0yTc+cApw5cn+kWEdEVqWOIrUfqzgh/29KmwDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5Ev6k4AXZs554pPRcoEMZG9UOpZEzWN4m9zv8LcuqFY=; b=dpPkqlIZIoctCq8PZQKEbS0PgbQPQ68Tati947Ug2lvwpR34Q1wMK5nLOMEow9rIEaU4g7 B30tE1DvhXcRLlB+hXhSuH9jTE85DdD8T2hX6XGgsdSNhNYRJ774icqw/OG56/fTLvhNWS X3vmsv0cwcys9oIqBEOyJ8uJm2IdL3WvjbeC+gf04qUys74wnXpysTLOWu0neUPy5DapbS pbWN+oKiA8QWO8wGFQMOw+W/kGtW0NK3eH82LAt0z0O6DV0wxV6hwlBtjdgxfI1y8zVzaP AYSTFB8Ky/it+8ohYu+aqYsJPsusA4UQsvchLJ/+cpHAMfwoRK2UPv3kNGQqpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768553386; a=rsa-sha256; cv=none; b=oPv2KtGxi5sPDNBKtn7/vyqCMKN0h9SF56srY8TO2xiykQrzwEEwz5zM5ykk/16bX5cqPv +CxhOU+xH1mvWIKbTQzGHRmo5yk2/scb3G+3t8RBXVMZT59yOP0nwAX6hvIaJbwkCzHAK0 a8JVOfXgWPPLx6NnBmiFapsmVHEommaEDQaTd+ja+BX+9jGBbyi+vfZCBZP69MxTxV2MQr dEVKQy5sZsYX9y4oWHPuBH6OliBfW8T/DLprzRZeVA6+cb4cHXmMaBbTeFzPMXL9HbtbNs U+bLZbftZGkBx5bwBpuuhIWyN57FqtKjAcXeG35rxtkXJgJN//Z9vcbqHS3Ivg== 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 4dstp22mqxz16Yd for ; Fri, 16 Jan 2026 08:49:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c525 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 08:49:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 605389e40b93 - stable/15 - sys/bitcount.h: add __const_bitcount 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 605389e40b938088718bd8aa75f4919884789927 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 08:49:46 +0000 Message-Id: <6969fbaa.c525.2765b555@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=605389e40b938088718bd8aa75f4919884789927 commit 605389e40b938088718bd8aa75f4919884789927 Author: Bjoern A. Zeeb AuthorDate: 2025-09-15 23:54:57 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 08:48:47 +0000 sys/bitcount.h: add __const_bitcount Add a version of __const_bitcount which can be used to get the numbers at compile-time when __builtin_popcountg() is not available (see sys/compat/linuxkpi/common/include/linux/bitops.h for LLVM before 19 and gcc before 14). Obtained from: https://reviews.freebsd.org/D50995#1174884 by obiwac Sponsored by: The FreeBSD Foundation Reviewed by: brooks, emaste Differential Revision: https://reviews.freebsd.org/D54301 (cherry picked from commit 27aa23cee81088b0ffa974eec9f03c654c36438e) --- sys/sys/bitcount.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sys/sys/bitcount.h b/sys/sys/bitcount.h index 171425032680..919dc4be06fc 100644 --- a/sys/sys/bitcount.h +++ b/sys/sys/bitcount.h @@ -39,6 +39,28 @@ #include +#define __const_bitcount8(x) ( \ + !!((x) & (1 << 0)) + \ + !!((x) & (1 << 1)) + \ + !!((x) & (1 << 2)) + \ + !!((x) & (1 << 3)) + \ + !!((x) & (1 << 4)) + \ + !!((x) & (1 << 5)) + \ + !!((x) & (1 << 6)) + \ + !!((x) & (1 << 7))) + +#define __const_bitcount16(x) ( \ + __const_bitcount8(x) + \ + __const_bitcount8((x) >> 8)) + +#define __const_bitcount32(x) ( \ + __const_bitcount16(x) + \ + __const_bitcount16((x) >> 16)) + +#define __const_bitcount64(x) ( \ + __const_bitcount32(x) + \ + __const_bitcount32((x) >> 32)) + #ifdef __POPCNT__ #define __bitcount64(x) __builtin_popcountll((__uint64_t)(x)) #define __bitcount32(x) __builtin_popcount((__uint32_t)(x)) From nobody Fri Jan 16 08:49:47 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dstp36YxXz6P00W for ; Fri, 16 Jan 2026 08:49:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dstp33vPKz3Vsf for ; Fri, 16 Jan 2026 08:49:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J1jR9dybXPyUWsio2bHUxOnBylc9KJK4XIJZVPDciSU=; b=HYHWn6/eH3pZkCACYQFVk5AGf3lkU2aEA0NRYV4+RVD8GOgMFBdk1q6nt3EVv3bIH2cH4u zM8XxGgW6NZAa/Vx8hMhyFsUkQPoZ2Ehggp759Q4uMJytt2DLNZIwOAh6Judi+6MDMwlsT Fkciy9McbS5KMDUh+XSZcmORIzoehY+2+e4jMNXF07Z/svULfT5Ne4nBYYqTKOJhE9U+IU lIFWZvef1fCjpxL9HGtdwq4jY/+pPtlqA0s//5WDMqcGz59+Ra8+v0VaFOjN89yGMmULwI dR6NsMhFEfsAP64Ar+msvrYVEoNQ74+pyBJLzECenSJzcvGJprvd1sHof0kRyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553387; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J1jR9dybXPyUWsio2bHUxOnBylc9KJK4XIJZVPDciSU=; b=MtjZc73W6G8X2eXNCmvPfDMCuTejxp+qqOHbK2n+1kaIKueAZHmMvqp1sWdAvm7O4SonaS w+ICeOh6NG2fw1y9+FSoZFbcoJtERwM0XSskuDN3IJU5IPgaxS0wftVhoEvv9r/8k3eWCY C1cebtQ0Ne4s2cfeR6dmpbEuF/uauWogILXfOU68GF7XtTvdU1NGZxr77gwZtf6TwEfENw uuauajv3ImRrE/h0xibixWAo0vrDmmT0gxTh5Ec2SWSn3Mq4qsH03hZ9A8EBlCPzje/dsM Yh0MWHb4bXgcY/GSJntghCu/CDXHtakcqxEytZ6dkrOo75pJGbsJMaIEWIG/zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768553387; a=rsa-sha256; cv=none; b=kjbUF+FFrnNFa3sD+zf7zV6oZE6/7i6j/U4uadYNMhLHnxt3bUgeWMJA8QG8BabUO6V/Q9 2hIDHWjC3B+FSnAwdAGNFZr1ta/CYaHwp0zVPUH4QyimMxdL5AAc25tc5fDftWLunkE7YO 9n4sp8uMxE8lUDxUOuJTYWjWWqoJuWtD+DF26dmWptkKqzVJ89vr0jBdj7W9B/JovzBObJ RuhZnNXoFEIjJiVyjSl5fnXPB7FTMai0+QrNf1jI7YlXefbKF15CvFMWe1RgPm4tPEdoW2 Ewrwf+mZvrPMPYxBXxT9IIo/N2Un5QIu9ePL2GAjSsDVymJLrRINTNIKrOgEbA== 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 4dstp33W2xz160k for ; Fri, 16 Jan 2026 08:49:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id add1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 08:49:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 9755a8036354 - stable/15 - LinuxKPI: bitcount fix builds with gcc and older llvm 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9755a80363549cc5504b4bb2d18a4a12e34ded28 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 08:49:47 +0000 Message-Id: <6969fbab.add1.66e69a1d@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9755a80363549cc5504b4bb2d18a4a12e34ded28 commit 9755a80363549cc5504b4bb2d18a4a12e34ded28 Author: Bjoern A. Zeeb AuthorDate: 2025-09-15 23:52:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 08:48:47 +0000 LinuxKPI: bitcount fix builds with gcc and older llvm LLVM before 19 and gcc before 14 do not support __builtin_popcountg(). Use __const_bitcount from sys/bitcount.h as a replacement in these cases. This should still allow drm-kmod to build where the size needs to be known at compile-time. Remove the conditional for gcc around the iwlwifi modules build, which was collateral damage in all this. Sponsored by: The FreeBSD Foundation Fixes: 7cbc4d875971, 5e0a4859f28a Reviewed by: brooks, emaste (without the sys/modules/Makefile change) Differential Revision: https://reviews.freebsd.org/D54297 (cherry picked from commit 34892a8e30055000352d9612ad985be550c82bea) --- sys/compat/linuxkpi/common/include/linux/bitops.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/bitops.h b/sys/compat/linuxkpi/common/include/linux/bitops.h index a5a7abd55287..8fac80820f30 100644 --- a/sys/compat/linuxkpi/common/include/linux/bitops.h +++ b/sys/compat/linuxkpi/common/include/linux/bitops.h @@ -57,10 +57,18 @@ #define hweight64(x) bitcount64(x) #define hweight_long(x) bitcountl(x) +#if __has_builtin(__builtin_popcountg) #define HWEIGHT8(x) (__builtin_popcountg((uint8_t)(x))) #define HWEIGHT16(x) (__builtin_popcountg((uint16_t)(x))) #define HWEIGHT32(x) (__builtin_popcountg((uint32_t)(x))) #define HWEIGHT64(x) (__builtin_popcountg((uint64_t)(x))) +#else +/* LLVM before 19, gcc before 14. */ +#define HWEIGHT8(x) (__const_bitcount8((uint8_t)(x))) +#define HWEIGHT16(x) (__const_bitcount16((uint16_t)(x))) +#define HWEIGHT32(x) (__const_bitcount32((uint32_t)(x))) +#define HWEIGHT64(x) (__const_bitcount64((uint64_t)(x))) +#endif static inline int __ffs(int mask) From nobody Fri Jan 16 08:49:48 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dstp46cNrz6Nyrk for ; Fri, 16 Jan 2026 08:49:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dstp45FHjz3W1d for ; Fri, 16 Jan 2026 08:49:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SUOER8zII1V0XeySN911OAiEaVML7LcDmcJWj2pmvi8=; b=nJuE3aZnY6cs9YMNtzQIDnFtugTdRFI5P2eDRoaPNauMlenS67oC97JtVxPM70tR4e2jeI gmTBBeMal4nixmB4E99v/OjQ0SFBOi819mD2FgPEkQ5TItk0oHGhZ864dkJiOkTLA2OyXS 4ctxeoLqUb+RogzjpeVwAUXERqa3EWEDGWPYmoJCemDGU78A9/b++rC4ahz1/8smY4s36g 4IpMqQQDN82Cl+4Kvz0MMnUY8of6ET2X+cGEJysuujDk5n7rOzyBoxgKIgygR/rqr2qC5s SnRIrl9lq1NG8WmwaSU9jovO/OJuQ+Y/FhOAB8MrYcgRaAgfS0OV2MBgmr4cNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SUOER8zII1V0XeySN911OAiEaVML7LcDmcJWj2pmvi8=; b=w/G69UWxmAVdvGp043WfVHl82n8OqVPPgUhgbaf6KONrs0OkbZ2yqWzfthPcI6FnJdkDFP Cc68hJHhFa55Wh1OIFUFXSVk6yHYdg8/OeeCLaH3kn9fx3Rt7Gmdz9mbHP3dmrsA8s9ZM5 BphaBP/0g45/Mgg4BVTpFfl18ITrvozBmvS1b6HKcG/v74bUGlfbpkEEN9TObLt+/7YUZm ApOWmeU4pAWMasSGraFju7ji8AV2aqDlET6lqyuZ/c01EuCyF4ZelYGuN64jhNuvErfXd2 qtUPlWSTWXExjmlYZQHD5QalqpIR7JIITJqoxizTxWiqFcUqqeH6unzWA6NCvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768553388; a=rsa-sha256; cv=none; b=Yx1caA4VP/x00Ohgv5wJ9lpxJKsvuEu7EvwK7ghj9sERETSVBPi4Yw/FPXIc0uFr1OMaQy 4AhHbUcRypRgb9CLvcsVxLHY0lU+aSmQE7S5TH7mm4JNOAu6jd/dAb8LgbzwJzn1yLUtKo aCPnwyHnCnkR1bVAU3M7+8fViwXDdj5G9U/XasIpCYv8r2w+9O1N5/LVwgjD0UPo9BNPnS 5d6hDWmZ/zbGsBn4cftiiI3UbTe10HmNZs7hcZGDM0JgJz7etbJ+anoozcCLf/IKJkrFCv nD0mTmy4pCjo11UnR9wO61QGSkyZUY43ID4UGAh/+oMllvK1eHFV2AI4orddfg== 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 4dstp44NGqz16W2 for ; Fri, 16 Jan 2026 08:49:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id caf5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 08:49:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 6b9c0ac008a9 - stable/15 - LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6b9c0ac008a9c52b21b05c96ead6def41aa89ead Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 08:49:48 +0000 Message-Id: <6969fbac.caf5.1a3b6d43@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6b9c0ac008a9c52b21b05c96ead6def41aa89ead commit 6b9c0ac008a9c52b21b05c96ead6def41aa89ead Author: Bjoern A. Zeeb AuthorDate: 2025-12-28 17:03:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 08:48:47 +0000 LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by queue information. This was helpful for debugging various issues, like selecting the outbound queue, stopping queues for BAR and helped finding multiple bugs. Sponsored by: The FreeBSD Foundation (cherry picked from commit 32ea8209825af594cbfa1fc654d45eb9a6aab528) --- share/man/man4/linuxkpi_wlan.4 | 9 +++- sys/compat/linuxkpi/common/src/linux_80211.c | 78 ++++++++++++++++++++++++++-- sys/compat/linuxkpi/common/src/linux_80211.h | 4 ++ 3 files changed, 85 insertions(+), 6 deletions(-) diff --git a/share/man/man4/linuxkpi_wlan.4 b/share/man/man4/linuxkpi_wlan.4 index 136e04c32bb7..65c77d8d7631 100644 --- a/share/man/man4/linuxkpi_wlan.4 +++ b/share/man/man4/linuxkpi_wlan.4 @@ -6,7 +6,7 @@ .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. .\" -.Dd June 13, 2025 +.Dd December 28, 2025 .Dt LINUXKPI_WLAN 4 .Os .Sh NAME @@ -112,6 +112,13 @@ Print statistics for a given, associated .Xr wlan 4 interface; typically IF would be .Em wlan0 . +.It Va compat.linuxkpi.80211.IF.dump_stas_queues +Like +.Va compat.linuxkpi.80211.IF.dump_stas +but also print queue statistics. +This sysctl is +.Sq hidden +and normally only needed for debugging purposes. .El .Sh SEE ALSO .Xr iwlwifi 4 , diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 02724433d89d..28c9c62309fe 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -282,7 +282,7 @@ lkpi_nl80211_sta_info_to_str(struct sbuf *s, const char *prefix, } static void -lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) +lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s, bool dump_queues) { struct lkpi_hw *lhw; struct ieee80211_hw *hw; @@ -292,6 +292,7 @@ lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) struct ieee80211_sta *sta; struct station_info sinfo; int error; + uint8_t tid; vif = LVIF_TO_VIF(lvif); vap = LVIF_TO_VAP(lvif); @@ -376,6 +377,39 @@ lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) sbuf_printf(s, " he_dcm %u he_gi %u he_ru_alloc %u eht_gi %u\n", sinfo.txrate.he_dcm, sinfo.txrate.he_gi, sinfo.txrate.he_ru_alloc, sinfo.txrate.eht_gi); + + if (!dump_queues) + continue; + + /* Dump queue information. */ + sbuf_printf(s, " Queue information:\n"); + sbuf_printf(s, " frms direct tx %ju\n", lsta->frms_tx); + for (tid = 0; tid <= IEEE80211_NUM_TIDS; tid++) { + struct lkpi_txq *ltxq; + + if (sta->txq[tid] == NULL) { + sbuf_printf(s, " tid %-2u NOQ\n", tid); + continue; + } + + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); +#ifdef __notyet__ + sbuf_printf(s, " tid %-2u flags: %b " + "txq_generation %u skbq len %d\n", + tid, ltxq->flags, LKPI_TXQ_FLAGS_BITS, + ltxq->txq_generation, + skb_queue_len_lockless(<xq->skbq)); +#else + sbuf_printf(s, " tid %-2u " + "txq_generation %u skbq len %d\n", + tid, + ltxq->txq_generation, + skb_queue_len_lockless(<xq->skbq)); +#endif + sbuf_printf(s, " frms_enqueued %ju frms_dequeued %ju " + "frms_tx %ju\n", + ltxq->frms_enqueued, ltxq->frms_dequeued, ltxq->frms_tx); + } } wiphy_unlock(hw->wiphy); } @@ -393,7 +427,28 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) sbuf_new_for_sysctl(&s, NULL, 1024, req); - lkpi_80211_dump_lvif_stas(lvif, &s); + lkpi_80211_dump_lvif_stas(lvif, &s, false); + + sbuf_finish(&s); + sbuf_delete(&s); + + return (0); +} + +static int +lkpi_80211_dump_sta_queues(SYSCTL_HANDLER_ARGS) +{ + struct lkpi_vif *lvif; + struct sbuf s; + + if (req->newptr) + return (EPERM); + + lvif = (struct lkpi_vif *)arg1; + + sbuf_new_for_sysctl(&s, NULL, 1024, req); + + lkpi_80211_dump_lvif_stas(lvif, &s, true); sbuf_finish(&s); sbuf_delete(&s); @@ -4173,6 +4228,11 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], SYSCTL_CHILDREN(node), OID_AUTO, "dump_stas", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, lvif, 0, lkpi_80211_dump_stas, "A", "Dump sta statistics of this vif"); + SYSCTL_ADD_PROC(&lvif->sysctl_ctx, + SYSCTL_CHILDREN(node), OID_AUTO, "dump_stas_queues", + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_SKIP, lvif, 0, + lkpi_80211_dump_sta_queues, "A", + "Dump queue statistics for any sta of this vif"); IMPROVE(); @@ -5690,6 +5750,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) LKPI_80211_LTXQ_LOCK(ltxq); skb_queue_tail(<xq->skbq, skb); + ltxq->frms_enqueued++; #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) printf("%s:%d mo_wake_tx_queue :: %d %lu lsta %p sta %p " @@ -5719,6 +5780,7 @@ ops_tx: control.sta = sta; wiphy_lock(hw->wiphy); lkpi_80211_mo_tx(hw, &control, skb); + lsta->frms_tx++; wiphy_unlock(hw->wiphy); } @@ -8121,6 +8183,8 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, LKPI_80211_LTXQ_LOCK(ltxq); skb = skb_dequeue(<xq->skbq); + if (skb != NULL) + ltxq->frms_dequeued++; LKPI_80211_LTXQ_UNLOCK(ltxq); stopped: @@ -8769,18 +8833,21 @@ linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { struct lkpi_hw *lhw; - struct ieee80211_txq *ntxq; - struct ieee80211_tx_control control; - struct sk_buff *skb; lhw = HW_TO_LHW(hw); LKPI_80211_LHW_TXQ_LOCK(lhw); ieee80211_txq_schedule_start(hw, txq->ac); do { + struct lkpi_txq *ltxq; + struct ieee80211_txq *ntxq; + struct ieee80211_tx_control control; + struct sk_buff *skb; + ntxq = ieee80211_next_txq(hw, txq->ac); if (ntxq == NULL) break; + ltxq = TXQ_TO_LTXQ(ntxq); memset(&control, 0, sizeof(control)); control.sta = ntxq->sta; @@ -8788,6 +8855,7 @@ linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, skb = linuxkpi_ieee80211_tx_dequeue(hw, ntxq); if (skb == NULL) break; + ltxq->frms_tx++; lkpi_80211_mo_tx(hw, &control, skb); } while(1); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index fcbef46fc6de..d4f18fcafbba 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -154,6 +154,9 @@ struct lkpi_txq { bool stopped; uint32_t txq_generation; struct sk_buff_head skbq; + uint64_t frms_enqueued; + uint64_t frms_dequeued; + uint64_t frms_tx; /* Must be last! */ struct ieee80211_txq txq __aligned(CACHE_LINE_SIZE); @@ -180,6 +183,7 @@ struct lkpi_sta { bool in_mgd; /* XXX-BZ should this be per-vif? */ struct station_info sinfo; /* statistics */ + uint64_t frms_tx; /* (*tx) */ /* Must be last! */ struct ieee80211_sta sta __aligned(CACHE_LINE_SIZE); From nobody Fri Jan 16 08:49:49 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dstp62X1Vz6P03Q for ; Fri, 16 Jan 2026 08:49:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dstp60CfCz3Vsv for ; Fri, 16 Jan 2026 08:49:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cmk5gK6ebBSBS0uFce6Ih+5787Hfzl6NEwP/C2qEunw=; b=VHYiZs6+T8ixUGo8F6F9VXmiLK9zdLtQNIvUUtXFvnAHUP8pBSMUBf2qEx9+bL4cZDZexj Dz8szHGDzEQ07vKYsUwx4b8X5u+A/hRsG7U9w0+uey8s++8D/0QYH36IMQAVTd4U2ZS5Lf 1wYm2odsHF+Txov370zy/DxCqG8lapbvqlDsZqPM/0I12nr4CwW1ZjMw/+ok+sDXGrlejP t4kazIYLsuTVAMSf2ddGnBuZeSLUH+1bBkGP0ST/HuRSA9hyszlBGiBOsaM+tzHcLLT1H3 FraBLoLm7mLInIlIZDfBonLUkybE71eEqvXWO05ag3k6ldW1ZBJG7Rbm3xf2LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cmk5gK6ebBSBS0uFce6Ih+5787Hfzl6NEwP/C2qEunw=; b=CtJKg5Bj+HjqoprVacAOrrkf78K9M0yvVXjYezwwsdOG9HParfRKPlijVLV1Hjhxvtb9A2 /5CqvK+aNhe37HSJZtOje2VGoloby5HXfOndzBUaV7Ax6FRaHV6jtK4ygeSBZ7+7thvRS9 TkzczATPDfv68OFbcjdaDGX8PudmuwGqGyvNadB+h2xgu6EWlFHkLNKQabDzL8A2pIlD/k hB1fvsDXh741itqZt/jpO5r0jGmESRICRyFAMy/ynoRlaT7gCNJW72FkMu8f1WXMYzJ49z qFpgvG9OOX1AKfWw8ZaNWBpilEuMNxvI5QT2aXM2uAXK/fTYdScIKsHKl+pmwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768553390; a=rsa-sha256; cv=none; b=ZRsad2u7t3yb1RlXOtojY1uhKj+6WRjiY8QN3Uar8LH2z6f01Sx43uriwAM6GtfMRiHmB7 ChfyIqdZ+NjKOA2u5XtLbBbdzfpOtuzQYL7tzG+ty1ChlXiWab4gaunXdxlvatmPazP6N/ LZkaHh9EBGPAC0SdcyASoF871m4GM3QLvh7bBgRnHv1Nj4T0VwATigvTsabwXniV1jOXxr Zj1qK1B5CUQkg+Bn2uHvALAlAsi+adlUxiDRndXPPCHQdFVE8VKIp0E/wZysNq7RSYz7lD ZH4iG9R/nmtZk3WDRH+HDVnMDKwftwxOetCuk0DOF/yQwM6EdZrnOCccfl7MPQ== 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 4dstp55L10z16W3 for ; Fri, 16 Jan 2026 08:49:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b43f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 08:49:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 6e2b55242d59 - stable/15 - LinuxKPI: 802.11: assign sequence numbers to frames 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6e2b55242d593fb1d7a298cb70b6fdeaa57a50b5 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 08:49:49 +0000 Message-Id: <6969fbad.b43f.431d2e1b@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6e2b55242d593fb1d7a298cb70b6fdeaa57a50b5 commit 6e2b55242d593fb1d7a298cb70b6fdeaa57a50b5 Author: Bjoern A. Zeeb AuthorDate: 2025-12-28 17:06:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 08:48:48 +0000 LinuxKPI: 802.11: assign sequence numbers to frames While all native drivers were converted to call ieee80211_output_seqno_assign() after changes to net80211 if needed, LinuxKPI 802.11 was not fixed. Add the missing call. Given we are currently only supporting STA mode, we can provide sequence numbers for all frames (mgmt/beacon would be a problem in AP mode). This greatly helps LinuxKPI based drivers other than iwlwifi(4). If drivers do their own sequence numbers, they will overwrite what we pre-set unless we would pass a txflag not to do so (beware the consequences). Sponsored by: The FreeBSD Foundation Fixes: eabcd1773fa3, 785edcc2af5a (cherry picked from commit 9cf85457b13bc7aa125388d63c82acf2b21e9e9e) --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 28c9c62309fe..45c46a4d34f7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5573,6 +5573,8 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) #endif ni = lsta->ni; + ieee80211_output_seqno_assign(ni, -1, m); + k = NULL; keyix = IEEE80211_KEYIX_NONE; wh = mtod(m, struct ieee80211_frame *); From nobody Fri Jan 16 08:49:50 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dstp71Dbnz6NyxC for ; Fri, 16 Jan 2026 08:49: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 4dstp66fXKz3W23 for ; Fri, 16 Jan 2026 08:49:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cp+5Hulrht5V12v8+41/7s2md6kEZR0QePzBM7UVvgc=; b=AjD2viooGI8dOru+Hq47oft3A5S7bh4h4uhCaZqP8QvfWkILYeKstLqeofGwCDtdabtsFr HWVoxD6lYhRRMbgALta3vPcXStoDR/Co0rTsavfez/akOPtrKtusN9vYzq/ah/7VtrXpEl hN4m8IS0wjlLcRhC74GF4hJvvI5MBdZZqcDataHwSUho7UMXVymyUCTyXIPaSkb+2mnhv8 lkdGo0691kbBkPuU2Y3CtWsfNRR6/uRKuy2QC5c4KFhesmzD1VsfJjRf4Pf7gh4c9OKiFo p55doQ6Rzrhi862h+Tjw3bq423NOl6AEdk8FAoDPD5dG9W5ko1ZrBS/5aqD+wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cp+5Hulrht5V12v8+41/7s2md6kEZR0QePzBM7UVvgc=; b=pIHZTvFuCIjIV82WgAVJRs6J+1kbNUJmrRE1hq6f5WZIeUeJc5K/qUrHUR8YMwLqDDuL4j MBf8LleXnPRyWHa2nPi/I1NDelRwQirQdpolcVnAXYJQhIT7MtZomp267q7mu94gvsDuDK uO0XGKuskee0sej741i6VFHvjZE1tNwbI/j2KL/RHHWCd6Knp/tsuTdV0Az6tLw9zlXHBp VFYACwFiwNrRfo1hp3bvrTRhcMFP07dWA7t2OpGJuYajHwju3gIwOfjObmwcC3smPPZRWf DfpGSM5Sj1cd5Kk0ZBNFE4cv4OdxdNY/tQtBk7aSLoysfc4IaqEzhO+coIj3bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768553390; a=rsa-sha256; cv=none; b=r7Lvvlo7Ibpn23wlLy5H4+cGUxH25YVOEu9bW4UaHU90Pqii2DzYLXD/B8fJdr0pa1yTAQ EFmmBB44WJwKFFKT5ElP4NG3sMkSf56joFcHbPC2KYvcFxGctwHe1qyB7D7WJ09fnUJjw9 BOY2ewKsoiZgTQvm6AsnbMIeEIyhu3/N6oXE7PqBHaiLRkkzS/G/HaQOJU7LPK/onlFr20 mnwYMLWbQg2Qo32LkF+gxQwDZiFJnxqxd5HZd3xCWiwkFPrv6MCcJ78/CsoJ/H8PPt6oAc GHe+SJM/ncOR4iSuuMatiu/SvY5ALz/4HQJtOU8UwR2Jz9BSeIbd53Ea6rHR0Q== 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 4dstp663QWz16W4 for ; Fri, 16 Jan 2026 08:49:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id b7b4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 08:49:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4d255abe992f - stable/15 - LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4d255abe992fef69c97ce10991d815eda638c76d Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 08:49:50 +0000 Message-Id: <6969fbae.b7b4.1ec281fa@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4d255abe992fef69c97ce10991d815eda638c76d commit 4d255abe992fef69c97ce10991d815eda638c76d Author: Bjoern A. Zeeb AuthorDate: 2025-12-28 17:15:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 08:48:48 +0000 LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one() When lkpi_80211_txq_tx_one() calls into the crypto offloading parts to possibly make space in the headroom, the beginning of our frame moves. We have to reset hdr after that call as otherwise later classifications based on the hdr->frame_control will fail or cause wrong classificaiton of packets. This makes sure frames will either be directly sent using (*mo_tx)() or use the correct tid for the correct queue. This helps to get rtwx8 packets flowing after BA was negotiated. Sponsored by: The FreeBSD Foundation Fixes: 11db70b6057e4 (cherry picked from commit f0395993e1ea83705e0da6623843e7d5d03f7269) --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 45c46a4d34f7..f4b534122b87 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5729,6 +5729,8 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) dev_kfree_skb(skb); return; } + /* Reset header as data might have moved. */ + hdr = (void *)skb->data; } #endif From nobody Fri Jan 16 08:49:51 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dstp82h1Sz6P03V for ; Fri, 16 Jan 2026 08:49: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 4dstp807q2z3Vvs for ; Fri, 16 Jan 2026 08:49:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=199b+0u9qoJc67w0hnBPdNgNnNyJEa8LUCnzx5/SRlQ=; b=PR4bS8YSFO1iD48t0iiJDoziPvYDr9USnd01GVHhIkF9K4SEdCWcmp6ntYCpT00URrKqHC 4rZWBnemezYI1O2ajPlWNdv+rJRVqqF0g+Z7FEV3A1UbY+UnFjvMj08D4nxo6wWbAkXVM8 uHBOQ+oG6mtyQpRJng2ec3RWhOP/8jA2Uv/fzW6ezHFXRUzXC/uQGMui5U8WcZZGHi0VUc OT0+fR6l/KQLTe5PZgoQrCTH0hpDRD27f/111DIOPYVoZCz35VSEkGBXTXtu4zKOg5Tle3 99n7+llpCugj2zefJT9fjtzc7us/VijKqZop6rJU4ZFRmZdcxjHBunnVzEGuZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768553392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=199b+0u9qoJc67w0hnBPdNgNnNyJEa8LUCnzx5/SRlQ=; b=VuEo/u1O4PLMTv/uHWhAg3gzRD4+/GVxX+voCwjpOvA8YUoN2R+1JmXrJ8EV5iGqgqpFZW qweUKTRHFq2HsvdsTeAAmylH5Brbn53uEK77JIGjy1nre52cQqwwloSRehFKTk8NUpKV3Y QefQEgS+ovxmzM3DbvObRrD4pW2weIhB4mpMUbkmpUnHRd7Z8DaWvKLelTP4RN1rq/L2Yb I+pIHjPe9WyxYAFtiChgh5oSzI2DKKByX1TpldGa8bjDSQRAkB1/PpmkZNsuhwYmt1jfNL MXT7ZN3yqVqxy8tnB7G8hTTKZdjkm9TRLst6DTWepHruiKUFi18Um3+uG1hpGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768553392; a=rsa-sha256; cv=none; b=vmvP3hqKlgC5DPWtcFUeU61M8FtFpe8TC2TTOiq+KlJXdTF/ShzjcdOeVaf3ZFLeklZz6T oYuq/wliD98Z4KBqnLuhYAfMx1pkrCiteRJB/Of6Vd/rsGaSCc1fmqktgG6l0R8GaGkFwB MvMdpvdXv2ujzgd6+gaLG+8J59Bb4JfxwRYfdoX5FyY/L8lkeGEL1XwKu6C17RFpTqgA+O eMBDomlN9qx96IwqYGHldokwEcax5nBZK23THGWBg0AGq+Vtbc7JDvKCoC+kiIvEaTjXwe GOj9UYzddg9Mh22LanSOzVSh0aN80FemfTdZALuOP7g+1KI8cwol4Ho6xFpdhg== 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 4dstp76rPdz16Yh for ; Fri, 16 Jan 2026 08:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca49 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 08:49:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: d141ee159502 - stable/15 - LinuxKPI: 802.11: fix rx_nss with VHT 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d141ee159502e620ed8be4e0670d106414d92b53 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 08:49:51 +0000 Message-Id: <6969fbaf.ca49.5a4cb639@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d141ee159502e620ed8be4e0670d106414d92b53 commit d141ee159502e620ed8be4e0670d106414d92b53 Author: Bjoern A. Zeeb AuthorDate: 2025-12-28 19:38:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 08:48:48 +0000 LinuxKPI: 802.11: fix rx_nss with VHT When fixing single-stream chipsets, like iwlwifi(4) AX101, we started masking the announced with the hardware supported values. This would probably limit, e.g., rx_nss. During these works we fixed a loop checking from the highest nss=7 to lowest nss=0 (8..1) and would set rx_nss if the stream was supported. This left us with always setting rx_nss on nss=0 to nss + 1 = 1. Instead only update once when we hit the first supported MCS value (highest number of supported streams). Looking at the diff of the mentioned commit hash which gets fixed it looks like even the old code was not correct either. This only fixes the logic to calculate rx_nss. This does not yet help with modern drivers to actually update the value. Code for this will come in a later commit. Sponsored by: The FreeBSD Foundation Fixes: adb4901ac9ae (cherry picked from commit 8494be1b5af7fe4f765532f802ac0a145e061d73) --- sys/compat/linuxkpi/common/src/linux_80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f4b534122b87..1ac28dfef448 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -693,7 +693,8 @@ skip_bw: sta = IEEE80211_VHT_MCS_NOT_SUPPORTED; else { sta = MIN(sta, card); - rx_nss = i + 1; + if (rx_nss == 0) + rx_nss = i + 1; } } rx_map |= (sta << (2 * i)); From nobody Fri Jan 16 09:29:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsvh81WHMz6P2CZ for ; Fri, 16 Jan 2026 09:29: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 4dsvh76FdRz3cfk for ; Fri, 16 Jan 2026 09:29:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768555783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PcOyw9Ed0SqVwp5s56Ais+pDaV+IjUB2+S8gQ3/bnfg=; b=Eq7PJFXtXNsysE8URknCodDY5oFRvnPOODZf6Skwhqrlxnth1QYxHD+5KPHoWpZucRJaGc YCIbe0YjAuAeAVk39kjMp1nSL7zUKcOp0K79I3QSNQBtTHah/AHSVHDVegF/3sGYjKtf/n Fu6zhMvT20wA+2tIx+XUVSA/OL6ZbabBW8s9pxVk60xUei5bN3UF9gbac2bSwuqPbcUj49 qPBX7SikUHgHATDkU3kADX3+rKEb6lFFnYQRagcjbW0BtGS0G7fSyxPYSmEK8/ZkUlOi6k 3VEnV1KwRPZLNn8WX2fFKoZbloz6qNG1AdngN1IWxtlhnC53dAX8mSdPIJxmyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768555783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PcOyw9Ed0SqVwp5s56Ais+pDaV+IjUB2+S8gQ3/bnfg=; b=gOUxnbf1p+GHScvs+DdAd0hmhI/1RCIpYcGgaaX1D/0Db6ymkcUeQEbkIe0/xN66IFd8/z 3iwqvkOKt3ecjAYE/VywmNgnaIRegCPEnUC7qH43AzDoyWgFB7vSYz0H51i7wD/nF4ltMH vyw2sPQqsEjcs3GOqWehZMlEIxpQkqj87MvMGPgjlBnivMtGptPuPf8OplZTpB+gvmKNDN 88sImNPR9/jOMByHGRTcZ6wEvKuG1hvIwfvd78SBRw+p90tJJm7uE6A/F2f8cA2VLMcxJI tUaEqFBodAxiOx3oh7/x+wLUrKRXUVpVgXR4DrMki86xX+dxI5Loia0Wu6G1/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768555783; a=rsa-sha256; cv=none; b=f+ld5wOF5GkVBbLq50522qXB1rdDRUnEigIMVxPbuLxW1ogNKzd6Vms5NTbMrDOY6ph/fV lczY6SEM0p62/oq+5djpga8rHnyJP3jkWSvkQjIlHvEEGw79p7lqdatfbt4LvRx2T+FcrW Tbv1EFRMP4PghEAqrr3eKI6Y+KZ+WVsZkBVhqStYRSkXzP9Wij4EO5pAXzsgAXKgIVfpBR pXxzH1Htwj2mZyTn1xkk+73hWtrwy+GF45I41mgnD8Hc4Od6t/AHSDREebk+IXubG6Mwvs +D4+nm8wOYcdJzXevIpSvTuUB2q8yBMGEDAUxiSxlO97ay0HNByorc5RKRHy7w== 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 4dsvh75Hp6z17JY for ; Fri, 16 Jan 2026 09:29:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 204ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:29:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: 484edabb9455 - stable/15 - iflib: remove convoluted custom zeroing code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 484edabb945582de7e212ff3f3b1ec889070dc50 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:29:43 +0000 Message-Id: <696a0507.204ee.388f0e6a@gitrepo.freebsd.org> The branch stable/15 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=484edabb945582de7e212ff3f3b1ec889070dc50 commit 484edabb945582de7e212ff3f3b1ec889070dc50 Author: Brooks Davis AuthorDate: 2026-01-09 14:19:49 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:25:07 +0000 iflib: remove convoluted custom zeroing code Replace a collection of aliasing violations and ifdefs with memset (which now expands to __builtin_memset and should be quite reliably inlined.) The old code is hard to maintain as evidenced by the most recent change to if_pkt_info_t updating the defines, but not the zeroing code. Reviewed by: gallatin, erj Effort: CHERI upstreaming Sponsored by: Innovate UK Fixes: 43d7ee540efe ("iflib: support for transmit side nic KTLS offload") Differential Revision: https://reviews.freebsd.org/D54605 (cherry picked from commit 31e7dc6b9a000b02353bfc41cbd897533287cda2) --- sys/net/iflib.c | 65 +++++---------------------------------------------------- 1 file changed, 5 insertions(+), 60 deletions(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 308ecad0a846..2b8d0901032f 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -477,61 +477,6 @@ typedef struct if_rxsd { iflib_fl_t ifsd_fl; } *if_rxsd_t; -/* multiple of word size */ -#ifdef __LP64__ -#define PKT_INFO_SIZE 6 -#define RXD_INFO_SIZE 5 -#define PKT_TYPE uint64_t -#else -#define PKT_INFO_SIZE 11 -#define RXD_INFO_SIZE 8 -#define PKT_TYPE uint32_t -#endif -#define PKT_LOOP_BOUND ((PKT_INFO_SIZE / 3) * 3) -#define RXD_LOOP_BOUND ((RXD_INFO_SIZE / 4) * 4) - -typedef struct if_pkt_info_pad { - PKT_TYPE pkt_val[PKT_INFO_SIZE]; -} *if_pkt_info_pad_t; -typedef struct if_rxd_info_pad { - PKT_TYPE rxd_val[RXD_INFO_SIZE]; -} *if_rxd_info_pad_t; - -CTASSERT(sizeof(struct if_pkt_info_pad) == sizeof(struct if_pkt_info)); -CTASSERT(sizeof(struct if_rxd_info_pad) == sizeof(struct if_rxd_info)); - -static inline void -pkt_info_zero(if_pkt_info_t pi) -{ - if_pkt_info_pad_t pi_pad; - - pi_pad = (if_pkt_info_pad_t)pi; - pi_pad->pkt_val[0] = 0; pi_pad->pkt_val[1] = 0; pi_pad->pkt_val[2] = 0; - pi_pad->pkt_val[3] = 0; pi_pad->pkt_val[4] = 0; pi_pad->pkt_val[5] = 0; -#ifndef __LP64__ - pi_pad->pkt_val[6] = 0; pi_pad->pkt_val[7] = 0; pi_pad->pkt_val[8] = 0; - pi_pad->pkt_val[9] = 0; pi_pad->pkt_val[10] = 0; -#endif -} - -static inline void -rxd_info_zero(if_rxd_info_t ri) -{ - if_rxd_info_pad_t ri_pad; - int i; - - ri_pad = (if_rxd_info_pad_t)ri; - for (i = 0; i < RXD_LOOP_BOUND; i += 4) { - ri_pad->rxd_val[i] = 0; - ri_pad->rxd_val[i + 1] = 0; - ri_pad->rxd_val[i + 2] = 0; - ri_pad->rxd_val[i + 3] = 0; - } -#ifdef __LP64__ - ri_pad->rxd_val[RXD_INFO_SIZE - 1] = 0; -#endif -} - /* * Only allow a single packet to take up most 1/nth of the tx ring */ @@ -1040,7 +985,7 @@ iflib_netmap_txsync(struct netmap_kring *kring, int flags) if (nm_i != head) { /* we have new packets to send */ uint32_t pkt_len = 0, seg_idx = 0; int nic_i_start = -1, flags = 0; - pkt_info_zero(&pi); + memset(&pi, 0, sizeof(pi)); pi.ipi_segs = txq->ift_segs; pi.ipi_qsidx = kring->ring_id; nic_i = netmap_idx_k2n(kring, nm_i); @@ -1233,7 +1178,7 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int flags) nm_i = netmap_idx_n2k(kring, nic_i); MPASS(nm_i == kring->nr_hwtail); for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, avail--) { - rxd_info_zero(&ri); + memset(&ri, 0, sizeof(ri)); ri.iri_frags = rxq->ifr_frags; ri.iri_qsidx = kring->ring_id; ri.iri_ifp = ctx->ifc_ifp; @@ -2957,7 +2902,7 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) /* * Reset client set fields to their default values */ - rxd_info_zero(&ri); + memset(&ri, 0, sizeof(ri)); ri.iri_qsidx = rxq->ifr_id; ri.iri_cidx = *cidxp; ri.iri_ifp = ifp; @@ -3572,7 +3517,7 @@ iflib_encap(iflib_txq_t txq, struct mbuf **m_headp) } m_head = *m_headp; - pkt_info_zero(&pi); + memset(&pi, 0, sizeof(pi)); pi.ipi_mflags = (m_head->m_flags & (M_VLANTAG | M_BCAST | M_MCAST)); pi.ipi_pidx = pidx; pi.ipi_qsidx = txq->ift_id; @@ -4223,7 +4168,7 @@ iflib_if_transmit(if_t ifp, struct mbuf *m) if (ctx->isc_txq_select_v2) { struct if_pkt_info pi; uint64_t early_pullups = 0; - pkt_info_zero(&pi); + memset(&pi, 0, sizeof(pi)); err = iflib_parse_header_partial(&pi, &m, &early_pullups); if (__predict_false(err != 0)) { From nobody Fri Jan 16 09:29:55 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dsvhN1FTRz6P26x for ; Fri, 16 Jan 2026 09:29: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 4dsvhN00fdz3cnd for ; Fri, 16 Jan 2026 09:29:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768555796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TD5RO7pTKFktmhgu28w1+EI92bszH51hXTZbWUO820o=; b=gLji438V4FjLQXbR67KN5A+Ad9AmJ57t8LNmiDD6LxPXvoOXjmAiVIxla7ilpU5ossHo6V HdkwvoOas+Gwsen3aHFlhHmNcocGr3sR51ythkVkMoGQGV7hrFb3q68vz++bxvCFMGJg3F HlIZVGPyaR0Dy6J1b8Y+FJGPDiGt65vL6f04S40cI38mpVrn4Za17jjOgTjQuWBES015Hg 9dXG59julee8i2xX6sKsTeXWmO2zSvEH4MYa37xVby2HhXcqJjt+4QbIl5tJb8E/xusxaz Z5d/HZb/uoVkYm8y/kI4hwhHOSIrOubmVXV6bBP2LjfpoUADKHSONv59b27fCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768555796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TD5RO7pTKFktmhgu28w1+EI92bszH51hXTZbWUO820o=; b=k4dwvn4GFf7zbqckSHJXfwGOaYBIbKIsjkhh58kL49o46MkCd+r0QCwengTgswiPRdMqeH 2iT7GGONUhRNmAEcKoHYVFw64oG3Q/1UKphmrt5uA005UTHxiyLkqkHUwbL7UxuAN0KHk2 jOTC+kFUsumZukBMa8gHjgiS1O83A0rG5ENDZ70FXI9Q1uOTIOCu6pX0tslkIzg+Nodhiw X4mXQV9H8PD7XkffvretHunuqdZuOBBMvgsIFaDoaTUgz9pVMR9CsNgT2xWc9/t5mVVFoY ofhs8OV4Bdsc4efgqeTwqw9ITBmO34Qb8v7lvN5jvYwrZh5XABseEKCcAj5zkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768555796; a=rsa-sha256; cv=none; b=V/n8XFqXxlHyVXCaONkRxnLlBtkWfMim9062bjcfaVELoaA1MWzKd1VFP0CS3gLXfxLG6/ Igq3ECvbqhN4i4YwdqCPHqjBmnOWpMMD+Eh9/6gb4IEDGpvOOX8oo7m5IVwrZfNYOsSWje 54bJJadsGpR0cv/kT/AOM5vahrPV1l5gcmYqOqo3ndRK1w5KOLHOr4+7jCcOR2EHBl8qQm zgEyXC3vzcDlO0CrAo51S1+MxhP1nRTD5Amh7pbgZ8y0CCmizfQZ8tqHWQoviK9JGf08a7 nGBJnsWZnVlDeo3NQ3P8M5qiw3sYxBkPe637FdWVGGdaHFKMwDLTRiPoW0R8Wg== 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 4dsvhM6hzpz17b9 for ; Fri, 16 Jan 2026 09:29:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21585 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 09:29:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Brooks Davis Subject: git: 296ebf7b8a50 - stable/14 - iflib: remove convoluted custom zeroing code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 296ebf7b8a50b24b4950b7bd92e170ee224e6671 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 09:29:55 +0000 Message-Id: <696a0513.21585.1d15848@gitrepo.freebsd.org> The branch stable/14 has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=296ebf7b8a50b24b4950b7bd92e170ee224e6671 commit 296ebf7b8a50b24b4950b7bd92e170ee224e6671 Author: Brooks Davis AuthorDate: 2026-01-09 14:19:49 +0000 Commit: Brooks Davis CommitDate: 2026-01-16 09:25:03 +0000 iflib: remove convoluted custom zeroing code Replace a collection of aliasing violations and ifdefs with memset (which now expands to __builtin_memset and should be quite reliably inlined.) The old code is hard to maintain as evidenced by the most recent change to if_pkt_info_t updating the defines, but not the zeroing code. Reviewed by: gallatin, erj Effort: CHERI upstreaming Sponsored by: Innovate UK Fixes: 43d7ee540efe ("iflib: support for transmit side nic KTLS offload") Differential Revision: https://reviews.freebsd.org/D54605 (cherry picked from commit 31e7dc6b9a000b02353bfc41cbd897533287cda2) --- sys/net/iflib.c | 65 +++++---------------------------------------------------- 1 file changed, 5 insertions(+), 60 deletions(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 65d383e2d51e..0a90c417cc80 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -474,61 +474,6 @@ typedef struct if_rxsd { iflib_fl_t ifsd_fl; } *if_rxsd_t; -/* multiple of word size */ -#ifdef __LP64__ -#define PKT_INFO_SIZE 6 -#define RXD_INFO_SIZE 5 -#define PKT_TYPE uint64_t -#else -#define PKT_INFO_SIZE 11 -#define RXD_INFO_SIZE 8 -#define PKT_TYPE uint32_t -#endif -#define PKT_LOOP_BOUND ((PKT_INFO_SIZE / 3) * 3) -#define RXD_LOOP_BOUND ((RXD_INFO_SIZE / 4) * 4) - -typedef struct if_pkt_info_pad { - PKT_TYPE pkt_val[PKT_INFO_SIZE]; -} *if_pkt_info_pad_t; -typedef struct if_rxd_info_pad { - PKT_TYPE rxd_val[RXD_INFO_SIZE]; -} *if_rxd_info_pad_t; - -CTASSERT(sizeof(struct if_pkt_info_pad) == sizeof(struct if_pkt_info)); -CTASSERT(sizeof(struct if_rxd_info_pad) == sizeof(struct if_rxd_info)); - -static inline void -pkt_info_zero(if_pkt_info_t pi) -{ - if_pkt_info_pad_t pi_pad; - - pi_pad = (if_pkt_info_pad_t)pi; - pi_pad->pkt_val[0] = 0; pi_pad->pkt_val[1] = 0; pi_pad->pkt_val[2] = 0; - pi_pad->pkt_val[3] = 0; pi_pad->pkt_val[4] = 0; pi_pad->pkt_val[5] = 0; -#ifndef __LP64__ - pi_pad->pkt_val[6] = 0; pi_pad->pkt_val[7] = 0; pi_pad->pkt_val[8] = 0; - pi_pad->pkt_val[9] = 0; pi_pad->pkt_val[10] = 0; -#endif -} - -static inline void -rxd_info_zero(if_rxd_info_t ri) -{ - if_rxd_info_pad_t ri_pad; - int i; - - ri_pad = (if_rxd_info_pad_t)ri; - for (i = 0; i < RXD_LOOP_BOUND; i += 4) { - ri_pad->rxd_val[i] = 0; - ri_pad->rxd_val[i + 1] = 0; - ri_pad->rxd_val[i + 2] = 0; - ri_pad->rxd_val[i + 3] = 0; - } -#ifdef __LP64__ - ri_pad->rxd_val[RXD_INFO_SIZE - 1] = 0; -#endif -} - /* * Only allow a single packet to take up most 1/nth of the tx ring */ @@ -1036,7 +981,7 @@ iflib_netmap_txsync(struct netmap_kring *kring, int flags) if (nm_i != head) { /* we have new packets to send */ uint32_t pkt_len = 0, seg_idx = 0; int nic_i_start = -1, flags = 0; - pkt_info_zero(&pi); + memset(&pi, 0, sizeof(pi)); pi.ipi_segs = txq->ift_segs; pi.ipi_qsidx = kring->ring_id; nic_i = netmap_idx_k2n(kring, nm_i); @@ -1229,7 +1174,7 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int flags) nm_i = netmap_idx_n2k(kring, nic_i); MPASS(nm_i == kring->nr_hwtail); for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, avail--) { - rxd_info_zero(&ri); + memset(&ri, 0, sizeof(ri)); ri.iri_frags = rxq->ifr_frags; ri.iri_qsidx = kring->ring_id; ri.iri_ifp = ctx->ifc_ifp; @@ -2992,7 +2937,7 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) /* * Reset client set fields to their default values */ - rxd_info_zero(&ri); + memset(&ri, 0, sizeof(ri)); ri.iri_qsidx = rxq->ifr_id; ri.iri_cidx = *cidxp; ri.iri_ifp = ifp; @@ -3658,7 +3603,7 @@ iflib_encap(iflib_txq_t txq, struct mbuf **m_headp) } m_head = *m_headp; - pkt_info_zero(&pi); + memset(&pi, 0, sizeof(pi)); pi.ipi_mflags = (m_head->m_flags & (M_VLANTAG | M_BCAST | M_MCAST)); pi.ipi_pidx = pidx; pi.ipi_qsidx = txq->ift_id; @@ -4301,7 +4246,7 @@ iflib_if_transmit(if_t ifp, struct mbuf *m) if (ctx->isc_txq_select_v2) { struct if_pkt_info pi; uint64_t early_pullups = 0; - pkt_info_zero(&pi); + memset(&pi, 0, sizeof(pi)); err = iflib_parse_header_partial(&pi, &m, &early_pullups); if (__predict_false(err != 0)) { From nobody Fri Jan 16 15:13:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt3JP1c6rz6NQDx for ; Fri, 16 Jan 2026 15:13: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 4dt3JP0qW0z3Mv9 for ; Fri, 16 Jan 2026 15:13:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768576389; h=from:from:reply-to:subject:subject: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=F6m3ZdqF27Cn8i7fY7ai0Vr8nUGe+5meBbPKwFLAF5k=; b=HFK9j8xqhWrgqJYnxyJ8kDZViyP5+j/QsbQZtYo4/Q3bGPFq55K4LnRM9VrXIQx3QFSgKX zj640idpXTai03/CsUdA35p8DiALpeLIiJd0OCAtdUYZAR04XNIfMObKjl9dYl/a7g/yYt rKykHiYGCG/mXu22FFk9lrXuQ+7BlWxbLtC2kN2DhBv1JivxCjDmjurb4jLMmmAEtq/e7R 8zbDVCpi/AxUbZSNos04deEve/cIRU56JBv4jWTN5DRvreqQKd5HYpO3FhZ1UIA5Rz614+ wqPERoYrpQqHwfa87/OaZ4XRXJmySmSP9ObVNaCI1zqu8VazF9/HVSRQwTFrsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768576389; h=from:from:reply-to:subject:subject: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=F6m3ZdqF27Cn8i7fY7ai0Vr8nUGe+5meBbPKwFLAF5k=; b=PFGoFhk8u/30C0vbjZKbVxyZUTgo5wv2hWnyHYxQR8wiPeHFcze915HpgR/ar/PNsa0z2/ mR6Ygrg3B67IqYbRlECbur2Bb+7qdnl2lShmRx9IFlFzmXo3yP6T3gIOBJgwLYHSDJZ88t XB9u1ri0d0R4b0g3+BJvvVqvPptEb2r+42A1NtlIOzRowJ8+xElu4QV4KAAb2lzNWWrzUN 4cKzQvAj/onbiIuvOpVxP9+WQbP8J8TdbRFmSis3txgJbn5g5jGJRnEaer9hYfQgyaBe70 bvWI7BCS6YONWEaP7y+kQK+re79cqfXdYOjJsMTHSOLyXdFuwtwQVPzeXdE5Sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768576389; a=rsa-sha256; cv=none; b=ZKPPYDS7fQfT9a2lE4ScUFK/a2JbODpUezl6yhCoLmXE6THsul7EEToOB7cmeAViPL7naG mvxPvnL3vUx1X5khDaPmfLHP1krwV71pLKR4H3Gv1nvgTuawSDhMubLxh1OzhpDIUR1FjH 7oUQZ7zwac0/IQs8IJXbQDkez1H9AJjnc3eolSDCpmMCb9ObXXPz+48SddHD+FZRGRYBcQ A5HsaQQctFFX3oJhHHhFxslJjIZMeJnZwL4igY0Nv8zXr3nJmu/+gNob16+pzniNenbqqe ohV+O1RrDucSfp7mJUb2d/S6oepzu8ks/50JFFBPnqPkMXKl1yfOxsNW7JNoug== 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 4dt3JP078lz480 for ; Fri, 16 Jan 2026 15:13:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2305b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 15:13:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: AZero13 From: Warner Losh Subject: git: cc057040ad42 - stable/15 - device_delete_child should be destroying the child, not the dev 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: cc057040ad424d56e3aa142f71d0969e18187789 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 15:13:09 +0000 Message-Id: <696a5585.2305b.57fbc33f@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cc057040ad424d56e3aa142f71d0969e18187789 commit cc057040ad424d56e3aa142f71d0969e18187789 Author: AZero13 AuthorDate: 2025-12-18 02:09:31 +0000 Commit: Warner Losh CommitDate: 2026-01-16 14:32:12 +0000 device_delete_child should be destroying the child, not the dev MFC After: 1 week Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1934 (cherry picked from commit 930a1341d62ccc4be969c2261e3abaf0c0573a9f) --- sys/kern/subr_bus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 755d7d41899f..1001aab2dc54 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1557,7 +1557,7 @@ device_delete_child(device_t dev, device_t child) return (error); } - device_destroy_props(dev); + device_destroy_props(child); if (child->devclass) devclass_delete_device(child->devclass, child); if (child->parent) From nobody Fri Jan 16 19:40:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9DY0Btkz6NlT7 for ; Fri, 16 Jan 2026 19:40: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 4dt9DX6L1Hz3w3h for ; Fri, 16 Jan 2026 19:40:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hm+fLy5SpNi6bCCTuLBy0ZMdS5wMyVj2YSSDtLihT7w=; b=jIeIbw8iZv1fSf3/bJeDaMGtkgp52NUMa+akC3pJ5w1u8zieezsTP0v5yJYzK9QLzbOvQE quQp4eUTEakYiPPJfjur3PRvgr9Ze2uXoSgbMPUffSqwYbfnGieBtuEj6zUSi+JpZQ7ldZ KIs9HVSVUHNtQgWgRDnT9L25qViWlz8yujpXGoMSG0fiH3I2in/iggDLDRefyOUCy8ekTE bXWFrCUlhk6mrZx7Ndjbb3GxZ4TPRrTZ+wQjrvRWfUkuOKMKL8zPZbfczIqIZ4IHo8t+jv mDyfPHfraIzpdB50VGU+JwWWmHvKWhdjK7p4XhdNa7yDYZAUi4a7QWxTVM69Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hm+fLy5SpNi6bCCTuLBy0ZMdS5wMyVj2YSSDtLihT7w=; b=UwyHNu2U+ofDF4dF1MqOUJ3HWMMgqxs7uxPWJhdgYsS93KumB3pDP+w2jeOSSGReVqq+W8 D1gq3D5+o+xP4+zJ0PDR/iQj/T/5IkmRxsNAZn2A4SbO5LztLiFdKduVvdVgpbzbxgcDjc voWI4rd8J7Ky2kRDrDjqsto5/Xs4gXWev38Vj6f3Z1av0HoteuacUNaFs+qy40zgCPM+z2 zw3FnG/7e1o5te2gg+dauwnQZxV54gCdnt92RFjKjVKn4qlEmHyQLFwKEYD9dL7mFvud/F DyNvHC2aIMGT4zp1rJWVWlufujmeyHL30bieIMQkD0SRjs9ydQve607+JHOikw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592412; a=rsa-sha256; cv=none; b=pgVCiuzGmsA0hEQdKZu5E/NEef8sp80kpL8rF2JTWYCxiqqw5y++VFuftLZakw5EKvameZ i+8Pg6R9lQXEv3weBzWXjW7Hr+zKZBQ0zOZkBTgsnYIJyz9gwHwKSV/tMtNeP6Sfn9mamB jHnGZLqgmoCTb4C9EgpsYPBpGoVa9diqqSc+ZRqA8NEv0f1rhUMd5aDDX2VWFN5YBv+Fy4 RUlVizqT0P5EcfBuZjBa7fWU2syYTw03DZZ5XMM8wU7mF0xz85+wHt0X+gPz1bzZL8f138 EIukbEMuUeVLznt9lhoI/RvdR/Y4GLsOJV4gIxiGyJ9nKyfBI4z7TmtO6uaEgQ== 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 4dt9DX5D9RzBl8 for ; Fri, 16 Jan 2026 19:40:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id daa6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 0b6bb8193597 - stable/14 - LinuxKPI: acpi: fix guid_t argument type 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0b6bb81935970d61bdc6580048c806ef17ef8cd4 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:12 +0000 Message-Id: <696a941c.daa6.62c09a26@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0b6bb81935970d61bdc6580048c806ef17ef8cd4 commit 0b6bb81935970d61bdc6580048c806ef17ef8cd4 Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 00:42:15 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:39 +0000 LinuxKPI: acpi: fix guid_t argument type acpi_check_dsm() and acpi_evaluate_dsm_typed() take a guid_t argument and not a char *. For in-tree Linux based drivers this leads to a compile error due to a warning. Fix the function argument type and cast internally. While this made the long statements in the wrapper functions for *_dsm_* even less readable split them up using a local variable. Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D51649 (cherry picked from commit 21cb44bf33f137eaab1ff6f9287c6bc8c27677f0) --- sys/compat/linuxkpi/common/include/acpi/acpi_bus.h | 4 ++-- sys/compat/linuxkpi/common/src/linux_acpi.c | 24 ++++++++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/acpi/acpi_bus.h b/sys/compat/linuxkpi/common/include/acpi/acpi_bus.h index 47195e7d66a6..da50d25a63bb 100644 --- a/sys/compat/linuxkpi/common/include/acpi/acpi_bus.h +++ b/sys/compat/linuxkpi/common/include/acpi/acpi_bus.h @@ -45,9 +45,9 @@ struct acpi_bus_event { lkpi_acpi_dev_get_first_match_dev(__VA_ARGS__) ACPI_HANDLE bsd_acpi_get_handle(device_t bsddev); -bool acpi_check_dsm(ACPI_HANDLE handle, const char *uuid, int rev, +bool acpi_check_dsm(ACPI_HANDLE handle, const guid_t *uuid, int rev, uint64_t funcs); -ACPI_OBJECT * acpi_evaluate_dsm_typed(ACPI_HANDLE handle, const char *uuid, +ACPI_OBJECT * acpi_evaluate_dsm_typed(ACPI_HANDLE handle, const guid_t *uuid, int rev, int func, ACPI_OBJECT *argv4, ACPI_OBJECT_TYPE type); int register_acpi_notifier(struct notifier_block *nb); diff --git a/sys/compat/linuxkpi/common/src/linux_acpi.c b/sys/compat/linuxkpi/common/src/linux_acpi.c index d18c69d9210d..43783bb8727b 100644 --- a/sys/compat/linuxkpi/common/src/linux_acpi.c +++ b/sys/compat/linuxkpi/common/src/linux_acpi.c @@ -72,8 +72,9 @@ bsd_acpi_get_handle(device_t bsddev) } bool -acpi_check_dsm(ACPI_HANDLE handle, const char *uuid, int rev, uint64_t funcs) +acpi_check_dsm(ACPI_HANDLE handle, const guid_t *uuid, int rev, uint64_t funcs) { + UINT64 ret; if (funcs == 0) return (false); @@ -87,17 +88,20 @@ acpi_check_dsm(ACPI_HANDLE handle, const char *uuid, int rev, uint64_t funcs) */ funcs |= 1 << 0; - return ((acpi_DSMQuery(handle, uuid, rev) & funcs) == funcs); + ret = acpi_DSMQuery(handle, (const uint8_t *)uuid, rev); + return ((ret & funcs) == funcs); } ACPI_OBJECT * -acpi_evaluate_dsm_typed(ACPI_HANDLE handle, const char *uuid, int rev, +acpi_evaluate_dsm_typed(ACPI_HANDLE handle, const guid_t *uuid, int rev, int func, ACPI_OBJECT *argv4, ACPI_OBJECT_TYPE type) { ACPI_BUFFER buf; + ACPI_STATUS status; - return (ACPI_SUCCESS(acpi_EvaluateDSMTyped(handle, uuid, rev, func, - argv4, &buf, type)) ? (ACPI_OBJECT *)buf.Pointer : NULL); + status = acpi_EvaluateDSMTyped(handle, (const uint8_t *)uuid, rev, func, + argv4, &buf, type); + return (ACPI_SUCCESS(status) ? (ACPI_OBJECT *)buf.Pointer : NULL); } union linuxkpi_acpi_object * @@ -105,9 +109,11 @@ acpi_evaluate_dsm(ACPI_HANDLE ObjHandle, const guid_t *guid, UINT64 rev, UINT64 func, union linuxkpi_acpi_object *pkg) { ACPI_BUFFER buf; + ACPI_STATUS status; - return (ACPI_SUCCESS(acpi_EvaluateDSM(ObjHandle, (const uint8_t *)guid, - rev, func, (ACPI_OBJECT *)pkg, &buf)) ? + status = acpi_EvaluateDSM(ObjHandle, (const uint8_t *)guid, rev, func, + (ACPI_OBJECT *)pkg, &buf); + return (ACPI_SUCCESS(status) ? (union linuxkpi_acpi_object *)buf.Pointer : NULL); } @@ -323,13 +329,13 @@ bsd_acpi_get_handle(device_t bsddev) } bool -acpi_check_dsm(ACPI_HANDLE handle, const char *uuid, int rev, uint64_t funcs) +acpi_check_dsm(ACPI_HANDLE handle, const guid_t *uuid, int rev, uint64_t funcs) { return (false); } ACPI_OBJECT * -acpi_evaluate_dsm_typed(ACPI_HANDLE handle, const char *uuid, int rev, +acpi_evaluate_dsm_typed(ACPI_HANDLE handle, const guid_t *uuid, int rev, int func, ACPI_OBJECT *argv4, ACPI_OBJECT_TYPE type) { return (NULL); From nobody Fri Jan 16 19:40:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9DZ0v0Jz6NlFZ for ; Fri, 16 Jan 2026 19:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9DY668hz3w3m for ; Fri, 16 Jan 2026 19:40:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cQ6wWg9vZUb0IqLcF4rqdE8CLtb9WM1YGNtQPldANuQ=; b=lTGMbeBqyRb+mGbVNPesPKxUfU7v8yUzs+CAcb0KHHoExIl5RQjgjO8DqCkAG6GzCyB4Gu 8YaKqiUuAfUXlQvg0i95knZQNa1l+rFMfP/C6KYnNC92HymV5Jr2Xh5fqt7PJG6OcGmcys PrXK58Zxxj7JT5WZ9xjVcnmvg1nmncvaLbO2AgHAEf/0/yeIAr8e5z+9RWg4y5+8zLGgYZ XwKc+PulZhmeeMStLEmySeHxukRN9Z+YN3TvJXyYXlRE/W7EJ0Pi+9o7fNsGNaEAwdaGDo oIN5RuwFz1VvlXSwu9xX2DPhorwVvWgDRNKH5REE6QJXvt2eVlfpBeqMslUSkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cQ6wWg9vZUb0IqLcF4rqdE8CLtb9WM1YGNtQPldANuQ=; b=jyAHMV5iN3k4jcsZFxf4PB1wHUeZag4bPOQD5lbaiuUaB0H1/VVHz8uSi0Cbt15/paRk3R P+O+0rrEI5tQBgTxcMQ4/rnvTyT90TXjPykcWt/Y6ActuBGcs5mhaOlAr7cChLu3bzOvGu kjeMjs8up92bO9MuZlsRe8KqDasi36kKKeHy/Y8AxjeGptr9V4g+5Og2yKUHQ93vtzjWOq DIzYbtNmXvht7sI7/XOUJho0oZnNxHJL8tsdI8NDN+a85eJAjDyzxYkf4h4Sv5BIcTJmR+ ri81HF10EC/ctS5bCjn+PeMWRj5W/j3HLplZZE9FnaBPBTjP4rJY4JgVtjsslQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592413; a=rsa-sha256; cv=none; b=AfTz8I9YOuCCBRZSUy6tQvUwrk4MSmycWeL3G5c7Yr4fND5FJ9xOah5CGsFySKHFnU5Pwj c/iUTSa1Wa4m9dLg5aIK2k1AgKzKsFlcT0+fTdYHBtbAX6bGWAZekJtqTZryB0GD5SOFmv tqVRl8cL0ti0WZmUakPcGWXt7QFt9nl6nnpwhayv7vMJVpzqsV0oUuOWwpd8e8m5jMR75b EYpXD326vwlaUEjqQUFQuHczBow71cn6mDraGwGOI4oQ0gMmDgJpokWlcZ0lx14uBFcaSn PZRzXvxqRFK4HG96fNvKroPQUkdlMig3ISMgBkQwCDWc5sikyyLDmqkfm9qdjw== 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 4dt9DY5cVczBlB for ; Fri, 16 Jan 2026 19:40:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d0e0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 7d33beb6af2d - stable/14 - LinuxKPI: pci: harmonize #defines 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7d33beb6af2de0b769756211aaf2f253ed5e3e22 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:13 +0000 Message-Id: <696a941d.d0e0.5c14da@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7d33beb6af2de0b769756211aaf2f253ed5e3e22 commit 7d33beb6af2de0b769756211aaf2f253ed5e3e22 Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 07:04:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:39 +0000 LinuxKPI: pci: harmonize #defines In some blocks of #defines spacing, trailing \ and indentation of a second line differed. Some of them are currently fine on a single line but future additions may not fit in that scheme. Harmonize them into a #define X\t\t\t...\\n<4 spaces>Y scheme. No functional changes. Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D51650 (cherry picked from commit 69ed0f766bb68876fed2096739d8adc313cf3340) --- sys/compat/linuxkpi/common/include/linux/pci.h | 48 +++++++++++++++----------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 9d0725089269..d1445043ce4d 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -540,10 +540,12 @@ done: return (pdev->bus->self); } -#define pci_release_region(pdev, bar) linuxkpi_pci_release_region(pdev, bar) -#define pci_release_regions(pdev) linuxkpi_pci_release_regions(pdev) -#define pci_request_regions(pdev, res_name) \ - linuxkpi_pci_request_regions(pdev, res_name) +#define pci_release_region(pdev, bar) \ + linuxkpi_pci_release_region(pdev, bar) +#define pci_release_regions(pdev) \ + linuxkpi_pci_release_regions(pdev) +#define pci_request_regions(pdev, res_name) \ + linuxkpi_pci_request_regions(pdev, res_name) static inline void lkpi_pci_disable_msix(struct pci_dev *pdev) @@ -709,8 +711,10 @@ int linux_pci_register_drm_driver(struct pci_driver *pdrv); void linux_pci_unregister_driver(struct pci_driver *pdrv); void linux_pci_unregister_drm_driver(struct pci_driver *pdrv); -#define pci_register_driver(pdrv) linux_pci_register_driver(pdrv) -#define pci_unregister_driver(pdrv) linux_pci_unregister_driver(pdrv) +#define pci_register_driver(pdrv) \ + linux_pci_register_driver(pdrv) +#define pci_unregister_driver(pdrv) \ + linux_pci_unregister_driver(pdrv) /* * Enable msix, positive errors indicate actual number of available @@ -719,10 +723,11 @@ void linux_pci_unregister_drm_driver(struct pci_driver *pdrv); * NB: define added to prevent this definition of pci_enable_msix from * clashing with the native FreeBSD version. */ -#define pci_enable_msix(...) linuxkpi_pci_enable_msix(__VA_ARGS__) +#define pci_enable_msix(...) \ + linuxkpi_pci_enable_msix(__VA_ARGS__) -#define pci_enable_msix_range(...) \ - linux_pci_enable_msix_range(__VA_ARGS__) +#define pci_enable_msix_range(...) \ + linux_pci_enable_msix_range(__VA_ARGS__) static inline int pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, @@ -747,8 +752,8 @@ pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, return (nvec); } -#define pci_enable_msi(pdev) \ - linux_pci_enable_msi(pdev) +#define pci_enable_msi(pdev) \ + linux_pci_enable_msi(pdev) static inline int pci_enable_msi(struct pci_dev *pdev) @@ -773,11 +778,12 @@ static inline void pci_disable_sriov(struct pci_dev *dev) { } -#define pci_iomap_range(pdev, mmio_bar, mmio_off, mmio_size) \ - linuxkpi_pci_iomap_range(pdev, mmio_bar, mmio_off, mmio_size) -#define pci_iomap(pdev, mmio_bar, mmio_size) \ - linuxkpi_pci_iomap(pdev, mmio_bar, mmio_size) -#define pci_iounmap(pdev, res) linuxkpi_pci_iounmap(pdev, res) +#define pci_iomap_range(pdev, mmio_bar, mmio_off, mmio_size) \ + linuxkpi_pci_iomap_range(pdev, mmio_bar, mmio_off, mmio_size) +#define pci_iomap(pdev, mmio_bar, mmio_size) \ + linuxkpi_pci_iomap(pdev, mmio_bar, mmio_size) +#define pci_iounmap(pdev, res) \ + linuxkpi_pci_iounmap(pdev, res) static inline void lkpi_pci_save_state(struct pci_dev *pdev) @@ -1363,10 +1369,12 @@ struct pci_dev *lkpi_pci_get_class(unsigned int class, struct pci_dev *from); /* -------------------------------------------------------------------------- */ -#define pcim_enable_device(pdev) linuxkpi_pcim_enable_device(pdev) -#define pcim_iomap_table(pdev) linuxkpi_pcim_iomap_table(pdev) -#define pcim_iomap_regions(pdev, mask, name) \ - linuxkpi_pcim_iomap_regions(pdev, mask, name) +#define pcim_enable_device(pdev) \ + linuxkpi_pcim_enable_device(pdev) +#define pcim_iomap_table(pdev) \ + linuxkpi_pcim_iomap_table(pdev) +#define pcim_iomap_regions(pdev, mask, name) \ + linuxkpi_pcim_iomap_regions(pdev, mask, name) static inline int pcim_iomap_regions_request_all(struct pci_dev *pdev, uint32_t mask, char *name) From nobody Fri Jan 16 19:40:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Db3B0tz6Nl94 for ; Fri, 16 Jan 2026 19:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9DZ6bFLz3w5J for ; Fri, 16 Jan 2026 19:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yHqFBKgAsqH+LEHOimS6FMFG7vVJO7dKDt1UkTqtFY8=; b=NoIBaU9kXjjkykvuCmt4OmD3gEgDDeBR8/o+8//1XovK46UBP82ckrBphdsK1zMyj1EoNk +NwhX+J9E9JiEyqv8OcHAy6U5s9S45JKaJ20sV/1SonS9aGImVifpkado3aNMbGzeJ2fGL GIHMwKaEyGpZQlx54P/es/Q6qJfJTS6WlbOecydD3Yr7MpSTLlhwtNnBjisMx1s8jBe+vC LM6qk+j+Lk69+gPBJXQZtl3YLNPIaEcjW/yXIpbeiqv04YicPIG7BzonRzgSkuMknMNdnA MjlBDLM67x/H6kqt3SdUy2xDcmCtR6tRIolnuaNVlTk6Qy3z/a5CJD6jjQ/nnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yHqFBKgAsqH+LEHOimS6FMFG7vVJO7dKDt1UkTqtFY8=; b=f+1KsWsUoxyuFQa4AOpyW3vCuR9Ph+b7UTR/b9liz+wUPTK8vEChkmxtNyMuqFwLWeTyTR 8opsfGvYX7VZrLviNdlvL9Rnv/QjbZDT1dCMBLS4KQkLxjHXVFmnvX1tiiG/vqNeL1VzSV msR8BYkK20a+MuGs950g2A4qpS+UChQybiGFIAthVTBGKKuVafK3s3Hw3cCJ4/d/c7lGCt CqJyxNzB+yddqOwya6q9xaH/ZST+I59Cm2jiQ3dcDBqz7FY8SCqBJHmZZ8iqE4YZ7Ha1hn jy9gQDHJYJGh81rFTlcqQYUwTm6s9GtKLnHNxKQjWO1dscTQkQ2R5u88ugGf6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592414; a=rsa-sha256; cv=none; b=jH0ixkVQUVCqEZ6/wA/4Y6O1hghAqUslpPPl7431GG1SpTR9GSnj5fLHfOEc96CI23yWpm I4rnzcVcBB0kLPepujLj9HXJoNnkmquwG8gvjowcOcvQbTSV50Pt8EhL/5tf94YRU7vk9o wh/ZwcZbt5UvhZ70BU/RY37rwO4to4/agfWlGSmytGvQ6Y9uNDZIp4VsTspZpU1n5/BAa8 MMMOo/ory5z/SLGtGwl62UnzV1rX2NJmldNqkmMuOVypEwxkoQroUOL0uBjstB3vgTjuHu BQw9jjwdvYvMppFyBvA9GhWepAzYNhWi85JtzTsgrxtSqwcRzI09QzLE4Vi7MA== 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 4dt9DZ65wQzBqr for ; Fri, 16 Jan 2026 19:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cad3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 96419b3aa91e - stable/14 - LinuxKPI: pci: fix argument type to linuxkpi_pci_iomap[_range] 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 96419b3aa91e71ef09832061afd6ffc630280faf Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:14 +0000 Message-Id: <696a941e.cad3.79517fd0@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=96419b3aa91e71ef09832061afd6ffc630280faf commit 96419b3aa91e71ef09832061afd6ffc630280faf Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 07:14:28 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:39 +0000 LinuxKPI: pci: fix argument type to linuxkpi_pci_iomap[_range] The last argument (maxlen) to linuxkpi_pci_iomap_range and linuxkpi_pci_iomap is an unsigned long not an int. LinuxKPI is not using that argument in the end but fix it where needed. While here adjust the name to 'maxlen' and remove the "mmio_" to bar and off. Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D51651 (cherry picked from commit 421bf3a968674cbb1fc7eb1c323fd4d5d2409718) --- sys/compat/linuxkpi/common/include/linux/pci.h | 8 ++++---- sys/compat/linuxkpi/common/src/linux_pci.c | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index d1445043ce4d..af3a4f276930 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -4,7 +4,7 @@ * Copyright (c) 2010 Panasas, Inc. * Copyright (c) 2013-2016 Mellanox Technologies, Ltd. * All rights reserved. - * Copyright (c) 2020-2022 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * * Portions of this software were developed by Björn Zeeb * under sponsorship from the FreeBSD Foundation. @@ -354,9 +354,9 @@ bool pci_device_is_present(struct pci_dev *pdev); int linuxkpi_pcim_enable_device(struct pci_dev *pdev); void __iomem **linuxkpi_pcim_iomap_table(struct pci_dev *pdev); -void *linuxkpi_pci_iomap_range(struct pci_dev *pdev, int mmio_bar, - unsigned long mmio_off, unsigned long mmio_size); -void *linuxkpi_pci_iomap(struct pci_dev *pdev, int mmio_bar, int mmio_size); +void *linuxkpi_pci_iomap_range(struct pci_dev *, int, + unsigned long, unsigned long); +void *linuxkpi_pci_iomap(struct pci_dev *, int, unsigned long); void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res); int linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *name); diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 52d9120fed5a..3c17dbbd82c3 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1,7 +1,7 @@ /*- * Copyright (c) 2015-2016 Mellanox Technologies, Ltd. * All rights reserved. - * Copyright (c) 2020-2022 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * * Portions of this software were developed by Björn Zeeb * under sponsorship from the FreeBSD Foundation. @@ -735,7 +735,7 @@ linuxkpi_pcim_iomap_table(struct pci_dev *pdev) } static struct resource * -_lkpi_pci_iomap(struct pci_dev *pdev, int bar, int mmio_size __unused) +_lkpi_pci_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen __unused) { struct pci_mmio_region *mmio, *p; int type; @@ -775,25 +775,25 @@ _lkpi_pci_iomap(struct pci_dev *pdev, int bar, int mmio_size __unused) } void * -linuxkpi_pci_iomap_range(struct pci_dev *pdev, int mmio_bar, - unsigned long mmio_off, unsigned long mmio_size) +linuxkpi_pci_iomap_range(struct pci_dev *pdev, int bar, + unsigned long off, unsigned long maxlen) { struct resource *res; - res = _lkpi_pci_iomap(pdev, mmio_bar, mmio_size); + res = _lkpi_pci_iomap(pdev, bar, maxlen); if (res == NULL) return (NULL); /* This is a FreeBSD extension so we can use bus_*(). */ if (pdev->want_iomap_res) return (res); - MPASS(mmio_off < rman_get_size(res)); - return ((void *)(rman_get_bushandle(res) + mmio_off)); + MPASS(off < rman_get_size(res)); + return ((void *)(rman_get_bushandle(res) + off)); } void * -linuxkpi_pci_iomap(struct pci_dev *pdev, int mmio_bar, int mmio_size) +linuxkpi_pci_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen) { - return (linuxkpi_pci_iomap_range(pdev, mmio_bar, 0, mmio_size)); + return (linuxkpi_pci_iomap_range(pdev, bar, 0, maxlen)); } void From nobody Fri Jan 16 19:40:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dc2YVfz6NlNP for ; Fri, 16 Jan 2026 19:40: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 4dt9Db74p7z3wDG for ; Fri, 16 Jan 2026 19:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=54MI7zZpktwqpIfkdIzZ2J1UytDH7pLVUufe++jRl8c=; b=k5FQLOq2PLO0G9lufXwTsu5ZPjycoYDFSqZnn0/F6rBzm7u+oiKBCQfVDXnXaITY2QCwH/ Mv9WWt+AlquFfPllBh9RG0XBtGQAeyx1Y3RpIazDfztv6jAfE1zIl25VKDiSx+Esm22kIF Ryk69JPIoA9VrDElXLYX4RxVB8Um7rFrmXZ5/GTSWRhebx71hnuR9+4bNySxq1FKmfQQ7z vyHq+Yp/4pBTXe06iD8PZ4KeLDxqkc09YtVl1h/Opq4kgFM77ddkvmaKTiQMrGSMqhmwhO MZJ0F4YxWaxsI4mw0pjKWooJRdftDSkQy4jnM2ivfs0CulE1ooIXTDDXAItbLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=54MI7zZpktwqpIfkdIzZ2J1UytDH7pLVUufe++jRl8c=; b=aJ1YrMWvrKwbqn32Kh9xY/G6CxCLMEjraLaMilFlXiQRKaQQd2mSt9J2Pa8uH1bnubzYcL juBUxag59WU9nCKhkPAuldfBdJJDH9Mp+sLAZ+OOmKY437Vje8EKQcV2l1ELSpAc/6G0K/ 7WfJNKzuwKffnvCnIVQ+3NHBEwMQC1/8V7gPDF5iX73Fe7XCU3iWtnLpi2C3IgUhE1H2h0 cGueOJnFCG+HQtveXfyBzswgOurXL3VMKEN+KMb7gd74rgkNxg66T1JPeMOuMQo/1eXdRp Evzi0KcwpVCxnQwPoTDPVTd1bUYxIYh9wGnAsVKp0b2fKPwqGZOV1Q1Pwj6r4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592416; a=rsa-sha256; cv=none; b=MCaRe3OyiC89+HSXtHqUUHZnoBdBjngJ/DGgnsmqmP7hOrmt5Zu6fm4KDy60eqynclSVv+ nWTbF+1qex6hz37yBA4d9MjkGfPWDyhufVhY7Qr+YwxYvj7P3dlX0jBGLSpXvJmKg4c5be 9qPo4Blw86GpeikIeqnhgyQM4UjKYvzdHJjiarrk8R94YrXZItHlN4J0tQmqzqX7M4nHhF h5sRCSb2dnXtmkOHvlrWjLCY+CKB1tbOV5tr9T0Zjh+fdDFZpTAppRwSxVIHbkwo1PmCQB h43Kq2bj/OLtOAZGFZT7gEJT6zOSzfaH0zT2Bs0wfsKqj+4mR6dSGtwURX5ugA== 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 4dt9Db6SdmzBqs for ; Fri, 16 Jan 2026 19:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca55 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 443e07f7980f - stable/14 - LinuxKPI: pci: use unsigned int for vendor/device arguments 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 443e07f7980f8e777b7513e72769da639dd4e0e9 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:15 +0000 Message-Id: <696a941f.ca55.4a627316@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=443e07f7980f8e777b7513e72769da639dd4e0e9 commit 443e07f7980f8e777b7513e72769da639dd4e0e9 Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 07:24:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:39 +0000 LinuxKPI: pci: use unsigned int for vendor/device arguments Linux drivers may pass a typed PCI_ANY_ID (-1U) in which then leads to a warning that the value gets truncated. Switch argument types to unsigned int (or uint32_t as we use in struct pci_device_id) to avoid the problem. Sponsored by: The FreeBSD Foundation Discussed in: D50008 Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D51652 (cherry picked from commit a96486531b915c621947980d01decff759afc65e) --- sys/compat/linuxkpi/common/include/linux/pci.h | 4 ++-- sys/compat/linuxkpi/common/src/linux_pci.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index af3a4f276930..614cea0e7144 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -369,7 +369,7 @@ int linuxkpi_pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries, /* Internal helper function(s). */ struct pci_dev *lkpinew_pci_dev(device_t); void lkpi_pci_devres_release(struct device *, void *); -struct pci_dev *lkpi_pci_get_device(uint16_t, uint16_t, struct pci_dev *); +struct pci_dev *lkpi_pci_get_device(uint32_t, uint32_t, struct pci_dev *); struct msi_desc *lkpi_pci_msi_desc_alloc(int); struct device *lkpi_pci_find_irq_dev(unsigned int irq); int _lkpi_pci_enable_msi_range(struct pci_dev *pdev, int minvec, int maxvec); @@ -1415,7 +1415,7 @@ err: * using pci_get_device() need to be changed to call linuxkpi_pci_get_device(). */ static inline struct pci_dev * -linuxkpi_pci_get_device(uint16_t vendor, uint16_t device, struct pci_dev *odev) +linuxkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev) { return (lkpi_pci_get_device(vendor, device, odev)); diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 3c17dbbd82c3..77acbc48c408 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -286,7 +286,7 @@ linux_pci_find(device_t dev, const struct pci_device_id **idp) } struct pci_dev * -lkpi_pci_get_device(uint16_t vendor, uint16_t device, struct pci_dev *odev) +lkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev) { struct pci_dev *pdev, *found; From nobody Fri Jan 16 19:40:16 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dd3ZVTz6NlQg for ; Fri, 16 Jan 2026 19:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dd0Dd3z3w8Q for ; Fri, 16 Jan 2026 19:40:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AD/XbH4qWJ2jkQlJPSP80jDXlwDfBQA9Ps2aykuXwCU=; b=WyheXFehuYTeM5TYB/w6prVA+iY9iSlrVt1d5HTw3F1cYkhkza4Np73iVGBLaqOjXU6lbi Tv8R1CeGK18tZGRhzFm0sYBb2xKJI+4sdx59L9wfFkpyKTmMrVM9iZ5X7p+6iM8resowXl D0ojK7aoWLlFYfr+morJ/KQtqtkI66KrSUl23FmKybMFjzXhcr9AliRUpxLOneYrWvRwLe +UeEVh/6AlJd2qHf3o9+rF28CjODZYhT6JOCmnIdYNuFwRtjoTno1J7W+/qxIsfSOjUzWX U9pIWVR28u7B2N7xR78BF36dJDeUgfMROnWjRHbPNPN3tXeooZrj2T/P5CyLpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AD/XbH4qWJ2jkQlJPSP80jDXlwDfBQA9Ps2aykuXwCU=; b=EuvgstR6HbDdeXHK0IDyei0WDvz8DGoje+1r47uFxamcAONE8ug7Seb/fnuaC3dANuo0Z0 LPso4UEyUbFns/SrkdeJOfNaaR81exPbA3PE7atTPTX+Pw0dXnSx3QfzomjgyhN2feI7Ij WxAQ68mGCTQgwBctXQ4xSMtOGg7yotb+Yt/GYs9CsVAoe/rSz1qwOBoNdTj7RGR3l2eNVm XpsUTuMetNYXk4QGxLTkz/dl7BGlPsqYk7A3lefOw6p6DYaQZ5GeWcKVeXa7dskNCaFjr8 MLkASPXIUwe2y1XA56NU+S3+yrE8ypPTPKuEIil0l/auNlhWCVWIjURjyLX1uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592417; a=rsa-sha256; cv=none; b=K9E+QRPxZeMEUkyc+N/U+7EP7aRIOIpdFmY8LJ+1nw1JA1gCKZGuFDHCYfl7+IjpRNu3Yb HoxUCptZ7S8CQkX84J5HvAOdFH5rwAhIeGfNk++ZxD4NcPEZZ9QNvHrTSV1m28XPd6iG/U nehkJpe0hhdun33ky18Lx/W/N176HGcl9n05HtltSdXty5GynfYGy2cqKsIsvqnj/yQz5L A0d9T3lkzRxjlB1UflzcOG3U6rG/OezuhqWxdSPav/oDfpsZ/xx5FoCSHPQTYdNRcuJa51 0hpWk9slx1Tqm78vzTBiQzR22aOJ/6H/NwbWm5tMtXKKGt5UeLAqaOG1d77BMg== 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 4dt9Dc6rrwzBqt for ; Fri, 16 Jan 2026 19:40:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d1f3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 42c4f4d98216 - stable/14 - dwmmc: cleanup cmd and locking, consistency between mmc and mmccam 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 42c4f4d98216ebf1355e1387ff8d0bd42a88b120 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:16 +0000 Message-Id: <696a9420.d1f3.76059e71@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=42c4f4d98216ebf1355e1387ff8d0bd42a88b120 commit 42c4f4d98216ebf1355e1387ff8d0bd42a88b120 Author: Bjoern A. Zeeb AuthorDate: 2025-07-29 12:36:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:40 +0000 dwmmc: cleanup cmd and locking, consistency between mmc and mmccam In general sprinkle locking assertions and harmonized KASSERTs throughout the upper part of the driver to document expectations. In dwmmc_cmd_done() "cmd" should be set correctly and be used for both MMCCAM and classic mmc rather than special-casing mmccam. In dwmmc_next_operation() place variable declarations on the top for both cases before the first debug and lock assertion calls; then factor out common parts at the end and put both cases in the same order. By calling dwmmc_next_operation() directly from both dwmmc_request() in the mmc case, and dwmmc_cam_request() in the mmccase (rather than) chaining calls in the latter, we avoid unlocking the sc in the mmccam case and have a consistent call path from both; also removing the mmccam #ifdef from dwmmc_request() brings more clarity. In dwmmc_next_operation() enhance the panic/error messages with some extra information and assert that we come in with a cam pinfo on CAM_ACTIVE_INDEX. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D51628 (cherry picked from commit 0f8a8416a4e07ddeaecc4eafd6f418da0f21efc7) --- sys/dev/mmc/host/dwmmc.c | 83 +++++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/sys/dev/mmc/host/dwmmc.c b/sys/dev/mmc/host/dwmmc.c index 965a40f45505..8cb459f3c3c3 100644 --- a/sys/dev/mmc/host/dwmmc.c +++ b/sys/dev/mmc/host/dwmmc.c @@ -316,20 +316,11 @@ static void dwmmc_cmd_done(struct dwmmc_softc *sc) { struct mmc_command *cmd; -#ifdef MMCCAM - union ccb *ccb; -#endif -#ifdef MMCCAM - ccb = sc->ccb; - if (ccb == NULL) - return; - cmd = &ccb->mmcio.cmd; -#else + DWMMC_ASSERT_LOCKED(sc); + cmd = sc->curcmd; -#endif - if (cmd == NULL) - return; + KASSERT(cmd != NULL, ("%s: sc %p curcmd %p == NULL", __func__, sc, cmd)); if (cmd->flags & MMC_RSP_PRESENT) { if (cmd->flags & MMC_RSP_136) { @@ -351,15 +342,17 @@ dwmmc_tasklet(struct dwmmc_softc *sc) { struct mmc_command *cmd; + DWMMC_ASSERT_LOCKED(sc); + cmd = sc->curcmd; - if (cmd == NULL) - return; + KASSERT(cmd != NULL, ("%s: sc %p curcmd %p == NULL", __func__, sc, cmd)); if (!sc->cmd_done) return; if (cmd->error != MMC_ERR_NONE || !cmd->data) { dwmmc_next_operation(sc); + } else if (cmd->data && sc->dto_rcvd) { if ((cmd->opcode == MMC_WRITE_MULTIPLE_BLOCK || cmd->opcode == MMC_READ_MULTIPLE_BLOCK) && @@ -384,6 +377,7 @@ dwmmc_intr(void *arg) DWMMC_LOCK(sc); cmd = sc->curcmd; + KASSERT(cmd != NULL, ("%s: sc %p curcmd %p == NULL", __func__, sc, cmd)); /* First handle SDMMC controller interrupts */ reg = READ4(sc, SDMMC_MINTSTS); @@ -1094,6 +1088,9 @@ dwmmc_start_cmd(struct dwmmc_softc *sc, struct mmc_command *cmd) uint32_t cmdr; dprintf("%s\n", __func__); + + DWMMC_ASSERT_LOCKED(sc); + sc->curcmd = cmd; data = cmd->data; @@ -1178,18 +1175,22 @@ dwmmc_start_cmd(struct dwmmc_softc *sc, struct mmc_command *cmd) static void dwmmc_next_operation(struct dwmmc_softc *sc) { - struct mmc_command *cmd; - dprintf("%s\n", __func__); #ifdef MMCCAM union ccb *ccb; +#else + struct mmc_request *req; +#endif + struct mmc_command *cmd; + dprintf("%s\n", __func__); + DWMMC_ASSERT_LOCKED(sc); + +#ifdef MMCCAM ccb = sc->ccb; if (ccb == NULL) return; cmd = &ccb->mmcio.cmd; #else - struct mmc_request *req; - req = sc->req; if (req == NULL) return; @@ -1206,7 +1207,7 @@ dwmmc_next_operation(struct dwmmc_softc *sc) * mostly caused by multi-block write command * followed by single-read. */ - while(READ4(sc, SDMMC_STATUS) & (SDMMC_STATUS_DATA_BUSY)) + while (READ4(sc, SDMMC_STATUS) & (SDMMC_STATUS_DATA_BUSY)) continue; if (sc->flags & PENDING_CMD) { @@ -1220,50 +1221,44 @@ dwmmc_next_operation(struct dwmmc_softc *sc) return; } -#ifdef MMCCAM - sc->ccb = NULL; sc->curcmd = NULL; +#ifdef MMCCAM ccb->ccb_h.status = (ccb->mmcio.cmd.error == 0 ? CAM_REQ_CMP : CAM_REQ_CMP_ERR); xpt_done(ccb); + sc->ccb = NULL; #else - sc->req = NULL; - sc->curcmd = NULL; req->done(req); + sc->req = NULL; #endif } +#ifndef MMCCAM static int dwmmc_request(device_t brdev, device_t reqdev, struct mmc_request *req) { struct dwmmc_softc *sc; - sc = device_get_softc(brdev); - dprintf("%s\n", __func__); - DWMMC_LOCK(sc); + sc = device_get_softc(brdev); -#ifdef MMCCAM - sc->flags |= PENDING_CMD; -#else + DWMMC_LOCK(sc); if (sc->req != NULL) { DWMMC_UNLOCK(sc); return (EBUSY); } - sc->req = req; sc->flags |= PENDING_CMD; if (sc->req->stop) sc->flags |= PENDING_STOP; -#endif - dwmmc_next_operation(sc); + dwmmc_next_operation(sc); DWMMC_UNLOCK(sc); + return (0); } -#ifndef MMCCAM static int dwmmc_get_ro(device_t brdev, device_t reqdev) { @@ -1506,10 +1501,15 @@ dwmmc_cam_request(device_t dev, union ccb *ccb) struct ccb_mmcio *mmcio; sc = device_get_softc(dev); - mmcio = &ccb->mmcio; - DWMMC_LOCK(sc); + KASSERT(ccb->ccb_h.pinfo.index == CAM_ACTIVE_INDEX, + ("%s: ccb %p index %d != CAM_ACTIVE_INDEX: func=%#x %s status %#x\n", + __func__, ccb, ccb->ccb_h.pinfo.index, ccb->ccb_h.func_code, + xpt_action_name(ccb->ccb_h.func_code), ccb->ccb_h.status)); + + mmcio = &ccb->mmcio; + #ifdef DEBUG if (__predict_false(bootverbose)) { device_printf(sc->dev, "CMD%u arg %#x flags %#x dlen %u dflags %#x\n", @@ -1520,16 +1520,21 @@ dwmmc_cam_request(device_t dev, union ccb *ccb) #endif if (mmcio->cmd.data != NULL) { if (mmcio->cmd.data->len == 0 || mmcio->cmd.data->flags == 0) - panic("data->len = %d, data->flags = %d -- something is b0rked", - (int)mmcio->cmd.data->len, mmcio->cmd.data->flags); + panic("%s: data %p data->len = %d, data->flags = %d -- something is b0rked", + __func__, mmcio->cmd.data, (int)mmcio->cmd.data->len, mmcio->cmd.data->flags); } + if (sc->ccb != NULL) { - device_printf(sc->dev, "Controller still has an active command\n"); + device_printf(sc->dev, "%s: Controller still has an active command: " + "sc->ccb %p new ccb %p\n", __func__, sc->ccb, ccb); + DWMMC_UNLOCK(sc); return (EBUSY); } sc->ccb = ccb; + sc->flags |= PENDING_CMD; + + dwmmc_next_operation(sc); DWMMC_UNLOCK(sc); - dwmmc_request(sc->dev, NULL, NULL); return (0); } From nobody Fri Jan 16 19:40:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Df4cydz6NlC6 for ; Fri, 16 Jan 2026 19:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Df0m0Yz3wB5 for ; Fri, 16 Jan 2026 19:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dn9eb+XldCtJHH+rKdrBaXcktu+20QAKC6DxM8JSUeY=; b=UFZoLLyKgyZ/t3bLHa8g0cWONI28A95VyBWQ1zodn76uHDPl8IvR18w6rII/5pLZVDIdRF vzB7tgpiOZDrhWv7+udObQFQ+baXq5VCeGvSFeOJIeWioQBS2p1/ILdZBAMKsanzY3nhKI LipZ1Chej2guD5sbP6zRXmX/XfEISO5vJudpYWmiXqdLzHQrTuttDxmHaSx14bpRIagfnK fDXeI0Hw80rRZTKSeyxOvDeMk6erChwQhvse7FzW1xGqvQLVxwrzch3th8amia0x/dll52 JmL9WtESU7FBX4vi80Gf/smjF0ErMbmD2LYE+CTGIuYX96y5/N3dzGTaTPL5OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dn9eb+XldCtJHH+rKdrBaXcktu+20QAKC6DxM8JSUeY=; b=YBs2pTt5x95la83flTqKSvALVHg+ZZ7PN7jj31a7uwdJFJ5Nw4FZNRz5paC34yRRWCEse6 B4N11JCSS/j82hdX7Ijw9b/kX3Y7BOlxATiessozhBd8Vl7HKHnxhtdsSjZ5EQ6eEF4dH2 cXt8h9TFlXokEgaHWRyVAmO+b35xLEtM9tTHntHh9ZwAxSRiFVv1+PoE74qaHt6hexgxgM zQbibwW0Xl1JL/21zkglgiABW7yxgz6KFnAc82YXz75V+O3rqIJGjZF2f5WEX4SfYT1Yj7 ApxsOsDVbfp8A2lKhZgl4zDNzUzX8Ta+zneeLVb/7D65Oppq1TqkafHwsakDtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592418; a=rsa-sha256; cv=none; b=kHVxwUonMV+J8cFO/oxLeYVIxfHb7j5xg0fYwvACgY1DE25d6b37r9aZYewJDSY0Jb1IdH h6ObxniXypSKUlTh8VyN5XJLyv8sNaTJwTixmDfHG41a080LI3kPcDsfH7AbXL29jL4K3r qAqlHoS2bCbYHEsPAfNxssa+j+fCUt7lken6R/xUuijdI79iSGoXIgW+M173INmYN0MScF Y18sS2iHkPJA0WpMQtTP2ra00Lm06uhKKogX2BLWOisEHW82qsDuChWaVeQCAEljba03tk AU0GwrAPIFwV5Aw+VmVlxjttGKwNAOgEoFDVzZr6viqG1mHJBPLn+VHI1xq1yg== 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 4dt9Df0DhZzBqv for ; Fri, 16 Jan 2026 19:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb5c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: cfc216559c92 - stable/14 - bsnmp: wlan: use correct value for rssi 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cfc216559c92e8c4b610175d58a10c09a6a5e66d Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:18 +0000 Message-Id: <696a9422.bb5c.44b464f@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=cfc216559c92e8c4b610175d58a10c09a6a5e66d commit cfc216559c92e8c4b610175d58a10c09a6a5e66d Author: Bjoern A. Zeeb AuthorDate: 2025-06-19 00:01:07 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:40 +0000 bsnmp: wlan: use correct value for rssi net80211 keeps the rssi value in 0.5bm relative to the noise floor (see comment in ieee80211_node.h). Do proper maths to get a plain rssi value back (once further fixes are in net80211). Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50930 (cherry picked from commit 69ffe3a6e778c3400a27a1098969802ac4cb5f56) --- usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c b/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c index b129e42b9d85..e80b53dcf44e 100644 --- a/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c +++ b/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c @@ -2167,7 +2167,7 @@ wlan_add_new_scan_result(struct wlan_iface *wif, return (-1); sr->opchannel = wlan_channel_flags_to_snmp_phy(isr->isr_flags); - sr->rssi = isr->isr_rssi; + sr->rssi = (isr->isr_rssi / 2) - isr->isr_noise; sr->frequency = isr->isr_freq; sr->noise = isr->isr_noise; sr->bintval = isr->isr_intval; From nobody Fri Jan 16 19:40:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dh3jsgz6Nl9B for ; Fri, 16 Jan 2026 19:40: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 4dt9Dh1jMhz3w92 for ; Fri, 16 Jan 2026 19:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwDEpHaoIpY3PRqUBChAUkSA+AefqFV8FrYHdh7nUkw=; b=rO0f1GNVpjJjXLyNwdxNyqdsPcq83rHbLB6fuZelzWIeoepXC2Unfhx9ONu54FzGdCzLko hY4t4oYV6a51+cLl0M4emzeRgpDRfBpLYhs9ZdY1xVucARThby5t4PNJJTrnG2NTpjmzLB LiMFC7+QcFwI5lTWqYB1hFABxYYYtuHuoVLoE6x/J5KH6dNrRNVyrvjxGDk7dYQA3KzmDl soX0C4EdZjMxexyxCMzameT0i0fR4vFRNgOZOXe33mdtPNS6zh5P5FP7soYilXWmj1M9D7 CxqSYQn2QEwzlKRsfJkPXIjUCI4A/XnudS95kyAe900rQsojtcdIntu7APAnOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kwDEpHaoIpY3PRqUBChAUkSA+AefqFV8FrYHdh7nUkw=; b=j1fCh4SQ7U/uajb4E1nvmLVIy/fjt0142qKWuWj3ZQs8UYIdtIi6KQip5TUcQnpcODb3bU xivUXr0vxuyu0Ti5STgOJ7AWowoyQqse1st7p2Onhni/ZM7OaJUwcURApsXIK3kd9MhAq9 vcsFeno6T1xVv6KWyjwTs5l1imGxhX9DUAEOW0gZ9I5KjeDOpokX319Tv+dJagRFIANFSH mHVQ06xxTrQtdi9nMR+BNBlUVDzd4FEZoOF31aYElxMultl5aIZL9j0Ocpkoxg3qPPKY0v WnnPmuyv6KaBfkr3NTZDQtx7BgPEYgnGgbXa1WTLXsD2ADTK5CoCGZQzvp+PoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592420; a=rsa-sha256; cv=none; b=lDrxsJjKDjY9y31uFY2/fIpriP/Ndzvz/cFZg275gJSBXyRD2vqSpF8gjAq5nhARzMflL8 cavT3dIotbbC1qc9rSBSQNGatxSkYiD41xKKl+x3KTkEIFRI2aSdNKaa9jnHzflpBd/QMF W942e4+7FV3uQ8vEKP9F5h9j91KcR+ut7YBmBqhqmj9+39qjQ9pcDq2hjPY/n8NYKZR0dX CJXxbVlWVYbMzs3dPdu9ltNLt9/8ESqO1Eud5i1ek/uHWthhZ/MwoA5De6BEJXaGWQRHVv 9DvBa7nQwnisNJMM/VKvkziYi/9IUhm6snCLWTJs/MWZs9lhyL7OS3XChg85lA== 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 4dt9Dh0ylWzBlH for ; Fri, 16 Jan 2026 19:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id daad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 1aa8504d1c51 - stable/14 - rtw88 / rtw89: define LINUXKPI_VERSION 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1aa8504d1c5156ff2b46c4eb0cc01fb2332dfb96 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:20 +0000 Message-Id: <696a9424.daad.6ae5b108@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1aa8504d1c5156ff2b46c4eb0cc01fb2332dfb96 commit 1aa8504d1c5156ff2b46c4eb0cc01fb2332dfb96 Author: Bjoern A. Zeeb AuthorDate: 2025-08-21 06:28:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:40 +0000 rtw88 / rtw89: define LINUXKPI_VERSION Always define the LINUXKPI_VERSION for LinuxKPI based wireless drivers. This ensures that LinuxKPI can move indepdent of drivers. Sponsored by: The FreeBSD Foundation (cherry picked from commit aecd63f4479423a65bdde7f93da66139293f0928) --- sys/modules/rtw88/Makefile | 1 + sys/modules/rtw89/Makefile | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/modules/rtw88/Makefile b/sys/modules/rtw88/Makefile index 9e76765adc72..a08ec4635017 100644 --- a/sys/modules/rtw88/Makefile +++ b/sys/modules/rtw88/Makefile @@ -44,6 +44,7 @@ SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_wlan.h opt_inet6.h opt_inet.h CFLAGS+= -DKBUILD_MODNAME='"rtw88"' +CFLAGS+= -DLINUXKPI_VERSION=61400 CFLAGS+= -I${DEVRTW88DIR} CFLAGS+= ${LINUXKPI_INCLUDES} diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index ae31b7dbd1b6..792058f79830 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -40,6 +40,7 @@ SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h CFLAGS+= -DKBUILD_MODNAME='"rtw89"' +CFLAGS+= -DLINUXKPI_VERSION=61400 CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI CFLAGS+= -I${DEVRTW89DIR} From nobody Fri Jan 16 19:40:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dg5YDYz6NlFv for ; Fri, 16 Jan 2026 19:40: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 4dt9Dg15hXz3wDl for ; Fri, 16 Jan 2026 19:40:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qsWZPPos//UESQjMPWg74FhmzLMiGh0RYF/GLMgS7to=; b=VKF/wgMegMb0CA4HUpWu16SJ+2S5OyCKwdyg5daV20RztaTvyhJ8NHx5vsVfpnMUSSDM1u WhpAs70e3sPB5QNw6e/bSE+eZ6ygIvEd7B0OovugffRYRRVbo+BNKjj+gft95unp0obN9m CGVe3wkGwsOaR8cYSKzqxQd8WaqlIkkTOH8qUhv/LGlbdAW+USTzOaVcc4HcFfyCQrsrYk 4Ix0hTP4Yz6ZdDPSN7nKJM8AoPf1bAzMVAsP9ZSmLpLjNvpCerQ0vd3U5HvbC+zd7e1vq+ e5mfpkdLe83VQeRikUd9sIF7CEpo2auog2xsh9ea29YIlr7UOGZZ45lYZPN3HQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qsWZPPos//UESQjMPWg74FhmzLMiGh0RYF/GLMgS7to=; b=uwobysdqkkTgy2K8ZTqbW7F7bOcNf48SEvxzyQzgCb/7r1kWCf3/l0xxwzedDgBQFkyVtm wgZR9wIuv4Vh7S7Ramgi3j4WqnCDMFoM1ABcm/0gFTLlgaTHT7RWM3D2VvhmjpXmOUWhfc 2Tx3PWRoLSfB0fXFpe+J8M7ad5K9pna7C9BL8CC1Yo1B8bb4PHB+8K5qeVyydKxiqnn88e mwoO6id2dJ1F4RexpvLT22u7K+PtUM9rsHnncyRKQSpP8NjGfLcthQmsJxOT+vKuHYfETT MeYkjDf5U4uiLZmH9Hj4OJDwZxKPNhkWxiY1jOMdK+bQWYAGDXKM+2wWbEwgiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592419; a=rsa-sha256; cv=none; b=tNJtZAAzsTAvYPG71wGTbgXnXSmv8pxhuW0QcykBTzODoN4N8daYtYRlO/vgA3qGxbo8TH YwcSdZ57+zLpWqCQaP8MqenJV+VTw5DpA36UMS0EJi2a8FGP5I2xSORvk2Rg/gIhJJ45Ci tE0RhypRmfryK99TeL8GFxnFdItlHx5gyxEfh6z2Jyy0F/bPznsMI4mJ/DJuzNZgeE26AJ /A7VKQrSOwuYTKKS4Te6pO+paIC177+XptJbDziuGnn+c6DbibsTrZAKhENhzstOQWrBY8 //6FQQlLc9GByvDE0ilKsyJG6WiPH7ri527SZO///YLgTNEs0LOwbtXoR8gtww== 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 4dt9Dg0ZxmzC1t for ; Fri, 16 Jan 2026 19:40:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cbc0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 30ea10d35130 - stable/14 - iwlwifi.4: add link to bugzilla in the BUGS section List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 30ea10d3513096d65840e10d8db964368ee7cc91 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:19 +0000 Message-Id: <696a9423.cbc0.43f29e05@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=30ea10d3513096d65840e10d8db964368ee7cc91 commit 30ea10d3513096d65840e10d8db964368ee7cc91 Author: Bjoern A. Zeeb AuthorDate: 2025-08-19 23:16:33 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:40 +0000 iwlwifi.4: add link to bugzilla in the BUGS section Given iwlwifi has a (hopefully) fully categorized bug-set under one meta-bug (tracking) we can give a link to that. Suggested by: grahamperrin (as part of a large GH pull request) Suggested by: ziaee (final markup) Sponosred by: The FreeBSD Foundation Reviewed by: ziaee Pull Request: https://github.com/freebsd/freebsd-src/pull/1541 (cherry picked from commit 0f73fdfc2ab990f0b576c23c27d43436d3304755) --- share/man/man4/iwlwifi.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index 05a0ee6ecacf..411af54be9fb 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 13, 2025 +.Dd August 19, 2025 .Dt IWLWIFI 4 .Os .Sh NAME @@ -331,7 +331,7 @@ driver first appeared in 802.11n and 802.11ac support for the 22000 and later chipsets first appeared in .Fx 14.3 . .Sh BUGS -Certainly. +.Lk https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=iwlwifi "iwlwifi known bugs" .Pp While .Nm From nobody Fri Jan 16 19:40:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dk4Vk7z6Nl9D for ; Fri, 16 Jan 2026 19:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dk2bYnz3wKn for ; Fri, 16 Jan 2026 19:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8rk6NvrOAMiPUYABKKZ65c5rIcJCvPLUoAmYhUakRjM=; b=jjnwZsh87sySbSLkc6MuB8NyHOpIPji0U3Cef4rjzHebveO5ALP1+TjiPbjOy6c2oZ9z01 jDFJTDaS80k+agP+4FOfiFnQOnyI1sQhWBJgcQ7Zxxi7E0yukJvdsKm6qo+OjeR5M1sjqV PtzGA1kO+tsisSF/aUhsz9oCf54vDdQuT4YTGNXUaSeK1PArYKXU0A2s2fymBIia1tJNMG L1QEMDMadqzdZrud3jA5WQpTRgIUo9Qa2f8VYNU14IGUCkec4mmVzdDCUoWwlTjfOuIgjA JLzw17xjFzyd21fk6nHTc8kWf7I3QdjlCo97i3Kf+UxlrwWZW8Z6U8xJl4uJPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8rk6NvrOAMiPUYABKKZ65c5rIcJCvPLUoAmYhUakRjM=; b=C15B5X2//22RjqR9XLwhmFif53rA2XGi1gLCXJO81ZB1DMDkl+kgRmqYx1xkl0veIQ+e5J AFw7Rt4XKrymPkj/xmcImlpr1BcxhQFkQOtzK4v+jh5+hGRqNWMwRCoNAieUCcVet/xhJd zCi6a2P44Z+wj2h0iL8nIyStttCknTyr1e7OL1rA+5dlcGZhUFbEr6Jy5Ph7hccIqfv6cB 85fu7jC2IPThUTgHE0ob9Gf3QSC1ht3UdJUngUYjbUPiToY4VdgSkA0BrgH0W9qAQEKa5E WaDOB4CijPqHA4pY69DFJ/Ygl5J/xMgDtauVaDkuJYqDD0Tay4UZpkJeI1+PXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592422; a=rsa-sha256; cv=none; b=POlc5346vzAgoTLl3HpBBpT2pdD/KUMr3qu54j/y8awAmfJ4skmOptTxzA8FdnHYJ7Zwci u8h4TH7iOhaDbKr0NBldCIIoDB/F+QjbIoyddu5Uymr8SX2uv7WTViK2EuGQgRGE4w/bhD cZO9YK5fdAMZk3q4O3GaNGk0VZtR4FfIqjJyG9lzJgzbat+4n7y6VpUJGkH/pdTod/kVeL ybLVoBUH0NSxIeahEASDPj3TkY8lNifrO1s7MhCDW+LSUolS4tgt+x00SgjjIcOGms2TPz shvRw2+9sr7g9YCERo3AWyNNyxojel0PRw5ryVL6CGEwE7scLx4NyxrRx7h8hw== 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 4dt9Dk26FyzCJc for ; Fri, 16 Jan 2026 19:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb60 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: aaecab14f52c - stable/14 - LinuxKPI: 802.11: define the full set of IEEE80211_VHT_MAX_AMPDU_* 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: aaecab14f52c01ee0bfbb054ad5da7b0c6680586 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:22 +0000 Message-Id: <696a9426.bb60.4e4c76e6@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=aaecab14f52c01ee0bfbb054ad5da7b0c6680586 commit aaecab14f52c01ee0bfbb054ad5da7b0c6680586 Author: Bjoern A. Zeeb AuthorDate: 2025-08-13 05:38:34 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:41 +0000 LinuxKPI: 802.11: define the full set of IEEE80211_VHT_MAX_AMPDU_* Define all of IEEE80211_VHT_MAX_AMPDU_* and add a reference to the standard section. Sponsored by: The FreeBSD Foundation (cherry picked from commit 97cf5a33709b130fb108b75859af8fdc0ac4a9e3) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 4c97ae8e3bc0..5851ac08f083 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -122,7 +122,20 @@ enum ieee80211_rate_control_changed_flags { /* 802.11-2016, 9.4.2.158.3 Supported VHT-MCS and NSS Set field. */ #define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* part of tx_highest */ -#define IEEE80211_VHT_MAX_AMPDU_1024K 7 /* 9.4.2.56.3 A-MPDU Parameters field, Table 9-163 */ +/* + * 802.11-2020, 9.4.2.157.2 VHT Capabilities Information field, + * Table 9-271-Subfields of the VHT Capabilities Information field (continued). + */ +enum ieee80211_vht_max_ampdu_len_exp { + IEEE80211_VHT_MAX_AMPDU_8K = 0, + IEEE80211_VHT_MAX_AMPDU_16K = 1, + IEEE80211_VHT_MAX_AMPDU_32K = 2, + IEEE80211_VHT_MAX_AMPDU_64K = 3, + IEEE80211_VHT_MAX_AMPDU_128K = 4, + IEEE80211_VHT_MAX_AMPDU_256K = 5, + IEEE80211_VHT_MAX_AMPDU_512K = 6, + IEEE80211_VHT_MAX_AMPDU_1024K = 7, +}; #define IEEE80211_WEP_IV_LEN 3 /* net80211: IEEE80211_WEP_IVLEN */ #define IEEE80211_WEP_ICV_LEN 4 From nobody Fri Jan 16 19:40:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dj6sQdz6NlCC for ; Fri, 16 Jan 2026 19:40: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 4dt9Dj1rKHz3wBM for ; Fri, 16 Jan 2026 19:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iODdwQP/msz0JqrcF8VgU3uWaDD0H8L9NAkJOr1KEoQ=; b=CClMQ4WrbRI3w0Ilqnp/1wjEVyXJCa3P98XVgbzjPddIwNedNTwMQLfX0m184U+4fsT/P2 mb+2fr0L48G2lfjpR+H7dtU6/nJuOVbH22Z0GLTjKLVGegceIl0FIhUOUMr9japQ08LkWC idZKlbiF/Dms6MU2knshwzP3jZMj82XFJYILAsZGqJ3lRp961HAZrp+nOLxf+aOqQRAkiG 8nJX1ht/pN4HKYK7beuQNZssPCK24mfQPk4BsrC7k9pAPXH2zC1U8vSd4pa9y0T60pBTVl woxWL1DwV/PuEm30Ob+NfbKM0ISzITgPKvvdee2zvdu+12OtUuY/NXVeymB63A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iODdwQP/msz0JqrcF8VgU3uWaDD0H8L9NAkJOr1KEoQ=; b=kBPcZ8uH/SXVy8hsiNLgl8ORIPy7iSDOW+khdzJvIj+gC2aQk2G4jSvlPnXl+nnLmD7pXW bxw6v7x8OEiHRsOKaDdrN0Z41GdEAiCaueZHwO+9rAlK7kVo3xBpblEdQuJCbVePll+uLP NinTM9B2ZxwyalvLZEaHGr1XEHxV4x4GNmuOCcg9Ptn1RPPvGxjaPinsn/OkUqP3TcPn6z 9d5ZQl5S0mHq1FpjSYkqnnA90TBjH0Nuh1SD79UkoTnyQN1aTtIT7CpoIe6GpYRVDJfV9h YHY1BsyJxlHP280TLPRx53pnHENwhAyWQbwLsk/041SQqWfwHdF81TBvoxHuaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592421; a=rsa-sha256; cv=none; b=WSm+GmYduV9vEB8gccbPvEXmdnPK4PX3iGeEC60lb61BqtdEGvVvXbXfRowLdID2MdIsJC 5RUo/hrB4VxbJLyVBcXe9+B2NjyKTICzCd27kSiY5WJpWDBEd/4GDLO+CP9CnaW8eN67Fm R4Y8dUn0RvjlkZjqjq3EOZ+881PNYMI9REDa57DRgpWVNRiYMFZzKQhEI16MnPTq8NUUwP p5FS/mj7djYotdOGRnYVGwuCTtBTxKJtuwV2XZR2UBwQdgf1N+PSto7ALb/uGnfvcVAxgU 7BKjfgRPB9eINEMm19Wm2U+Uw6bDj3V9eUQuW1F/aZ4808VC2I7hAlg7xNHGwA== 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 4dt9Dj1JNVzBlJ for ; Fri, 16 Jan 2026 19:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dab1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 236b76516b6f - stable/14 - LinuxKPI: 802.11: add bitfield.h to ieee80211.h 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 236b76516b6fc4d9439921259a7d2b9645e37a27 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:21 +0000 Message-Id: <696a9425.dab1.991eb7e@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=236b76516b6fc4d9439921259a7d2b9645e37a27 commit 236b76516b6fc4d9439921259a7d2b9645e37a27 Author: Bjoern A. Zeeb AuthorDate: 2025-08-14 00:46:34 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:41 +0000 LinuxKPI: 802.11: add bitfield.h to ieee80211.h Add the include to make some driver code compile without having to add FreeBSD-specific includes to drivers. Sponsored by: The FreeBSD Foundation (cherry picked from commit 7d49a336d5bf8ce4174286c2c5d1d93b3549cb88) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 3644ef80861b..4c97ae8e3bc0 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -35,6 +35,7 @@ #include #include #include +#include #include /* linux_80211.c */ From nobody Fri Jan 16 19:40:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dm5dk9z6NlR5 for ; Fri, 16 Jan 2026 19:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dm3jxZz3wBv for ; Fri, 16 Jan 2026 19:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+jHky3iIWS/Kpe6ZbE18JcOUEutNVq6ZYmP5By1dG4=; b=IfXZmaX3ihIJkIOEVcsHx73IquQVzZPwn2W31NW9fpKeAYmZyUCGVJk2xgIgdd2lB3dPJ9 fXoSq1J0Ts5Ft+5IhlTNdLaYqM8zAoiIBZnE/aMMSYw8qe4WTGc5n0qZpwZc0hDwMT6vVx czsnIkgFjipyapnQtCY59pHWJ9SGoq5JwOdBTe6b6cDu0/+rh7k8CWO8S6bx11CMHiI6z1 z+D3+5+kb2+MBKxPTCk76CGOGJdGjQm32olZ1EbRQlwAvknGrx1mCqRH/iGpbWiLMy64Pa AEOkex+k/iCK+b1/XDF2SRoiayzIqhGaPRPOqw0glNQ8QSKXCu78d+2WoGeSFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+jHky3iIWS/Kpe6ZbE18JcOUEutNVq6ZYmP5By1dG4=; b=FGLfo3ymnJIpxj6u+trEgAbyXs6HHVYjO1n7ROU0dKgV86nLyzuXEKk137o7ECvOvF3+tb XqT0DfHwGSw97CM8TUmrxbcmX/NuwwMRDS4rTWhz5xBYU1bmyNy28/LJO6fu2zhRW/zPB8 mgIGseBi7DVx0OISSM3BnFBdb/RhNVdlQ51utxeaayKoce92CXqJANsSYnXn+3UatSWVpw tj0rAU7V3CrFaUsKcWiHnxhuOzzfjr3o8KHYYWu8FigYs8b5DO7nZcins0uJhs2QMxpMrr ChSFqpYYMDlfk/BXYcwb0TIVQ4r0Ve+UTTpHjY3409v2T7CMvM5Hh7Wd/fZ89Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592424; a=rsa-sha256; cv=none; b=q7sTlqKn7QqRez2eQwzSZkuyLXq0V3am/DgJ50MznDTNUKVAAmzdGrSP9zWgsUicRYnkaH Sg8aE84GFsTNAT8pP4KepDUZvPLozbZSW7/IXrUV1dcWj60YzppPj5ALwroC3Ec6l2lp7A rEjyqJG1931Qn+FPAV4UK9k+ZwVEAFgk0+0Vblru9eL/2Ks0ESgbHQStlFkVfKezu+T+5C vQpWWziX8sy3uCbF2fuBPGLCb3NJ5D4kfBtir1rg/u5wfHrm72iBAFdPm4jsi736nAznQz 8QHgg9fg/XhEEfdN1rBfi1m/GkO08ukXXMddVbObwCaI0gmjPN/zSUK7gZ9tRg== 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 4dt9Dm3JzfzCJf for ; Fri, 16 Jan 2026 19:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e090 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: cc8d17e4366c - stable/14 - LinuxKPI: 802.11: add wiphy_locked_debugfs_read() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cc8d17e4366ce376204037fbf2a3a9eb3eeecda8 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:24 +0000 Message-Id: <696a9428.e090.4b5ab58d@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=cc8d17e4366ce376204037fbf2a3a9eb3eeecda8 commit cc8d17e4366ce376204037fbf2a3a9eb3eeecda8 Author: Bjoern A. Zeeb AuthorDate: 2025-08-13 22:00:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:41 +0000 LinuxKPI: 802.11: add wiphy_locked_debugfs_read() A wifi driver update required wiphy_locked_debugfs_read(). Add a skeleton implementation just reminding us of the TODO() for now. Sponsored by: The FreeBSD Foundation (cherry picked from commit 0dcce5bd70b00430c6c4b447724e88551e0eab0d) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 18b34f0e90ec..89d83b59f8f9 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -2064,6 +2065,18 @@ nl80211_chan_width_to_mhz(enum nl80211_chan_width width) } } +static __inline ssize_t +wiphy_locked_debugfs_read(struct wiphy *wiphy, struct file *file, + char *buf, size_t bufsize, const char __user *userbuf, size_t count, + loff_t *ppos, + ssize_t (*handler)(struct wiphy *, struct file *, char *, size_t, void *), + void *data) +{ + TODO(); + return (-ENXIO); +} + + static __inline ssize_t wiphy_locked_debugfs_write(struct wiphy *wiphy, struct file *file, char *buf, size_t bufsize, const char __user *userbuf, size_t count, From nobody Fri Jan 16 19:40:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dm0X26z6NlCJ for ; Fri, 16 Jan 2026 19:40:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dl3TLGz3wHv for ; Fri, 16 Jan 2026 19:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yK6x91Iba8xsZekRC7C6+HNDS6XREKXskLIB6sQZAEs=; b=Xj4KRCujWKqHe9X8VMBk3QbTTXu0VhNx0wX3TKgXvMHJZhBAPbzF7M/1nJbgJTNPidVCli RGF143YrBpX4dGZ/l+Unsf7gwpsS4Ke2y2uwvlYD5t2piEUNlftk5RP76VC0FQSXBSSHed oMiemsGcR8Mxkf7QcqpnjEpbyyYXT00cXJxvxSKtF8dt26DBP5RMGRbIb4hmTJgBeKpsys +OZF74Y9nKTn4YnUulFIWHBrv3Mk5DfeD603QpYKUb/nDkC5qZq9dE2Pjc43x3QreMYDXs ljoBBa+50z4q/QcMbUpZLNtvb0LNeizWCrajytyG2wkEEL/C66O0Td6b/3no7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yK6x91Iba8xsZekRC7C6+HNDS6XREKXskLIB6sQZAEs=; b=AUMLIO8AuApT+aMw4zH17IL0E70t/wGFTQrXGANjVCEQJTvIcqYQkatmdOMvRmI5PfepaB 8aUEJ7ihmbAuV/2VA4I0Ni7wxZbOStdisgcmS7iLck+1W875Idfh0x2EMEnc+Ek28vSepz 5MPoSJ6+g75SY5B+81ZXsduE0pqyRKj46duxEXubsV26NqhoQO8gJhAaaBra4X7Tk5hG6+ ABtKAuFg6NB/0PpoiHgKXse6XdWdTxch4v6/or4PGmRm6XiiYWpWmAqpHReFwE4nZrhw8G xP2MDmC+N6gF9wir7qgIiazspNu/djpjI9gY8GP4qJmyjU4qWnw8ipbv22/53w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592423; a=rsa-sha256; cv=none; b=aQ1hTrbAcX1URdOgfAQ/TgMTH9ng2V1gJAAn94/KpFB/nsimUBU0Kp2R0wG1pnLXpcP561 A6IucE4LRuYIN0J95Q02V7Ltq6LDtCsadlKS8mERxSxSkVQ465UFGKsN5YGHADVbyGDyrG ViKQPRJTdWFQpp+8yraj0s/hJVYKUvt15OaGULjxwXtEUEzh6YNV5/fGLYdZKkL8vheIH/ YGspBYD9PDc261uAg5UBlG7bBJH3H/uQ58hSo2BpHuYEzWyVohhVq22er8So9Mpq0zsH5s 2schP0OfDldnsIE5kjqiTNqGCQshbA5TDk0Z4GR7WgJtfgZkYT2bfYlBPtW8nQ== 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 4dt9Dl2wPdzBqx for ; Fri, 16 Jan 2026 19:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id df3f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 796aa6055e79 - stable/14 - LinuxKPI: 802.11: ieee80211_probereq_get() takes const arguments 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 796aa6055e797b32ee1e3d1092f3e28f14e2c6d1 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:23 +0000 Message-Id: <696a9427.df3f.32ffc9d1@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=796aa6055e797b32ee1e3d1092f3e28f14e2c6d1 commit 796aa6055e797b32ee1e3d1092f3e28f14e2c6d1 Author: Bjoern A. Zeeb AuthorDate: 2025-08-13 21:54:39 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:41 +0000 LinuxKPI: 802.11: ieee80211_probereq_get() takes const arguments With a wireless driver updates we are passed const arguments for addr and ssid. Adjust the local implementation to take the const in order to avoid compiler warnings (at no extra harm). Sponsored by: The FreeBSD Foundation (cherry picked from commit 2b37274a9a26d66010001217d53901de5b254b8b) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 6 +++--- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index af3199c38939..2ed595095f9e 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1184,7 +1184,7 @@ struct wireless_dev *linuxkpi_ieee80211_vif_to_wdev(struct ieee80211_vif *); void linuxkpi_ieee80211_connection_loss(struct ieee80211_vif *); void linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *); struct sk_buff *linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *, - uint8_t *, uint8_t *, size_t, size_t); + const uint8_t *, const uint8_t *, size_t, size_t); void linuxkpi_ieee80211_tx_status(struct ieee80211_hw *, struct sk_buff *); void linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *, struct ieee80211_tx_status *); @@ -2161,8 +2161,8 @@ ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, } static __inline struct sk_buff * -ieee80211_probereq_get(struct ieee80211_hw *hw, uint8_t *addr, - uint8_t *ssid, size_t ssid_len, size_t tailroom) +ieee80211_probereq_get(struct ieee80211_hw *hw, const uint8_t *addr, + const uint8_t *ssid, size_t ssid_len, size_t tailroom) { return (linuxkpi_ieee80211_probereq_get(hw, addr, ssid, ssid_len, diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 5bc32b456b5d..ae919b7c5809 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7667,8 +7667,8 @@ linuxkpi_ieee80211_queue_work(struct ieee80211_hw *hw, } struct sk_buff * -linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *hw, uint8_t *addr, - uint8_t *ssid, size_t ssid_len, size_t tailroom) +linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *hw, const uint8_t *addr, + const uint8_t *ssid, size_t ssid_len, size_t tailroom) { struct sk_buff *skb; struct ieee80211_frame *wh; From nobody Fri Jan 16 19:40:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dq06Hdz6NlLG for ; Fri, 16 Jan 2026 19:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dp5PVZz3wTS for ; Fri, 16 Jan 2026 19:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JLcinGCffkm+G3zb810uGHYZ6uNuKoyIwi08PYFMNPM=; b=ndgPY+VTzbPSMt8n+W3oryBkLqnuDbwSUgOThJPvPOrG58SGl1vWyAStQFWF2X6TzMtn3H KI0oy5Kr1HRquaKNpUYBkf9OP2KXjvEUMBl1D0+TFy1k/n3S6Rk52wA+GjukTVS/oQ3kPO 15Qoi86fwMEEO1aqZj8igXgchxR/ak3IVoWlLZPtfe0x7FMCfV/YwjTKHHrbq7JnZX+v+1 YytORacw51xxAyqciR98lVgd9K+7BidHUn3enWWgdkTtSa71syHkhIntnwVF8SU/MB3NnH kKYD6bPYrfoU2+qJnub4JiiBmgG5rw+Xyvve2ieAl1uvtCc/lGxZyi+qCu3G0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JLcinGCffkm+G3zb810uGHYZ6uNuKoyIwi08PYFMNPM=; b=po/Qwp1ld5PUzWHOAV2/b6ty3cMMimmoTGRhwLhVTxyIJQda3FlQ1Tdbc6foEgUUQmOwu1 GLysi1sx0yq4Jy+t58E4RJHMOw5ZAEMmgQdSxLC+nHjZshrfkb9t8jQEGYn9FB52jvj+iu hqHRhJ1xzkgwu16+TM1qzwD3HHymA/8558iveE9C3tRiPS9Yah2FbULyjsgpoM2nSx5+vG +8XYYZDvgiQcg3j8SMQsxACAOitHQB9lQ7idtQG4ZgspO9NiCEHAlvggZWPzNux8Gz+/Ur iBTtAQDu+ckVOy/FvM8mzkpVLhAdezvZeh3yxpptbpm0Cc/g9eJ1z+KruQkp0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592426; a=rsa-sha256; cv=none; b=IewJy9huf97CuAnN/39jCU4WkuuDLSgmOOQKXnb4zYCxK37ADuSB9gcY8/e4SnWlUXgIss KiBvBopa2Wr+WndRp7rhaK3IPtRmP450ZnKuFmrkSGiaZP6UupLXXP1imzfxv0fKd2Tkwg erTWsjdB0PQweeaGq0HvqeDh76IfjwH7TtEEFGeyY+3urAOz8dpZEofzXYAQaZUFZowaup CniY9TBmOiZemfCKWiLntXfKBfMt9x0FHxHzsDnnMOmw/JfKsO1vdRblXB6d2cAoke1kdL iB7onZ23XjR5qYjavsKGCnikXvIE+WG68Q7NC497Z3Ix6c9eLg54dKflwvs1hQ== 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 4dt9Dp4f8kzC48 for ; Fri, 16 Jan 2026 19:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c946 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 66e318513452 - stable/14 - linuxKPI: 802.11: assert wihpy lock in lkpi_80211_mo_start() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 66e3185134528714f0017fe52f110b0cd9e94c19 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:26 +0000 Message-Id: <696a942a.c946.6262d2b3@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=66e3185134528714f0017fe52f110b0cd9e94c19 commit 66e3185134528714f0017fe52f110b0cd9e94c19 Author: Bjoern A. Zeeb AuthorDate: 2025-08-01 05:28:28 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:42 +0000 linuxKPI: 802.11: assert wihpy lock in lkpi_80211_mo_start() Newer versions of Linux wifi drivers assert the wiphy lock in the (*start)() path. Make sure we do too and do hold the wiphy lock. Sponsored by: The FreeBSD Foundation (cherry picked from commit 897cf423a39474096dc699f7b9d173e4a97d3510) --- sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++++ sys/compat/linuxkpi/common/src/linux_80211_macops.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ae919b7c5809..d0d32fbe88d8 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3826,8 +3826,10 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], IMPROVE(); + wiphy_lock(hw->wiphy); error = lkpi_80211_mo_start(hw); if (error != 0) { + wiphy_unlock(hw->wiphy); ic_printf(ic, "%s: failed to start hw: %d\n", __func__, error); mtx_destroy(&lvif->mtx); free(lvif, M_80211_VAP); @@ -3837,11 +3839,13 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], error = lkpi_80211_mo_add_interface(hw, vif); if (error != 0) { IMPROVE(); /* XXX-BZ mo_stop()? */ + wiphy_unlock(hw->wiphy); ic_printf(ic, "%s: failed to add interface: %d\n", __func__, error); mtx_destroy(&lvif->mtx); free(lvif, M_80211_VAP); return (NULL); } + wiphy_unlock(hw->wiphy); LKPI_80211_LHW_LVIF_LOCK(lhw); TAILQ_INSERT_TAIL(&lhw->lvif_head, lvif, lvif_entry); diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index c5720142401d..d848da433e1d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -54,6 +54,8 @@ lkpi_80211_mo_start(struct ieee80211_hw *hw) struct lkpi_hw *lhw; int error; + lockdep_assert_wiphy(hw->wiphy); + lhw = HW_TO_LHW(hw); if (lhw->ops->start == NULL) { error = EOPNOTSUPP; From nobody Fri Jan 16 19:40:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dp1Jv0z6NlLF for ; Fri, 16 Jan 2026 19:40:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dn6J18z3wC8 for ; Fri, 16 Jan 2026 19:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3H/clvQ22fW5CnbIYAG5VxFTD0ybdkIeBg7bkx34nn8=; b=s1M0fYC21D96TxMsUSk5DxfEUm8fcJRxEdXrKX0Rz+0U43dH1CCfdm8oQU+uS3BkKkaHVc Z/IwfwXwLyG820UblUKHmzMlSE7wWTzHGQwoguV3zUKP8dttz9QyR86PikuU2eVCZ3uC8U WCELqq77FSWGwOoFZ8rHB/l1KtBPeg4v9t8y/9BFWIWpFEKxp0X5qiZD4NGbB+ofAZ2B2A b0aLwF3XRjWpV6gqzR2dihqpCt0VYrcWoSSCuBS5l3Y4C1+oHV7piW0Pd7cpBsTxv5G2LM kw+EEwOUSC8DJcwlCHqMNkJWw8v/Qm7ioytsAp2aB7dTwE8HVfhO8R0n9hS3cQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3H/clvQ22fW5CnbIYAG5VxFTD0ybdkIeBg7bkx34nn8=; b=hY0/MrHoznXk5PMKy7xIQLGU54E/oC9nLqgdqBM3RAEWefXr4k3tCLfDKORl5C/vIvaxfx UWeYy+04vPkLCgyF17UuxQQNjiZR02gs0hnzIcxzhU2iRUfboD0CblGNjgLiog5XIAeLOR gbxguELv7Jkk83N0ZJb0bRJG6ov0Crq5P49GYskFp0mUonm1FyZjScoFmj1f9DNOlwJKSx iXJ6RMFWxHYaRyR3OMb4igxjD7CVnWMApQLowYglUi6inba1QVNjT652/o+IjlMn8DSqou DVH8FS04pjSo8Ifl8CFEV6/G2bdApgICOqCwb9yRLTQNwQF4t6GDfKzBS540ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592425; a=rsa-sha256; cv=none; b=PyZCDl07FFS0rqbVL6zsj9sRbgjcOJx2tfRCA98JBvv249haOH3cnhWdf/BSKbzQDI+n/d wVb1fEI6Y18X6gAopeHIOw8N11UX890Fn1D9L6Oey5YsPKOE2SvR2IIDDgegurBwp4Qj9s KR0H6EhsEDQ9bEe7sH2bVQeVW0s4U+YPopyuEmGUc23cRvoDOEFLz4lQQsv2hDUvY9Uyjk uDT+vKsSBY12r1UJPLXkmnEF8FX/iIgyd3n2+1g/RybKZVHwu++oUEBVHEdsyWixDtURwP AqSOxw3OsZ4NyRtHUSTORCWMDcH9cBiXqVLX4zfqTE9dZG58tfTMnJW5UJr5yw== 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 4dt9Dn3q1nzBhr for ; Fri, 16 Jan 2026 19:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de96 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 463d0ab1374f - stable/14 - LinuxKPI: 802.11: add dummy IEEE80211_EML_CAP_EMLSR_*_DELAY_256US 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 463d0ab1374f771366babb6e5a3fd64e24fcb543 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:25 +0000 Message-Id: <696a9429.de96.269a5189@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=463d0ab1374f771366babb6e5a3fd64e24fcb543 commit 463d0ab1374f771366babb6e5a3fd64e24fcb543 Author: Bjoern A. Zeeb AuthorDate: 2025-08-13 22:02:07 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:41 +0000 LinuxKPI: 802.11: add dummy IEEE80211_EML_CAP_EMLSR_*_DELAY_256US A wifi driver update needs these to compile. Just add them. We'll given them porper values when we'll do a full pass needing them. Sponsored by: The FreeBSD Foundation (cherry picked from commit 9f779097032cb9d41dfc6f7a57f41768463899f8) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 89d83b59f8f9..044f348ef08b 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -723,8 +723,10 @@ struct linuxkpi_ieee80211_regdomain { #define IEEE80211_EML_CAP_TRANSITION_TIMEOUT_128TU 0x04 #define IEEE80211_EML_CAP_EMLSR_PADDING_DELAY 0x08 #define IEEE80211_EML_CAP_EMLSR_PADDING_DELAY_32US 0x10 +#define IEEE80211_EML_CAP_EMLSR_PADDING_DELAY_256US 0x10 #define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY 0x20 #define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_64US 0x40 +#define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_256US 0x40 #define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT) From nobody Fri Jan 16 19:40:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Ds1NqPz6NlGC for ; Fri, 16 Jan 2026 19:40: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 4dt9Dr6R7Wz3wV0 for ; Fri, 16 Jan 2026 19:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qHPbtYpMQtGIDEpbrcEqNfee9/dYAgL8Bb4JT2ZuVT4=; b=iYkiKT4S7UZME+VPW+HUVh/i5U5BcZ3xKWMB+9D3C+Wf6hgHn8fxguslg7bWQtUFAwSU+W G/ZbIXjRGjIpA3Sh5In+OgKKJBlqiYFCDMOBkqVLuiI97LYIna0LfeK5piO1y26ITAj2fW YNummeiqs2IcI9StE0lcMiNDndnQ4MyB4md2BuzeDv+seoN7x9WWaDK9wFpTCpyBedM2l6 PYQR3oEh6cURuxPyKe4NodpvTJyx7P+6M1lSAZpbQlx9//ZzRz2KmS0C+uOFuCWLbOAnWI WNFSGrTM8UOWuEPlkayVM1PoIfITOPp+43rlcAuoQzSKTgxIuNmKlNB+57Y9JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qHPbtYpMQtGIDEpbrcEqNfee9/dYAgL8Bb4JT2ZuVT4=; b=jCPian+tBSPLLh7MvNxIZ21DraVrWQCE1vBpsNLp2pXr4dZK2Z3Mxj5IGgd61fyluQaAk8 4G23e4/HKWKIQHIc9HPGODuHWhjZa0L45HG5Cj3p8DqM3PBHrOoVcCnxzU+9IcDNz3iDMP 4NSWW9ZQdyhA9VMsaoUdBAUX3zYkDTAJt9nNFxyIm6O8a8bSz6AbqwJpxJeGEGdH2NHoLn d4OtRAUcORg4/mU8E77/5cYeAxBxpMsK9lMK9/My+NAVWUPy5VULawiQvyx49odtYT4Vc0 isJ05PP/NyZucYK1+1aABdGcHqiE7zFPlwY/0VvmvRz29SnRTMGeSgSL5TN0RA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592428; a=rsa-sha256; cv=none; b=SpDvVdDplpYcq/ITECQbrEUw6pyEvP4sunnr1c/Fyc+XWgYOaajYNm1CJI3XhvaVZI8EwR DfEtIzXx4fvTR9Fdqh5iJPi+AGiqGDCdDFBLotNlHDOLr54l/H5q5ZMOm4Qfvv8X+Pl9Bx BY3QNt6rhGD/Wf7lr6dJPuu86qvCCK7QlRsLsj2V3+Kp7Ldf63vvDjIBujG/SS33ugpprf oMgJAqn8iViW0og/+DQX3pYmE4inBukzVCnFbXaeZ8o7LpgT8lNsFP4TkHSIVjoWq7f34z 18bGPhSVHpLfm44QWn8MNzahbFltTMoDu/vHaYm9glzeOYwqwLUbchV6kH5koA== 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 4dt9Dr5stnzC6W for ; Fri, 16 Jan 2026 19:40:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbcf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: d784cfcd5c44 - stable/14 - LinuxKPI: 802.11: announce netdev features under boot -v 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d784cfcd5c44ad0dc1a92ce5a42421ff06688089 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:28 +0000 Message-Id: <696a942c.dbcf.1a25db36@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d784cfcd5c44ad0dc1a92ce5a42421ff06688089 commit d784cfcd5c44ad0dc1a92ce5a42421ff06688089 Author: Bjoern A. Zeeb AuthorDate: 2025-05-10 01:44:52 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:42 +0000 LinuxKPI: 802.11: announce netdev features under boot -v Under bootverbose print the announced netdev features during ifattach. Helps us to debug problems amongst drivers if needed. Leave a comment where to add checksum offlooading setting on the ifp if we get there (this would be based on netdev features). Sponsored by: The FreeBSD Foundation MFC after: 3 days (cherry picked from commit 8c1fdcf8c4026290d122f573e1207188ac029bac) --- sys/compat/linuxkpi/common/src/linux_80211.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 783e54070538..464650c4fd3b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3877,10 +3877,12 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], /* Force MC init. */ lkpi_update_mcast_filter(ic, true); - IMPROVE(); - ieee80211_vap_setup(ic, vap, name, unit, opmode, flags, bssid); + /* Now we have a valid vap->iv_ifp. Any checksum offloading goes below. */ + + IMPROVE(); + /* Override with LinuxKPI method so we can drive mac80211/cfg80211. */ lvif->iv_newstate = vap->iv_newstate; vap->iv_newstate = lkpi_iv_newstate; @@ -6364,8 +6366,10 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) hw->wiphy->max_scan_ie_len -= lhw->scan_ie_len; } - if (bootverbose) + if (bootverbose) { + ic_printf(ic, "netdev_features %b\n", hw->netdev_features, NETIF_F_BITS); ieee80211_announce(ic); + } return (0); err: From nobody Fri Jan 16 19:40:27 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dr2Ldwz6NlGB for ; Fri, 16 Jan 2026 19:40: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 4dt9Dq5Sd4z3wPQ for ; Fri, 16 Jan 2026 19:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gi68wEe2J7UVvt5d6USxytAN2FHkSGc0qv0I9bQ/EMo=; b=k9DBI/0JJcDJ+1Dv8Etk8SyJY8kVNbkj/UoD+PumX8bOoVxb7fy5J+NadtlSThqYYdwtlK SRAkp9OjacbwixGXxogeRU+yaFHkvAZ5KSV4my9rsXnwaGziW9HYddYkiQFbhaUSA9XG9F S5GFcPCjBj/T4carewyz5I9TNxk3i7veGlswYPreOr1/4yOhfHbilpE38KoOBU3lm6gzB5 Uo3FzIJ5tmw891JNpNQjj60Hs/v3C+N2W4vp3UcHqx5RoCKFuF8g5WdPTxC8o+qCvEsqLX 1vcb8jpf2HO4T20V3UotJOpE4Nypc9q358qDfG77hqK05bsmuReklkuyKUpxfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gi68wEe2J7UVvt5d6USxytAN2FHkSGc0qv0I9bQ/EMo=; b=Zmq0fZHq4EikVwMmQbkVrWwK88tc/E2PlY4ykSdvPNbRCrb03H8kARUWZ0cuU79TJ57oIx mnQIe87PQBCCAZ57DVuHjN/gMZTuQT268kMbrfMnyZfz1rG/44R2D8YTfG1FVP3zOcOL80 zygos7DU6Tcj5dKIHBcf3a0kp33u7AVJKu8xfQWrxkC6Bu0AaUMpdrfttbFz0SgeFDANBu 3hkMtG0J1yZl0+FfPVgvr1h2bx+GEnp1Dwhl2cYwpQxl16emOiLjWycMtSgLEctd+160t2 x89RUac7RbtieODLK8hBdNHJcR16l2KQjm2TUF3deTsJ7cjribmJy/1RYCbsMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592427; a=rsa-sha256; cv=none; b=hbZFhK8CwESLLiUA6a/w7wMNDACxgYHeo6ToqXUzrR+OjGZPEw9Wk+zyuqMA855DXcC6k/ Nxzlq8jH4xmTz5cLdvajP0GNEYpK/+t/4lng/+TQX81FYpl3yvEJ2AMS+IWpnaM+Bb8EES WCMN9NQm+IdWZ1biKSOKjP7nj4Z/CgKnG3rNrRwKEleXLUp74UNwS9ac23IQg/6VyTDd03 FL5SUaKhdFg0tQjFkTOdOWs2rahdX7V6jzXwHg8WphLJwYmq75KzaDt7mvsGJ5zkw164uR 25hfuhdptGbXxogYW5CibfhnkfnvP5FlU/taQCKJhnGWYhY5fK0GGbwr46JYbQ== 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 4dt9Dq53qrzCJh for ; Fri, 16 Jan 2026 19:40:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c94a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:27 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4faad6c23983 - stable/14 - LinuxKPI: 802.11: add guards to lkpi_ic_ampdu_rx_{start,stop} 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4faad6c23983b564b0c832eaed059b65758e38b3 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:27 +0000 Message-Id: <696a942b.c94a.7c80282d@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4faad6c23983b564b0c832eaed059b65758e38b3 commit 4faad6c23983b564b0c832eaed059b65758e38b3 Author: Bjoern A. Zeeb AuthorDate: 2025-07-20 15:03:42 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:42 +0000 LinuxKPI: 802.11: add guards to lkpi_ic_ampdu_rx_{start,stop} After updating calls into lkpi_ic_ampdu_rx_stop() were seen along with panics. Working backwards adding checks to each level we lastly ended up fighting a lsta which is NULL. Simply return in any error cases as there is nothing we can do and just leave it to net80211. Sponsored by: The FreeBSD Foundation (cherry picked from commit 8475942ca8e887287959ec2671266a210f41ed86) --- sys/compat/linuxkpi/common/src/linux_80211.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index d0d32fbe88d8..783e54070538 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5575,6 +5575,12 @@ lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap return (-ENXIO); } + if (lsta->state != IEEE80211_STA_AUTHORIZED) { + ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p state %d not AUTHORIZED\n", + __func__, lsta, ni, vap, sta, lsta->state); + return (-ENXIO); + } + params.sta = sta; params.action = IEEE80211_AMPDU_RX_START; params.buf_size = _IEEE80211_MASKSHIFT(le16toh(baparamset), IEEE80211_BAPS_BUFSIZ); @@ -5651,13 +5657,35 @@ lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); lsta = ni->ni_drv_data; + if (lsta == NULL) { + ic_printf(ic, "%s: lsta %p ni %p vap %p, lsta is NULL\n", + __func__, lsta, ni, vap); + goto net80211_only; + } sta = LSTA_TO_STA(lsta); + if (!lsta->added_to_drv) { + ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p not added to firmware\n", + __func__, lsta, ni, vap, sta); + goto net80211_only; + } + + if (lsta->state != IEEE80211_STA_AUTHORIZED) { + ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p state %d not AUTHORIZED\n", + __func__, lsta, ni, vap, sta, lsta->state); + goto net80211_only; + } + IMPROVE_HT("This really should be passed from ht_recv_action_ba_delba."); for (tid = 0; tid < WME_NUM_TID; tid++) { if (&ni->ni_rx_ampdu[tid] == rap) break; } + if (tid == WME_NUM_TID) { + ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p TID not found\n", + __func__, lsta, ni, vap, sta); + goto net80211_only; + } params.sta = sta; params.action = IEEE80211_AMPDU_RX_STOP; From nobody Fri Jan 16 19:40:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dt4fJsz6NlP3 for ; Fri, 16 Jan 2026 19:40: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 4dt9Dt0ZYyz3wX7 for ; Fri, 16 Jan 2026 19:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BOmEVPJVa6nld+gg1IVr2zZXW1MwysgHGTQgDXVJO4Q=; b=lMn3TjLRbkE6wDkd/7YkE+ysKNMkEshhT6psPEOfy/6bP4oKv0BkFx4KmQxsf4Hy3Budi1 1k8HHnmG9SQvwGY1TunzagjV5BEDoXVXeN/M+gylUOM8bFG2in9QMSHWIx1+5WCgzzzJzL jj5QBaOM9q6miTempbXhfAFEBRuKJV3wet/lACgvNmty1Mpk+DtA9T/VJIjOUz4sUmmzSF PLIE2ChdDQCpLDCbIUbiXSjogIuBo5HO9Q0fmULs51NcYb5pfZywmnqD8BL8Rpks3UWo6m QB8nAXLbqHp2WPWRD/65E4YXNP9fiSdQ89mX894ZG58OwkhlgnL8FfxdMBNNNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BOmEVPJVa6nld+gg1IVr2zZXW1MwysgHGTQgDXVJO4Q=; b=VGEv2ZwMhqbTptJRWY+4dMCbnZD71Vu77/acrn9tX0g+jR9EhVhTXvwcV1saLE0YyDEaUS ZzOk+OpzKvkv2dVVHcpJb5cl6pk/ZEhjeBOcNmD1KomCH5ICVNox+izjtTAO5uFFt22sHE mZ00u5cN7G6WUjqVKHyW2ITpAKcNny7QdDW1DYlXh/5X+G42XWsHTIYxMcMymjrk9LIj/C cQnYbIrEbb264hPZ7mY2lvAo2XI2TgXHsOUt5KqYIKa5YBo1NIg1o48w1HMT/U5ogcj+eK sA9tAW/3en6o4azc3umfdtWbCTY+udsQNq0A4jHOhKCDfrV0shmHbrAQRVXpjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592430; a=rsa-sha256; cv=none; b=krVjzFytnXu+5pLYOGeeXGHXb4BA1H2UKfK40sZKPX/cdqRmqtFM3Ni59B+14rqIx2Tjzt 2aoPFMtqfMldmKSMUFmiSHXoopDaukdMHtoIdpIJcqPSmTu87zaTvTBuj+qHw/vOVVTXxV JaUqq0il5mheWLhT8JEEdx7cPzvAfV5RFQo9Kn7DLdS/iw5NAQsl5WpASAZyd+Un2WpF9o Tv0FpAR65O9ACs6kIHcmh55oj2cP2csGF5jVNRd3qwPa7y4Ek4B9K+mAcwyuc7G6xIbI7A Rlc8a4sE871xhvkts2nhbHVI+Kcm2vcIsozD/nfyQZ172p7T32dixuR4UVceeg== 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 4dt9Ds6hRPzC1y for ; Fri, 16 Jan 2026 19:40:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c94e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 8346b963c666 - stable/14 - LinuxKPI: 802.11: assign values to WLAN_HT_CAP_SM_PS_* 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8346b963c66628bd03121cacec60a9351cbbaa0e Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:29 +0000 Message-Id: <696a942d.c94e.7ef15715@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8346b963c66628bd03121cacec60a9351cbbaa0e commit 8346b963c66628bd03121cacec60a9351cbbaa0e Author: Bjoern A. Zeeb AuthorDate: 2025-08-21 22:13:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:42 +0000 LinuxKPI: 802.11: assign values to WLAN_HT_CAP_SM_PS_* No functional changes. Sponsored by: The FreeBSD Foundation (cherry picked from commit cd3c9f7afc275c250025bdd1140ce0e821d23f34) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 5851ac08f083..b9161c586d07 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -147,9 +147,9 @@ enum ieee80211_vht_max_ampdu_len_exp { enum wlan_ht_cap_sm_ps { WLAN_HT_CAP_SM_PS_STATIC = 0, - WLAN_HT_CAP_SM_PS_DYNAMIC, - WLAN_HT_CAP_SM_PS_INVALID, - WLAN_HT_CAP_SM_PS_DISABLED, + WLAN_HT_CAP_SM_PS_DYNAMIC = 1, + WLAN_HT_CAP_SM_PS_INVALID = 2, + WLAN_HT_CAP_SM_PS_DISABLED = 3 }; #define WLAN_MAX_KEY_LEN 32 From nobody Fri Jan 16 19:40:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dv2RdRz6NlP4 for ; Fri, 16 Jan 2026 19:40: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 4dt9Dv0p1jz3wfZ for ; Fri, 16 Jan 2026 19:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iYHbrF+GzKuP1aaovdifKjj9zloR+Cii1sSqYKxtwE4=; b=SJnzpNql4P1irEL8m+fhSKZDbkFFkdoWi9Cc+JH4sohFvT6DKOVI++yPdvZT//KQ0A3iRi UgqwnMiqHREuP9B/KpYoGirv2459Kc9dDxj/1qUXV2NbpNvJQ2uR4+w9npGKuaq0pB2+17 8gQKxHhYbc/QgznS/PmD1We/r3TkrTBMbbmkGjfPHCPijZJRtj74o4LWGdz4f0tFk/DUcb ObMDoJ7h7gsz4Lwa8Y4+dZ7RXz4pRVv+48hlITffREjy+prYddj5icRImlW7tzH08TORgb Tb2SN1Fz02KKse/zf29NY7yFRzNP3a9GPjuHRz2avB9PXDWmaoLJD2tmBROz7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iYHbrF+GzKuP1aaovdifKjj9zloR+Cii1sSqYKxtwE4=; b=FLtjD9UOw4lUR+9gqcCHbPuMt6pz1+4g07tWK2i3Zf/4b6VvomcKnPYq3a85dgJ5Cl/ICQ o31sAZhVweMaT1YkU2a5ZW2mkB+3Y8HMLS3S7MSlfD9ozRvmgEpPDVj2QJ0U7bfH1dVv7g fpzfIc2P+D0MX9rwyE9tCQGt56Txe0uRafIDY9xhIh8DRpLumhPisVl6DQeJZSnrqpZErh 6urMhN9pS81vRhK2wKBLtImk7s5cxtoHkiTHgEc3yKl3LGwlISIw3FCnSuU1XO/2Z0CP5J QwHIsAEUltr1RyDYXcK2BM2LL1StPt37oKPxxebaTLS3u6QSV1kKs6Q1C+rUZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592431; a=rsa-sha256; cv=none; b=gkzx2p73N0J+eaOV0h3Hi27gyCW2TaM5+IGJ+s8A/roybnLCpX3rBS20OcFPJzLBF8bJgy HdceaC9qSldNuSlRj/NDVlgU/8tEqX7oMcA1fvCAziqXfCLEEbR+cw+fZH+W+/o64m5RtX 6H1tBIXKWacLnTrC8K35yvLaWx43cpzbAoUpdktnZKG9bpvSqdtQZXWcwOTriJCRrUVDW2 YO3HPU6Ss85eXgiff2m/afJkgcz++oUoB/duCILQwjdBaADQ6b8jh9ZLGpwjHlUh/GOfst ad8LJRS264C17od2MMv42BqcWYUVcAHv4/Z3gSU37OEZ6Osits0P7qByBCmUTQ== 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 4dt9Dv0KK6zC20 for ; Fri, 16 Jan 2026 19:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cadb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: ee44e19f0f8c - stable/14 - LinuxKPI: 802.11: improve reg_query_regdb_wmm() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ee44e19f0f8c5050c88e991e7f83521d776d094a Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:31 +0000 Message-Id: <696a942f.cadb.327ceb34@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ee44e19f0f8c5050c88e991e7f83521d776d094a commit ee44e19f0f8c5050c88e991e7f83521d776d094a Author: Bjoern A. Zeeb AuthorDate: 2025-06-21 14:07:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:43 +0000 LinuxKPI: 802.11: improve reg_query_regdb_wmm() Adjust the IMPROVE macro to also take a format string and use that in reg_query_regdb_wmm() instead of TODO() to avoid spamming the console with something that needs larger reworks. Return -ENODATA instead of -ENXIO as that seems a better fit though the only consumer uses it without checking the return value these days. Sponsored by: The FreeBSD Foundation (cherry picked from commit 85eccabc41c92d9147cac5c6f5434e2015d7eca8) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 044f348ef08b..b79dd003a677 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -57,8 +57,8 @@ extern int linuxkpi_debug_80211; #endif #define TODO(fmt, ...) if (linuxkpi_debug_80211 & D80211_TODO) \ printf("%s:%d: XXX LKPI80211 TODO " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) -#define IMPROVE(...) if (linuxkpi_debug_80211 & D80211_IMPROVE) \ - printf("%s:%d: XXX LKPI80211 IMPROVE\n", __func__, __LINE__) +#define IMPROVE(fmt, ...) if (linuxkpi_debug_80211 & D80211_IMPROVE) \ + printf("%s:%d: XXX LKPI80211 IMPROVE " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) enum rfkill_hard_block_reasons { RFKILL_HARD_BLOCK_NOT_OWNER = BIT(0), @@ -1299,10 +1299,9 @@ reg_query_regdb_wmm(uint8_t *alpha2, uint32_t center_freq, struct ieee80211_reg_rule *rule) { - /* ETSI has special rules. FreeBSD regdb needs to learn about them. */ - TODO(); + IMPROVE("regdomain.xml needs to grow wmm information for at least ETSI"); - return (-ENXIO); + return (-ENODATA); } static __inline const u8 * From nobody Fri Jan 16 19:40:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dw47QXz6Nl9Y for ; Fri, 16 Jan 2026 19:40: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 4dt9Dw1Gvrz3wYw for ; Fri, 16 Jan 2026 19:40:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ccLgWONNuL8NRli8itwtNFnwlqjTE+1UjFpdCCcDfso=; b=KWmLGHhshdVKOLfBhwGZr7+gqIL31Zp3Nfg0C/K8sYNSc0qrQfhbv5p1d0TcihnKrv3v1P oVj4t5Z29AdAUbwWOOe1Pe5FbvFi4FUp8IL5UuNoILXRLKXRODb0GSuuaXfKFsBbHsKVlk sZTENGbeCtu7TAO4kUggIth6Pez5mXL1ipWexeCNwtTEDcK50W7cY1JoKJXFyn5LFGHKTN xM6/SElW//Bc2JaKrrcMOnQ5awx4vICRiC9cdBBYzU4whG1XAWdrIjtnbZgL3jgklsb0vl QYLu6HfUBu5/CPo27PKbu2ffdf3vfy83Xk/NZxVnDGUn95HraIThV8F/uqdTXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ccLgWONNuL8NRli8itwtNFnwlqjTE+1UjFpdCCcDfso=; b=omb/+8uugzqt+bVk5LNbWIVj1eZymSfZZHSK0wIksak6IOHsNSvDMm9S6537QjllhRHLLt rF7Mx6OAsuBMfZ/+K4mN8H1n9MG9s05UviXN4IoT/jJKhwv3Fn0ctoSyM/nBkBz2BCzbdD Z+xkfrCCuyKEUqtPGaQlE+jpjm92iA595/m7ew0vdJGGR7jkJ2q3y8RIqvOLSEx3P02qxo lnglo1RzOMCTZXd5COKgKZTtFgZwhDW0I+i4c0ZvWMCkWSPOLYlBi3hZd1fxuyiqsltjIA sTNE3XLzY/b5SePrRg4N+qTSSszezXvpjkI+MJ1mS512dvZwB9vGnAA2w9cxwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592432; a=rsa-sha256; cv=none; b=HPH7qd17oN6sOTE3yNucKzGRdOtaDLO9hK7zVEPQddric0p3hSnw1xi2C2u8cBdig13Ahl ulr1s0FbRUnimPV3LNimNHeDi0CHQr09PvTfzD44vrFLTbP/Sp6ssnga4ORAR17o5jmOfj Kz/LtVHmz80BuTExxzI8k7mvexn7/Y6yKB4z1nhsjVbCqqLn3sTkqSjsbIo/W6YNYYzeHP Ic4EJ9BMjxIIn1WD0xB+/iQGLPKG+5lXc+ASwOg4kguhRbNPdk5gcd95dpXyRRK4dIOzDr DeNEGr/MX3OGcwYu4iOJvFOjSpGMK1Bl5SWGde/hag4TmmpsaX8aPXaEZvcSwQ== 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 4dt9Dw0t5PzC6Y for ; Fri, 16 Jan 2026 19:40:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbd3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 7937d7fe644d - stable/14 - LinuxKPI: 802.11: correct struct linuxkpi_ieee80211_channel 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7937d7fe644d7f55f563b65c349637c7acde0e25 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:32 +0000 Message-Id: <696a9430.dbd3.1534f92b@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7937d7fe644d7f55f563b65c349637c7acde0e25 commit 7937d7fe644d7f55f563b65c349637c7acde0e25 Author: Bjoern A. Zeeb AuthorDate: 2025-06-22 07:31:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:43 +0000 LinuxKPI: 802.11: correct struct linuxkpi_ieee80211_channel Some of the annotations were not quite right. Also various fields had not been typed properly. Correct the types of field members and given the change also re-sort. Sponsored by: The FreeBSD Foundation (cherry picked from commit a394924856373b5228f542360618cfed8e334504) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 25 ++++++++++++++--------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index b79dd003a677..239b4a5ae7b8 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -128,19 +128,24 @@ struct ieee80211_txrx_stypes { uint16_t rx; }; -/* XXX net80211 has an ieee80211_channel as well. */ +/* + * net80211 has an ieee80211_channel as well; we use the linuxkpi_ version + * interally in LinuxKPI and re-define ieee80211_channel for the drivers + * at the end of the file. + */ struct linuxkpi_ieee80211_channel { - /* TODO FIXME */ - uint32_t hw_value; /* ic_ieee */ - uint32_t center_freq; /* ic_freq */ - enum ieee80211_channel_flags flags; /* ic_flags */ + uint32_t center_freq; + uint16_t hw_value; + enum ieee80211_channel_flags flags; enum nl80211_band band; - int8_t max_power; /* ic_maxpower */ bool beacon_found; - int max_antenna_gain, max_reg_power; - int orig_flags; - int dfs_cac_ms, dfs_state; - int orig_mpwr; + enum nl80211_dfs_state dfs_state; + unsigned int dfs_cac_ms; + int max_antenna_gain; + int max_power; + int max_reg_power; + uint32_t orig_flags; + int orig_mpwr; }; struct cfg80211_bitrate_mask { From nobody Fri Jan 16 19:40:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dy0lX3z6NlK7 for ; Fri, 16 Jan 2026 19:40:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dx2LXmz3wnn for ; Fri, 16 Jan 2026 19:40:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zQfmK0SiXObyAG7A9w7eLrh5AIzzw8cKh/HoBsMfYAs=; b=A4Bg1L0f60RUBq7Pt7Uvfj0d3HtwZUE+YiZ5qXI494m7f+xNHUJuZTjPUAt6oPgs6rB2v+ V7kDeE4cRXzZYHFJ2NyupP1hDdwXZwA5kUrMUsZPgoGepfhOwhKFlkG6ymMIMHk6dUVvto s8hNAX7qyYUjJsIW7C0ovp/uLSNcS5pRim3Ysm5A0As45/BNsx1xy45/9lhaYtoJ6Zsfx1 d/6thbSxhmgLG+S1sT+RJ4KVxIKvJBd4KvVp98ZlNwmtk+dEpLSbcwennY+EvgTPfS6tuv TLmZ1VlR3ebFMagmh94UOFbp84Zet3uLKJ7YAltsTHcCURQutJheXse97qFFzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zQfmK0SiXObyAG7A9w7eLrh5AIzzw8cKh/HoBsMfYAs=; b=huJ9lO9evD2uAbh3HFU0vq0xzJNLx/BTCoKC5IZO+sKh4JJhC/EfD2u+BR5Ic/PA8yfi8F G0tx4iVRhDoGtkk+9ga0p9QVDZILnKpd07uyfsKCSetrusz+G1pIRT0zv8FJf7MpQ6Hxuc EG2YCLoaSJwkJHEPh7L2+VwunTcf7NnwmV4ND/ZAMX6JWNt2xqpuQ10qI/4y9kPCEUiGq7 4aAWC2sRrpfiKLdZ2fBphE8EanN0n3FUFqYCqdjWW8fEZDAt/SFysycHrG1QJFgjHe477+ 89DyrDRLeEPBfbeySTicAzw5hXr3GX2BavwC/Z5whx4NO0Y7Qo+GTYW1YIAHUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592433; a=rsa-sha256; cv=none; b=v3P2vQ0XlHBkgfoaeCt3Z+7VVL4oSn/dVt4mX4LroG08oaQvmOl0BbBlPhH+lyYS1UY+qQ 3+qnF/nUnZa7grwYTyO51e9c7gwHkdRuSsouGCFewntUxgqbPlpzVuoFFrszwh23/OdN5D m2mlhxbzbGx551cAXtIb9STmdvesBoWaIlmALjNbe2iz0TnHIkaF6GJ/TqKytbzVWGK7eD QINaZDru3GRb4W/29jUE/DpxDBxdH77XcGoONqSuEpIMNyJdb2364uGXA4oabvPRMgxKEJ e6A+OKLg43VZ0ZRzKkYjZGmuRw+niyJiD6W11AvSA8AeBSk9Sgruuc3/dtWa6Q== 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 4dt9Dx1HGyzC4B for ; Fri, 16 Jan 2026 19:40:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id da1f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 11f0a07f37c4 - stable/14 - LinuxKPi: 802.11: adjust linuxkpi_set_ieee80211_dev() to set ic_name 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 11f0a07f37c49e7c9bce020a2996c92a5466bb46 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:33 +0000 Message-Id: <696a9431.da1f.1f42ab4@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=11f0a07f37c49e7c9bce020a2996c92a5466bb46 commit 11f0a07f37c49e7c9bce020a2996c92a5466bb46 Author: Bjoern A. Zeeb AuthorDate: 2025-07-07 07:02:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:43 +0000 LinuxKPi: 802.11: adjust linuxkpi_set_ieee80211_dev() to set ic_name While we used to pass in the dev_name(), we now use wiphy_dev() inside the implementation to get the dev and the name. This is for two reasons: (1) ath1xk also unset the dev and we need to check once we add support, and (2) in preparation for future work, which needs to hook into that point. Sponsored by: The FreeBSD Foundation (cherry picked from commit 60307068cf64700f5379c782ad98336d4d0f7390) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 4 ++-- sys/compat/linuxkpi/common/src/linux_80211.c | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 2ed595095f9e..c667ddea1085 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1135,7 +1135,7 @@ extern const struct cfg80211_ops linuxkpi_mac80211cfgops; struct ieee80211_hw *linuxkpi_ieee80211_alloc_hw(size_t, const struct ieee80211_ops *); void linuxkpi_ieee80211_iffree(struct ieee80211_hw *); -void linuxkpi_set_ieee80211_dev(struct ieee80211_hw *, char *); +void linuxkpi_set_ieee80211_dev(struct ieee80211_hw *); int linuxkpi_ieee80211_ifattach(struct ieee80211_hw *); void linuxkpi_ieee80211_ifdetach(struct ieee80211_hw *); void linuxkpi_ieee80211_unregister_hw(struct ieee80211_hw *); @@ -1255,7 +1255,7 @@ SET_IEEE80211_DEV(struct ieee80211_hw *hw, struct device *dev) { set_wiphy_dev(hw->wiphy, dev); - linuxkpi_set_ieee80211_dev(hw, dev_name(dev)); + linuxkpi_set_ieee80211_dev(hw); IMPROVE(); } diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 464650c4fd3b..6ad53eb81bff 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6048,17 +6048,30 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) } void -linuxkpi_set_ieee80211_dev(struct ieee80211_hw *hw, char *name) +linuxkpi_set_ieee80211_dev(struct ieee80211_hw *hw) { struct lkpi_hw *lhw; struct ieee80211com *ic; + struct device *dev; lhw = HW_TO_LHW(hw); ic = lhw->ic; - /* Now set a proper name before ieee80211_ifattach(). */ + /* Save the backpointer from net80211 to LinuxKPI. */ ic->ic_softc = lhw; - ic->ic_name = name; + + /* + * Set a proper name before ieee80211_ifattach() if dev is set. + * ath1xk also unset the dev so we need to check. + */ + dev = wiphy_dev(hw->wiphy); + if (dev != NULL) { + ic->ic_name = dev_name(dev); + } else { + TODO("adjust arguments to still have the old dev or go through " + "the hoops of getting the bsddev from hw and detach; " + "or do in XXX; check ath1kx drivers"); + } /* XXX-BZ do we also need to set wiphy name? */ } From nobody Fri Jan 16 19:40:34 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Dy5sgzz6Nl9c for ; Fri, 16 Jan 2026 19:40:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dy2c09z3wg3 for ; Fri, 16 Jan 2026 19:40:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mGfzVPGpvMQM9rV/9gnADZ5yI/+9ee+GJ/KDMuV/OZg=; b=U4WTBOYd5nYHtEHsXMDS/Okonzn1Cchvu4bJlhop8Jta9ngLcUuquKRwayzCFpLtgVgcr7 4UkSBu568sJJdxnMr1GoIGDRZ4bcQ7KoXPczc0RsFRbh6S75Ot+e3WJT2p4U6/KjBz/hNb ys2ovqtt4MlTxYo3yMzFuyjbuZ2IFhUDpCUqjIDRo49T8vVeZeBp1wPGxTK1+hGdJ4I8sk /BkJnRtp7jpMdlZfTXUjxPtQHCEWzJlGROXoscq9K5MND+JcY4ql/kCE07LfbiCTUM7BKN dxWYx71oFTAOea2j+y643n/CaPHHVqv06+x7yMmR87hJqq1ZRGw4FR2VTEiC3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mGfzVPGpvMQM9rV/9gnADZ5yI/+9ee+GJ/KDMuV/OZg=; b=fPv0OMZrnxT+EFaNGCqfrPkLVyeTHiQ9zD1fqWrKASIONqNDUka+zWKLpbOZUoB3c5icmY uGlV+tTNx6xPHuvM96+4IRfa7DapvR8wAMbwEhvhIENGjTXFIovkc9UnZxm3bXOw2rIwns KqrYSFHUlHxDDRcSnLYPfIBEErYyCG2UkAm85/LZnlHhQX57LY2YyKs8irqBEy7xkjjwMA AO+i8KX3Yska0cv7AoiZ8nqHVSXsxpicnFJNTaMgvY4DASoFSnnOG13fkVnYmJcaitNW9Z d2SyazOCbFSMMny+lov2vnIi1Pp4WSycXnpdHM+FopvVeOSxKv42+UKKhOG7tA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592434; a=rsa-sha256; cv=none; b=mlR9jyuG6oMOsmOCieq1mbINyqXjNiRLVRMGsltVHzr08WtgjwXQtqoY8KqKFZ2AjTfObr 3dK6b58wAQMRDJjjggfuzAN0VhC34kfm5rm9dexPNeQQ7f9pshabQMz3d9NWPOcLJIF8jr AvAGU4HD2tm319YPbVOeIcCii6x39j7aCxsu7Z6yIjmyHTht4qIP0rwSnx0LAbmz4bvTkF bqnpBf9zq6E5GFfuorg+62dhmxX3WZ0gDtdQmMJqO4mJEHf+elNAXC+HQcvkyIV4kkeYq9 rrdQ0qHvQYSHszOjlqp7vujs78NZlO1nDXHh20okWq3Kc8jD6pXkC1u7b+xrsQ== 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 4dt9Dy226DzBhv for ; Fri, 16 Jan 2026 19:40:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de9a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 203fe473d079 - stable/14 - LinuxKPI: 802.11: improve ieee80211_request_smps() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 203fe473d079add112ddc2a019e9b33d48821309 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:34 +0000 Message-Id: <696a9432.de9a.38db9f77@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=203fe473d079add112ddc2a019e9b33d48821309 commit 203fe473d079add112ddc2a019e9b33d48821309 Author: Bjoern A. Zeeb AuthorDate: 2025-08-24 08:28:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:43 +0000 LinuxKPI: 802.11: improve ieee80211_request_smps() Adjust logging from TODO() to IMPROVE() now that we can use fmt strings there too. Make sure we are not getting unsuported values to print. Also for non-station mode simply return. Sponsored by: The FreeBSD Foundation (cherry picked from commit b1e67b1a74d33e7a26e53886750a48f070a47226) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index c667ddea1085..19f7bcff29dc 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1741,12 +1741,15 @@ ieee80211_request_smps(struct ieee80211_vif *vif, u_int link_id, "SMPS_STATIC", "SMPS_DYNAMIC", "SMPS_AUTOMATIC", - "SMPS_NUM_MODES" }; - if (linuxkpi_debug_80211 & D80211_TODO) - printf("%s:%d: XXX LKPI80211 TODO smps %d %s\n", - __func__, __LINE__, smps, smps_mode_name[smps]); + if (vif->type != NL80211_IFTYPE_STATION) + return; + + if (smps >= nitems(smps_mode_name)) + panic("%s: unsupported smps value: %d\n", __func__, smps); + + IMPROVE("XXX LKPI80211 TODO smps %d %s\n", smps, smps_mode_name[smps]); } static __inline void From nobody Fri Jan 16 19:40:35 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F01qXtz6NlGT for ; Fri, 16 Jan 2026 19:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Dz31hsz3wpC for ; Fri, 16 Jan 2026 19:40:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oP0n2ZoHcb9xofo2hN1e2SBWS3gagwlBXqoN8nFJEuI=; b=pqGuzwVgCQj1LYD85YBmiTpDnimbSKopP9+uNipYrW+RrUj1KnjGC8iOFui9Q66Ly0a6Dn qS4OsuulAhBc5MitakbjQGjIdr4RACN9ZUL2Gfxff9fqQyjkVAAKcWRJqQ0LfWNQ15pMUp LII6C32xr1VahSWwAS7x5AaQgfnglCHrZJ70mwJlCoMXCA/Gz4Xhy1iCksY+GY1Hr7C23x qgiwxZAzJo2OdFarAoMsvIO9kWNRIPcJQDtEdMZpbogpnw7mv0oFYx3xBP0auH5jAA6xs2 vsJPL3IaweTDQic2tz2W/iPE3xQLVYhCFZAcI0KshTzvy2p0sGeOK2IDBXi/7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oP0n2ZoHcb9xofo2hN1e2SBWS3gagwlBXqoN8nFJEuI=; b=c54xH8AOSEm/lSgyEvfvFXF5KjEV2Q0czlfaikfZsYyiFn92R3RY2PAtRCyF/3N7Jz/G3Z dp4euw73NqjOUHFDd/u3JWXTkZ/TPMqlIpNu4VGBPqw+6mZNbQhk2bsazdG6XRO5mlYc+z Qlg7cJXMco9ToFDJ2bzaa+5hFOgMaMeTbaJ2V0kdMof4NnxcKorjuiLSHwNgY9j1lSZ/AK Adcc2pwtGCs91nQeo55VAJU/dOuDveCuXmLdjtDK+M0Mq5+ujXS7tAsbYndqCOcQr/ktC2 F0RLJD09vAVoFoIBECpVKI1Yr/H4H9aHD9hyRGH867Al40qw9QNiU/Fr9dCoEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592435; a=rsa-sha256; cv=none; b=Q1QSAGw0K8tdNYUEX3zk/ldlwCGu/P13J2hCpZ11Mg9psFadcf59rRLcmkMPySlmq86JxR ofTFOB0MNlOKJehkaqnmKfWvCwAeM70W3zn4uMPOdfZPGTAxmM3E0yqeu7D5OtdnDrrnve Kn3UYnnH9lkBRjCmSMj80XRv1ILFEmCWEAX/n9fet8O5xa5ECK2VOq0R8x19qFNREyUGMI 87YylaI20aYSSudxdUnC9owjpZso8v+EtGbSFz3PyUK3iC1eNsefcy0G/jBezSWQpQZIKg RmCYU7K23gVKugO/paL1hzwCmgEbtwJeH3JjuvA815FrggMmpIZtI3e3sVRyXg== 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 4dt9Dz2W9kzCJm for ; Fri, 16 Jan 2026 19:40:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id df43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 03cc8045e57a - stable/14 - LinuxKPI: 802.11: fill in sinfo for chains in case driver does not 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 03cc8045e57a5cba2e5e4aa109fdf5a903630d15 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:35 +0000 Message-Id: <696a9433.df43.56c53e62@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=03cc8045e57a5cba2e5e4aa109fdf5a903630d15 commit 03cc8045e57a5cba2e5e4aa109fdf5a903630d15 Author: Bjoern A. Zeeb AuthorDate: 2025-06-14 00:23:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:44 +0000 LinuxKPI: 802.11: fill in sinfo for chains in case driver does not We are getting per-packet information on the rx chains. Save them locally like we do for rx rate and add them to sinfo for the sysctl in case the driver does not fill in that information. Also note: chain_signal is a bitmask and not a number; treat it accordingly. Sponsored by: The FreeBSD Foundation (cherry picked from commit b3b61079ccc24792f1410840e42c36f71b9cab9f) --- sys/compat/linuxkpi/common/src/linux_80211.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 6ad53eb81bff..fb6d7dba28de 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -325,6 +325,14 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) memcpy(&sinfo.rxrate, &lsta->sinfo.rxrate, sizeof(sinfo.rxrate)); sinfo.filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); } + /* If no CHAIN_SIGNAL is reported, try to fill it in from the lsta sinfo. */ + if ((sinfo.filled & BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL)) == 0 && + (lsta->sinfo.filled & BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL)) != 0) { + sinfo.chains = lsta->sinfo.chains; + memcpy(sinfo.chain_signal, lsta->sinfo.chain_signal, + sizeof(sinfo.chain_signal)); + sinfo.filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL); + } lkpi_nl80211_sta_info_to_str(&s, " nl80211_sta_info (valid fields)", sinfo.filled); sbuf_printf(&s, " connected_time %u inactive_time %u\n", @@ -341,11 +349,12 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) sbuf_printf(&s, " signal %d signal_avg %d ack_signal %d avg_ack_signal %d\n", sinfo.signal, sinfo.signal_avg, sinfo.ack_signal, sinfo.avg_ack_signal); - - sbuf_printf(&s, " generation %d assoc_req_ies_len %zu chains %d\n", + sbuf_printf(&s, " generation %d assoc_req_ies_len %zu chains %#04x\n", sinfo.generation, sinfo.assoc_req_ies_len, sinfo.chains); - for (int i = 0; i < sinfo.chains && i < IEEE80211_MAX_CHAINS; i++) { + for (int i = 0; i < nitems(sinfo.chain_signal) && i < IEEE80211_MAX_CHAINS; i++) { + if (!(sinfo.chains & BIT(i))) + continue; sbuf_printf(&s, " chain[%d] signal %d signal_avg %d\n", i, (int8_t)sinfo.chain_signal[i], (int8_t)sinfo.chain_signal_avg[i]); } @@ -6881,9 +6890,17 @@ lkpi_convert_rx_status(struct ieee80211_hw *hw, struct lkpi_sta *lsta, rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; #endif + /* Fill in some sinfo bits to fill gaps not reported byt the driver. */ if (lsta != NULL) { memcpy(&lsta->sinfo.rxrate, &rxrate, sizeof(rxrate)); lsta->sinfo.filled |= BIT_ULL(NL80211_STA_INFO_RX_BITRATE); + + if (rx_status->chains != 0) { + lsta->sinfo.chains = rx_status->chains; + memcpy(lsta->sinfo.chain_signal, rx_status->chain_signal, + sizeof(lsta->sinfo.chain_signal)); + lsta->sinfo.filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL); + } } } From nobody Fri Jan 16 19:40:37 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F20YJMz6NlGY for ; Fri, 16 Jan 2026 19:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9F158Z7z3wmG for ; Fri, 16 Jan 2026 19:40:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y/Ys/CRko73jvZyG0XkxlyJukyT4r43ZyH707tHsRGw=; b=A4Vacp/3H0W0ym5hzHe0jouG1qJuXkoOhDzxp8/5f47rFh2OqlcpZkyyWxTHuHGckdDoRG DdZfnD4V9CC4JkgU2TDzCwbAcK/0lU7PLOqM2nhTfMUEO+ZRR7buf96oOF8tj3ZwUPtsxK LdTqASBraBtCWmnOX+3D3b9MZVbm+YJzM98AaDo8ftUA0JpZChGbAH8cZjQngTyQ8TY94G ET/nyujq6UayFeqn5qcVp3I2hmVuxxj+0/Y5GL9vlfBImmpv80bvc4PXVopW2xbrz0+pS/ +u3sU6MbJVDt+1HFjv7DRZx73lNPfv+3y7XrWpTPjhOaoEuZi1VW5swUozDBOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y/Ys/CRko73jvZyG0XkxlyJukyT4r43ZyH707tHsRGw=; b=JV+SupWbye1pVo8rnTxjS9aVhI765JNwqenIMwDufQXrJAI413RMsZmZ8pyoaqKxQSKf+4 gRFGt9FjAniCr2ho4EEIDQrt6C8N7094NPObWB2ydHyizJSN4bRVgi1f7cxJTL2kAoPjYr SPVS4aZ2Qo0o6FJzuioPfb+bnpcAixjB4mNXKh8hzUkpshfbaZvnMelbkyQV6HDRDZztsk w/ucctELIVgWdjnF2NzrZbMx81uzWIrcda6AhOPhK4WfWlmpoS4lYVtdhn+ko4tOy415Y7 1GEVOO6Wahb8Gp1c53OrDxNDbM3waU/Zh6EvzRzB2MxuVO5TZN7lePjQ/yiztg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592437; a=rsa-sha256; cv=none; b=oTYjug2k6HIauBa+5CrZ5Ll5SmnAVkdIID0lA7uMTg0SZnSYoNh9nuDPrDBc8wT/+4jcYJ sc9DeLWY7bBZJaMva9jcdIrhoJmkgXK3jE2REJoMecZ2rGF6rlNVA8Xfk0VLXZTA/dFAW1 QyJD6L6IUXdayYy/0TPS2eOx8w6G9Pbw0bFPW1vukI8+fomLX/F1qx/sEUh67Su79HfmIs Zf2B/ymn7n0zEGepQH7ppNXko1d1oGR8qAz13ePYytWyl5Pt3o6DAZdRCqSwViwph2nI2L GhnOT59m36V/DGsT4uyCMHNdlZh2VG/OXONURH4zrKXLXMRhV6aJuOZArkTebw== 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 4dt9F14gpRzBhw for ; Fri, 16 Jan 2026 19:40:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id d91f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: b4688ce7454f - stable/14 - LinuxKPI: 802.11: stop using hw_value on a channel 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b4688ce7454fd5324c2cd7e3743b21261592e18f Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:37 +0000 Message-Id: <696a9435.d91f.79006f28@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b4688ce7454fd5324c2cd7e3743b21261592e18f commit b4688ce7454fd5324c2cd7e3743b21261592e18f Author: Bjoern A. Zeeb AuthorDate: 2025-06-22 07:33:04 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:44 +0000 LinuxKPI: 802.11: stop using hw_value on a channel During initial LinuxKPI 802.11 bringup looking at the usage in one driver I started using hw_value as an equivalent for ic_ieee. That is not correct. Remove all usage but logging of hw_value from LinuxKPI 802.11 code and leave the field to the drivers. We have to go through some hoops to get the needed ic_ieee value but so be it. At some point we may want to clear this up in net80211 (especially given we'll have to handle more per-band data in the future). Sponsored by: The FreeBSD Foundation (cherry picked from commit aa2989738ab1f1dae55702e2bf1d853f6fdcfdd0) --- sys/compat/linuxkpi/common/src/linux_80211.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 21c53e15bfb4..7461b5db940a 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1179,7 +1179,7 @@ lkpi_find_lkpi80211_chan(struct lkpi_hw *lhw, channels = hw->wiphy->bands[band]->channels; for (i = 0; i < nchans; i++) { - if (channels[i].hw_value == c->ic_ieee) + if (channels[i].center_freq == c->ic_freq) return (&channels[i]); } @@ -4371,7 +4371,6 @@ sw_scan: struct ieee80211_channel *c; c = ss->ss_chans[ss->ss_next + i]; - lc->hw_value = c->ic_ieee; lc->center_freq = c->ic_freq; /* XXX */ /* lc->flags */ lc->band = lkpi_net80211_chan_to_nl80211_band(c); @@ -4400,7 +4399,6 @@ sw_scan: } } #endif - hw_req->req.n_ssids = ssid_count; if (hw_req->req.n_ssids > 0) { ssids = (struct cfg80211_ssid *)lc; @@ -5839,8 +5837,9 @@ lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, cflags &= ~NET80211_CBW_FLAG_HT40; error = ieee80211_add_channel_cbw(c, maxchan, n, - channels[i].hw_value, channels[i].center_freq, - channels[i].max_power, + ieee80211_mhz2ieee(channels[i].center_freq, + lkpi_nl80211_band_to_net80211_band(channels[i].band)), + channels[i].center_freq, channels[i].max_power, nflags, bands, cflags); /* net80211::ENOBUFS: *n >= maxchans */ if (error != 0 && error != ENOBUFS) @@ -5911,8 +5910,9 @@ lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, cflags &= ~NET80211_CBW_FLAG_HT40; error = ieee80211_add_channel_cbw(c, maxchan, n, - channels[i].hw_value, channels[i].center_freq, - channels[i].max_power, + ieee80211_mhz2ieee(channels[i].center_freq, + lkpi_nl80211_band_to_net80211_band(channels[i].band)), + channels[i].center_freq, channels[i].max_power, nflags, bands, cflags); /* net80211::ENOBUFS: *n >= maxchans */ if (error != 0 && error != ENOBUFS) From nobody Fri Jan 16 19:40:36 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F13VzKz6NlCw for ; Fri, 16 Jan 2026 19:40: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 4dt9F03hdWz3wm1 for ; Fri, 16 Jan 2026 19:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HyE3C83RvMkoPvSGBupra33B5gXmGtc5/O7B+lCYH04=; b=FOU/El8tpi1c2TB9lMF+CxXiPCWc0BBK4h7710Ar5ech8IaNENMlIaBjiUsfJ/tj7fSuJF YyPSI76yVsTP8X5lEz9Up0yJg7BljkFxJF8ra6gX0HmzA2QjuirYnE/wqEhOP/8AwsYvJZ gyEsd9czYK8vKXBeTe2SVWgMe+6e6+ksqzKMbBm8ADgLYU9tQHgPxRjxNCYPYRZeTEYbaH zLI7VP1/Qn0iy0KlAiNYSLD4dJppQbonglpMQQj9E4ySc/rhnsa5k/i8smVVaY0Fgcp7mg KKAIHtSreFBWMqRQNVmwdqNffdOk6wXLEPaeCEPtWvNDWfsA+24j5LFe8XOefQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HyE3C83RvMkoPvSGBupra33B5gXmGtc5/O7B+lCYH04=; b=FFJWzbrx2BTj2sTp9s9kjOvRyUAnD/yffwXpy2BV1vnd68aLh4qOf6rqDUuvDVWKcKL1Gd FXWjUTYQrIFfX7nMNkuO2qV2A++xVi5zS3HQFk4CBlLOLH2iutrkOtc2JbM5pqvKqooS19 zdciec4r2ef55a9us7e6oONq5FZW5phMpFlhkzCJVLt+4QxcKsVbbs1r2KGIRld8gNZM0d eIs+N4I1Qkx/95P1mntmqIYB4nk/wh/Zwxz3EdzBkMQFme5URe/4v+UIzCncqfbNrHogNA wExEQT9J0O9gs9+vLpaNWD7f3/e3jzl/bQrpxL85IWPY3EE+iYP+f+5NRXpcpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592436; a=rsa-sha256; cv=none; b=oJSsoXhpOngKlx7zSFi2PrPgMAfxobeCgAVqq7tNczu1GjnweTYTqK2EH8W3fSPj+uy1z8 ZuoLX2FwKKdVTRAIJryPAQI712rx4yz181GfNyVV53gtOCEHMj2UmQ0yCE8FHhxx6XPqUS TuCu2pzOZW682ZSzwUegpLaOpMCllPIUxrwoZZ2L0wWzuEcNKz6lJ8bKkjLTAOcV80X2zD tu+qj7Y4aE6f1DiQMknkxtiYggypBaC7aNlszTu27Dc2OBi6dp1yHY7HrMXByhNrrOj0xD hARBQE6KwO+LQQewBGoDJ1DeQlVJVdUHRkmCRbU+rUFwSaEbG0agGvJHsV5TyQ== 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 4dt9F03HlNzC6d for ; Fri, 16 Jan 2026 19:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e198 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: b23b05c1d420 - stable/14 - LinuxKPI: 802.11: factor out sinfo printing 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b23b05c1d42044e7a1a812ddb7f21b27551ad156 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:36 +0000 Message-Id: <696a9434.e198.4da63470@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b23b05c1d42044e7a1a812ddb7f21b27551ad156 commit b23b05c1d42044e7a1a812ddb7f21b27551ad156 Author: Bjoern A. Zeeb AuthorDate: 2025-07-10 10:24:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:44 +0000 LinuxKPI: 802.11: factor out sinfo printing Factor out the sinfo printing into an sbuf from the sysctl handler. That allows us to use lkpi_80211_dump_lvif_stas() for printing other debug information as well. Sponsored by: The FreeBSD Foundation (cherry picked from commit a086478e58bf398cc9892fba6bc0122a56b87a97) --- sys/compat/linuxkpi/common/src/linux_80211.c | 62 ++++++++++++++++------------ 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index fb6d7dba28de..21c53e15bfb4 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -274,48 +274,40 @@ lkpi_nl80211_sta_info_to_str(struct sbuf *s, const char *prefix, sbuf_printf(s, "\n"); } -static int -lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) +static void +lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) { struct lkpi_hw *lhw; struct ieee80211_hw *hw; struct ieee80211vap *vap; - struct lkpi_vif *lvif; struct ieee80211_vif *vif; struct lkpi_sta *lsta; struct ieee80211_sta *sta; struct station_info sinfo; - struct sbuf s; int error; - if (req->newptr) - return (EPERM); - - lvif = (struct lkpi_vif *)arg1; vif = LVIF_TO_VIF(lvif); vap = LVIF_TO_VAP(lvif); lhw = vap->iv_ic->ic_softc; hw = LHW_TO_HW(lhw); - sbuf_new_for_sysctl(&s, NULL, 1024, req); - wiphy_lock(hw->wiphy); list_for_each_entry(lsta, &lvif->lsta_list, lsta_list) { sta = LSTA_TO_STA(lsta); - sbuf_putc(&s, '\n'); - sbuf_printf(&s, "lsta %p sta %p added_to_drv %d\n", lsta, sta, lsta->added_to_drv); + sbuf_putc(s, '\n'); + sbuf_printf(s, "lsta %p sta %p added_to_drv %d\n", lsta, sta, lsta->added_to_drv); memset(&sinfo, 0, sizeof(sinfo)); error = lkpi_80211_mo_sta_statistics(hw, vif, sta, &sinfo); if (error == EEXIST) /* Not added to driver. */ continue; if (error == ENOTSUPP) { - sbuf_printf(&s, " sta_statistics not supported\n"); + sbuf_printf(s, " sta_statistics not supported\n"); continue; } if (error != 0) { - sbuf_printf(&s, " sta_statistics failed: %d\n", error); + sbuf_printf(s, " sta_statistics failed: %d\n", error); continue; } @@ -334,51 +326,67 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) sinfo.filled |= BIT_ULL(NL80211_STA_INFO_CHAIN_SIGNAL); } - lkpi_nl80211_sta_info_to_str(&s, " nl80211_sta_info (valid fields)", sinfo.filled); - sbuf_printf(&s, " connected_time %u inactive_time %u\n", + lkpi_nl80211_sta_info_to_str(s, " nl80211_sta_info (valid fields)", sinfo.filled); + sbuf_printf(s, " connected_time %u inactive_time %u\n", sinfo.connected_time, sinfo.inactive_time); - sbuf_printf(&s, " rx_bytes %ju rx_packets %u rx_dropped_misc %u\n", + sbuf_printf(s, " rx_bytes %ju rx_packets %u rx_dropped_misc %u\n", (uintmax_t)sinfo.rx_bytes, sinfo.rx_packets, sinfo.rx_dropped_misc); - sbuf_printf(&s, " rx_duration %ju rx_beacon %u rx_beacon_signal_avg %d\n", + sbuf_printf(s, " rx_duration %ju rx_beacon %u rx_beacon_signal_avg %d\n", (uintmax_t)sinfo.rx_duration, sinfo.rx_beacon, (int8_t)sinfo.rx_beacon_signal_avg); - sbuf_printf(&s, " tx_bytes %ju tx_packets %u tx_failed %u\n", + sbuf_printf(s, " tx_bytes %ju tx_packets %u tx_failed %u\n", (uintmax_t)sinfo.tx_bytes, sinfo.tx_packets, sinfo.tx_failed); - sbuf_printf(&s, " tx_duration %ju tx_retries %u\n", + sbuf_printf(s, " tx_duration %ju tx_retries %u\n", (uintmax_t)sinfo.tx_duration, sinfo.tx_retries); - sbuf_printf(&s, " signal %d signal_avg %d ack_signal %d avg_ack_signal %d\n", + sbuf_printf(s, " signal %d signal_avg %d ack_signal %d avg_ack_signal %d\n", sinfo.signal, sinfo.signal_avg, sinfo.ack_signal, sinfo.avg_ack_signal); - sbuf_printf(&s, " generation %d assoc_req_ies_len %zu chains %#04x\n", + sbuf_printf(s, " generation %d assoc_req_ies_len %zu chains %#04x\n", sinfo.generation, sinfo.assoc_req_ies_len, sinfo.chains); for (int i = 0; i < nitems(sinfo.chain_signal) && i < IEEE80211_MAX_CHAINS; i++) { if (!(sinfo.chains & BIT(i))) continue; - sbuf_printf(&s, " chain[%d] signal %d signal_avg %d\n", + sbuf_printf(s, " chain[%d] signal %d signal_avg %d\n", i, (int8_t)sinfo.chain_signal[i], (int8_t)sinfo.chain_signal_avg[i]); } /* assoc_req_ies, bss_param, sta_flags */ - sbuf_printf(&s, " rxrate: flags %b bw %u(%s) legacy %u kbit/s mcs %u nss %u\n", + sbuf_printf(s, " rxrate: flags %b bw %u(%s) legacy %u kbit/s mcs %u nss %u\n", sinfo.rxrate.flags, CFG80211_RATE_INFO_FLAGS_BITS, sinfo.rxrate.bw, lkpi_rate_info_bw_to_str(sinfo.rxrate.bw), sinfo.rxrate.legacy * 100, sinfo.rxrate.mcs, sinfo.rxrate.nss); - sbuf_printf(&s, " he_dcm %u he_gi %u he_ru_alloc %u eht_gi %u\n", + sbuf_printf(s, " he_dcm %u he_gi %u he_ru_alloc %u eht_gi %u\n", sinfo.rxrate.he_dcm, sinfo.rxrate.he_gi, sinfo.rxrate.he_ru_alloc, sinfo.rxrate.eht_gi); - sbuf_printf(&s, " txrate: flags %b bw %u(%s) legacy %u kbit/s mcs %u nss %u\n", + sbuf_printf(s, " txrate: flags %b bw %u(%s) legacy %u kbit/s mcs %u nss %u\n", sinfo.txrate.flags, CFG80211_RATE_INFO_FLAGS_BITS, sinfo.txrate.bw, lkpi_rate_info_bw_to_str(sinfo.txrate.bw), sinfo.txrate.legacy * 100, sinfo.txrate.mcs, sinfo.txrate.nss); - sbuf_printf(&s, " he_dcm %u he_gi %u he_ru_alloc %u eht_gi %u\n", + sbuf_printf(s, " he_dcm %u he_gi %u he_ru_alloc %u eht_gi %u\n", sinfo.txrate.he_dcm, sinfo.txrate.he_gi, sinfo.txrate.he_ru_alloc, sinfo.txrate.eht_gi); } wiphy_unlock(hw->wiphy); +} + +static int +lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) +{ + struct lkpi_vif *lvif; + struct sbuf s; + + if (req->newptr) + return (EPERM); + + lvif = (struct lkpi_vif *)arg1; + + sbuf_new_for_sysctl(&s, NULL, 1024, req); + + lkpi_80211_dump_lvif_stas(lvif, &s); sbuf_finish(&s); sbuf_delete(&s); From nobody Fri Jan 16 19:40:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F53xFFz6NlV3 for ; Fri, 16 Jan 2026 19:40:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9F46WS6z3wnG for ; Fri, 16 Jan 2026 19:40:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PH5/YULJ3ONY+eu8uG/mSSUnvchmiZiAPlJsQpBcQk8=; b=MpCOEgq0QyxY/CeNPNlWZIFF7PjNX3om9RSCbS6KT+mVB1pfQEdHrKNGdzVHenFVZicJmQ W1d2P0FshBRYMEZlK55c150nVRt443WlItEE5OBzosoj/fgi3tDFBGYzMjGrXBv0YaJ5jC SWbgmJer8rlyw5612cZHXqUsDOioupXFnTaPgTp1xn8Xk6p/GoY+S1tH0n36nBSJkT54ba Vp8eArkBona75xyBDx1V66AY6Z4qKp0f+qe8Lix+scBiRMDq6t+ryakNd+3pPY7wI0yVH0 GR/D9RII2QfYyPYCUHBQiIvjgsAttjmkZOQbDq46sLyMI2uGj3dw+9t+Obhl7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PH5/YULJ3ONY+eu8uG/mSSUnvchmiZiAPlJsQpBcQk8=; b=WdefbvY8Xh2zMfZMDp+BPmOg6H+xF5M7XIYiUiOx8epxsAO0dgQJdM/BhigvPZMloO+Mqq evgGxs9pB4DfmkGM0vT3K4AcWVEgn/27YJs8g6L2oWQnq2cDsnuvsauBvOxYBVLwkj0Qcu +oA+dfmHMCHun8d74cZbqYYhHA+hDeMuMNetDbwf5gIjPpjCOyJTGJuwC963mg4ArPXRmI QzZWfG8IYNl3Ju4qrU4SqbhgFWgc3TeOAFpQ5ouMgmB4FFCoCZQzRmOMQPDLD4kTSvsKy+ 8WkbU0jn3yiro5nv0RPeVpvXZxNWM2FMKd5HKSqvzy8SWdHbCByu3hLuHgheQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592441; a=rsa-sha256; cv=none; b=dvfahUDJrioa2DUZEeI7V/tA1DMzeY1HAxhRzp/X5DHzLVrTaMHmV1d05R0ieSf21hytBY bQ02vAku1KAado7/h2CuVQUa9GluvZBtGY/c7dbs1mOSyW8GheOuqWYXtbmFA2zSgDIxtX KtPuWfec2hgpg0JSJ/3N2COXL1sO/IWm1LY09dH0r6qvzfjBk+B7wGTOXZp43dAksOy3K5 9AQ8za6+typUaTQ6LgVwswKhHzE9BB3saa8/Oph5Hxx2a61gjBw5HNaRBdIKVpvCVAfPal MB1Wwq82v/9S0EjInT7eAw5PsMRNEAepX1CsS9LL0UMW53CWltKfPxqjfchnHA== 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 4dt9F461JVzC6h for ; Fri, 16 Jan 2026 19:40:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca56 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 096f1bd89746 - stable/14 - LinuxKPI: 802.11: mark all structs in struct ieee80211_mgmt __packed 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 096f1bd897464edfd115f7dd2272e3488cbca191 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:40 +0000 Message-Id: <696a9438.ca56.35247eb4@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=096f1bd897464edfd115f7dd2272e3488cbca191 commit 096f1bd897464edfd115f7dd2272e3488cbca191 Author: Bjoern A. Zeeb AuthorDate: 2025-08-26 20:37:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:45 +0000 LinuxKPI: 802.11: mark all structs in struct ieee80211_mgmt __packed These structs as part of the union are used to handle raw packet data so mark them all __packed. Sponsored by: The FreeBSD Foundation (cherry picked from commit d1df103190c12a63a1f718bc3cf6a1afe1ece759) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index b9161c586d07..33850359869f 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -524,24 +524,24 @@ struct ieee80211_mgmt { uint16_t beacon_int; uint16_t capab_info; uint8_t variable[0]; - } beacon; + } __packed beacon; /* 9.3.3.5 Association Request frame format */ struct { uint16_t capab_info; uint16_t listen_interval; uint8_t variable[0]; - } assoc_req; + } __packed assoc_req; /* 9.3.3.10 Probe Request frame format */ struct { uint8_t variable[0]; - } probe_req; + } __packed probe_req; /* 9.3.3.11 Probe Response frame format */ struct { uint64_t timestamp; uint16_t beacon_int; uint16_t capab_info; uint8_t variable[0]; - } probe_resp; + } __packed probe_resp; /* 9.3.3.14 Action frame format */ struct { /* 9.4.1.11 Action field */ @@ -557,7 +557,7 @@ struct ieee80211_mgmt { uint8_t tpc_elem_length; uint8_t tpc_elem_tx_power; uint8_t tpc_elem_link_margin; - } tpc_report; + } __packed tpc_report; /* 9.6.8.33 Fine Timing Measurement frame format */ struct { uint8_t dialog_token; @@ -567,7 +567,7 @@ struct ieee80211_mgmt { uint16_t tod_error; uint16_t toa_error; uint8_t variable[0]; - } ftm; + } __packed ftm; /* 802.11-2016, 9.6.5.2 ADDBA Request frame format */ struct { uint8_t action_code; @@ -577,16 +577,16 @@ struct ieee80211_mgmt { uint16_t start_seq_num; /* Optional follows... */ uint8_t variable[0]; - } addba_req; + } __packed addba_req; /* XXX */ struct { uint8_t dialog_token; - } wnm_timing_msr; + } __packed wnm_timing_msr; } u; - } action; + } __packed action; DECLARE_FLEX_ARRAY(uint8_t, body); } u; -}; +} __packed __aligned(2); struct ieee80211_cts { /* net80211::ieee80211_frame_cts */ __le16 frame_control; From nobody Fri Jan 16 19:40:39 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F44zYfz6NlKS for ; Fri, 16 Jan 2026 19:40: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 4dt9F362J9z3wk4 for ; Fri, 16 Jan 2026 19:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWTuAWPCC7zx09VlJm6Md+dHA1MscoZbdG5eF1ym2qQ=; b=YiVBP4OrPhcKobkg0+Jhs2fkPMvZe1tTIL9ZflXFD9uiR+AyBkcGHuZt6KDnOGAGumFfkZ 9wyMo3nczqyjm/o03Q/VxGXctPUjhUyPj7aOV4GPpeKVEOZXl/7LyyLUTqHSkM5r+p2wxM /q9+Jz0yTipKly2cnrJ43L7A9X5OYEfbyaPY+YymdSs1eP6MYaeDoRru9y1nkT/WTPmw3S d6PjnC9X9lepaDMHxEPQBtqACJs0lve+b7KFYrscBa9kCJcQFMXCqAupjjPrAUvCVP5fHi 6LjFmhZpU1E3DUyXLxWqSrOPvg+BK3KgthL5r33N3/doPx3V6E1BQF8JBv3/cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PWTuAWPCC7zx09VlJm6Md+dHA1MscoZbdG5eF1ym2qQ=; b=KXlbaflGpuirNKvAKDlPiYr2S7BsduvoHLOrK9xBCoN6UcM0NcsBJm/lRFdudwkfRLeXrI hj4n9WjgRARf1Swue6Elg4iOFolq/YA6Q469u/jk0fiASPNMV9v3m2aiZZ/TWX3MpgtDVu 3ZJfjmSQXhSOzXT1PCQZnzhuxKlAKn4WvTdUpQN8DsA8R/d/Rid77T3l1CWvn3Q22gNFK6 gssTpIVI8cYpdtzv5DWIZ3+946bitIo8cJg+poUWxx8wLfpL5oodJFsxYJg9RDki8XD25v NF++FU9cTSXWleYqpjYZYfT5Wn1lHHAZPxwkdclvQF0NuLGeuxaeqWGgFEuf8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592439; a=rsa-sha256; cv=none; b=ZlG+6oqqqzS7g8Xqp+KJSPe8BD9kM4H6W5kcORJGs+rar1z4mDeOwBEwIzq/8CjvGhpb/y dFlS9TrqPQDSUsUfwqOYk9apCfhBIio+sy0EBoNwrHR53xKw5RoOfbXcfj/WqI36jb7bAc Sa5qdmg+s0BtocfdfWsylotGDxPCGJ6ndLnBftoIXlqUlxM+E065FwKsNEPUfiC1lEcF8q 8IMqj+O1QL8e9YPe3FZ8WOs8W8YKOgGkprs8jIncexiDv4axDsWCrmavDL0ctA3X4lWhQ3 wm/hA2hsRzk9cpOZmcHm/eUQg/8VPsi4DYOzTe+1pcaoVeMn3aMQvI6Gu6vCoA== 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 4dt9F35b8RzC6g for ; Fri, 16 Jan 2026 19:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id db16 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 3d35647d33cf - stable/14 - LinuxKPI: implement str_disable_enable() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3d35647d33cf90d3ead87e45dd62eac4d3bddc66 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:39 +0000 Message-Id: <696a9437.db16.75a71d61@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3d35647d33cf90d3ead87e45dd62eac4d3bddc66 commit 3d35647d33cf90d3ead87e45dd62eac4d3bddc66 Author: Bjoern A. Zeeb AuthorDate: 2025-08-13 21:52:42 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:44 +0000 LinuxKPI: implement str_disable_enable() Implement str_disable_enable() needed by a wireless driver by using the already existing str_enable_disable() with a toggled argument. Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D52081 (cherry picked from commit a274435d0dc04a876ce2898a9036223972d23fdc) --- sys/compat/linuxkpi/common/include/linux/string_helpers.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/string_helpers.h b/sys/compat/linuxkpi/common/include/linux/string_helpers.h index 1bdff2730361..2c6fe0b1708d 100644 --- a/sys/compat/linuxkpi/common/include/linux/string_helpers.h +++ b/sys/compat/linuxkpi/common/include/linux/string_helpers.h @@ -66,4 +66,6 @@ str_enable_disable(bool value) return "disable"; } +#define str_disable_enable(_v) str_enable_disable(!(_v)) + #endif From nobody Fri Jan 16 19:40:41 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F643W7z6NlWb for ; Fri, 16 Jan 2026 19:40: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 4dt9F60KPzz3wqh for ; Fri, 16 Jan 2026 19:40:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=81Wbe8vSK3TBapHfxR3KLArJVx2yuoZZJ/JO+MGt4jM=; b=ucJJNBylVXyC1R5htRA0CmGsZqAuLA+cij74XzoITjH+q57GE+haDD2CUZiXYk9acsAhTF lyYGxpAcaUV1eo+GhynbXFQDxAT3IgbXLBay2mxoVQMDAKEVQc7lGRvDbPO1Z/pZGCsu8Z XUIQBEqXbFUvc6IQj9yK7o5URlosw8TfrXTNA1GMn9x6kSC1EX7ecclRTSxFvspnXnZzh6 f/yUYOpBLDL+rrhQlMbmUfhCOFish6CCZgzVWYrRRTK8lvu7yILP9tR/t54MC+zRFGh0dz 8ETnNi6+7Auoiz3gsIxQHewfSZb5tSCfzSPIf4yS/g6AwEoEvttOHsVygsqGow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=81Wbe8vSK3TBapHfxR3KLArJVx2yuoZZJ/JO+MGt4jM=; b=i7dNLQNUTC+t2G9Q5OkpBbKyLtJMFvQ5mjQfE2ERSMUN/C/RhpwgM+ndloVI/cU5Sluyif yCvY+7fh9B5WUx+BcJYS2aolzJagkOGg8kXwQyUkHykYtU29Rnz7uZYhUGcO6j4UH/yO/K p7m4YtmM63rPPWYR0SVxaWmAeQ4Wn58FbErKx7aL+sXM0LtcUgvggXhprBnvTkBEudICXB zPghhZLgiqrDyQjPXZOeB8CoRm7SYyM2rQWn1DQspgvNIbs2imwWXeoZeUL5aNrOBsMlOG 8WYCviFylXG5rKuVFi1MGnQOq41uPc8RYl9E6ZGX7GBrBUpBWYFSgzwd+Y5n/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592442; a=rsa-sha256; cv=none; b=NLkzrtVMdJB3Pg5acc3Ex+Ww7WdbudG/k+Z+lu7WK3EG7WeIzf6QYdY0cY5DPnYKMnJrYS BnVo5NlexZ7gR9nWMnwBCiaYuCCGq+w1/Ng/mmw0aSfsgJYw41OehBpKUUrBqUHTPuhBaE C8/NbvKRYcemtOJ90jt7B3ZyYeROsSwxROANGxV63khwwcrrVAv8a7P4KYSsI0HNAubD1U ewbrZJY5HfDtH3ry6uPTPHFD7nBss7JqZ/EjMi9qfBkbHyw+iX0ynw0YAsONH64AnDwdVp v5TE7RZXEUMin2OVi5vO1Ey+1hbB65TM3FOcI8shO1/QJ6G3QqCDIgOJzgCinA== 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 4dt9F56TNmzCJq for ; Fri, 16 Jan 2026 19:40:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e13c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 8121f688bb55 - stable/14 - LinuxKPI: 802.11: adjust lower wake_queue locking 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8121f688bb550af894b4b1b3ff66dba283ac16d5 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:41 +0000 Message-Id: <696a9439.e13c.58689437@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8121f688bb550af894b4b1b3ff66dba283ac16d5 commit 8121f688bb550af894b4b1b3ff66dba283ac16d5 Author: Bjoern A. Zeeb AuthorDate: 2025-08-29 07:39:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:45 +0000 LinuxKPI: 802.11: adjust lower wake_queue locking In bc24342d96aa8 we added lower wake_queue locking. There are paths, such as in rtw89 from a (*hw_scan_cancel)() that we can get to there and then would recursively acquire the wiphy lock which is not allowed. Adjust locking to a spin lock to match Linux driver expectations. Sponsored by: The FreeBSD Foundation Fixes: bc24342d96aa8 (cherry picked from commit fc36de571f11abda5cc68a4abd963053f676f8c5) --- sys/compat/linuxkpi/common/src/linux_80211.c | 19 +++++++++++++++---- sys/compat/linuxkpi/common/src/linux_80211.h | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 7461b5db940a..17279f3caf6c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5959,6 +5959,7 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) LKPI_80211_LHW_SCAN_LOCK_INIT(lhw); LKPI_80211_LHW_TXQ_LOCK_INIT(lhw); + spin_lock_init(&lhw->txq_lock); sx_init_flags(&lhw->lvif_sx, "lhw-lvif", SX_RECURSE | SX_DUPOK); TAILQ_INIT(&lhw->lvif_head); for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { @@ -6058,6 +6059,7 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) } /* Cleanup more of lhw here or in wiphy_free()? */ + spin_lock_destroy(&lhw->txq_lock); LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); LKPI_80211_LHW_SCAN_LOCK_DESTROY(lhw); sx_destroy(&lhw->lvif_sx); @@ -8027,21 +8029,30 @@ lkpi_ieee80211_wake_queues_locked(struct ieee80211_hw *hw) void linuxkpi_ieee80211_wake_queues(struct ieee80211_hw *hw) { - wiphy_lock(hw->wiphy); + struct lkpi_hw *lhw; + unsigned long flags; + + lhw = HW_TO_LHW(hw); + + spin_lock_irqsave(&lhw->txq_lock, flags); lkpi_ieee80211_wake_queues_locked(hw); - wiphy_unlock(hw->wiphy); + spin_unlock_irqrestore(&lhw->txq_lock, flags); } void linuxkpi_ieee80211_wake_queue(struct ieee80211_hw *hw, int qnum) { + struct lkpi_hw *lhw; + unsigned long flags; KASSERT(qnum < hw->queues, ("%s: qnum %d >= hw->queues %d, hw %p\n", __func__, qnum, hw->queues, hw)); - wiphy_lock(hw->wiphy); + lhw = HW_TO_LHW(hw); + + spin_lock_irqsave(&lhw->txq_lock, flags); lkpi_ieee80211_wake_queues(hw, qnum); - wiphy_unlock(hw->wiphy); + spin_unlock_irqrestore(&lhw->txq_lock, flags); } /* This is just hardware queues. */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 89afec1235bd..eb7bae811695 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -227,6 +227,7 @@ struct lkpi_hw { /* name it mac80211_sc? */ struct mtx txq_mtx; uint32_t txq_generation[IEEE80211_NUM_ACS]; TAILQ_HEAD(, lkpi_txq) scheduled_txqs[IEEE80211_NUM_ACS]; + spinlock_t txq_lock; /* Deferred RX path. */ struct task rxq_task; From nobody Fri Jan 16 19:40:38 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F31vc6z6NlRS for ; Fri, 16 Jan 2026 19:40:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9F25GKvz3wvc for ; Fri, 16 Jan 2026 19:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0L5GH873G2mbYA94lKIoB2X0mEiYcjdaDMu0h3z5C0g=; b=oCoQu18lRDU1jkf/GoyRC2wMVez0TQyj3lW6fL3nJpcsv9yJ38WKYCcTvYEeCtzgHRmEax tQVip37m6msYx6fXIX0RAxXLrGw7r80ir4TdGU+E1xKls8LPrciFzUx3Ukp6c5ZBdl7Y/r ux9CUY7VcaERy6glb5aTBv0eRAMmJD1IJY91IUfAIfj/jxWEjwhtc0a33Vydj+bKvGCtCE dCoPP+py+Uby8v2EmueBGazWGjn7d01tIIDXgz/jlv5CFtZqV26LvlzFYyNr4BnakoP/hv xD9wjejeMcZT5+sCiMNJ6yg7li091ud8rGan2AAIVobA5CTAAXdjdPix2aECBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0L5GH873G2mbYA94lKIoB2X0mEiYcjdaDMu0h3z5C0g=; b=olZh7VNTmOhlVSzjtabgvYZTVRj58IBlM3PB6SLdHBU/dLw38QC6akkSRs0Dw+bu7PcJnW jn9APhOy+ozuk4gU4NBYK1KiQB3f/J3uVqFa95GutTAnbaZQ8KniXDpeZXEkkVcGn8MGNx RYPTzVtKGNPrZdtqnnLljPYM+1C1BZIOG//035p0X+EyJ8XxQZ6zXgaKNr03QVkythZ2jg 9sXs2Y+Hp6WUGdLnKp7Gz7NtpXKa760zk2LAWfTjTr00LSMJNKcdUg6m68d5tVb+k5MQ9v 6VXE9MEChTl5NwAfkqPi610LjUXolnvCXhfeDR+eDaWwBdrIaMLwXUJpf1lPBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592438; a=rsa-sha256; cv=none; b=UOf2BvVCAQHYSudJh1OFfi4Wrq0qN/M4D4Vp03h1F5+zd7/YlQJZIfq6PtmdvzXeM/aO/9 BNCu7G6zqVAIqazpBDqa7exRU2qfb0jA8kJMJ8RBlTabbatKz5ZkkvjO50kv8qUvXfPmug s7jUQHgkKgagAZdqMaaOrHewPaBLqmXQApesbW2J4xYlq03hf3tK/y/lXBBOTtOYlsxeT8 8B0bwr0/aS+ZQwuVxF5meW80gwfPM8jE90EcFnWtWO75VPunwKN0NhDGcMwSm923cbcSAr 9ebR6/VtNaj56TlJk8KNzrASa3szcwU9ShcdX1yZvBwMmo9V37Dp/fLk7Y0n9g== 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 4dt9F24sCtzC6f for ; Fri, 16 Jan 2026 19:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c952 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: ea8a9265e0fc - stable/14 - usb: hub: uhub_root_intr() mark function arguments as __unused 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ea8a9265e0fc42700636677303e4175aa83a0344 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:38 +0000 Message-Id: <696a9436.c952.3d833279@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ea8a9265e0fc42700636677303e4175aa83a0344 commit ea8a9265e0fc42700636677303e4175aa83a0344 Author: Bjoern A. Zeeb AuthorDate: 2025-08-20 21:04:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:44 +0000 usb: hub: uhub_root_intr() mark function arguments as __unused No functional change. Sponsored by: The FreeBSD Foundation Reviewed by: aokblast, imp Differential Revision: https://reviews.freebsd.org/D52147 (cherry picked from commit 7dce26eded4e4c8a511ecc7e8522b9a0332386ea) --- sys/dev/usb/usb_hub.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/usb_hub.c b/sys/dev/usb/usb_hub.c index e3509862ef54..ee9d8ab0c9bb 100644 --- a/sys/dev/usb/usb_hub.c +++ b/sys/dev/usb/usb_hub.c @@ -954,7 +954,8 @@ done: * packet. This function is called having the "bus_mtx" locked. *------------------------------------------------------------------------*/ void -uhub_root_intr(struct usb_bus *bus, const uint8_t *ptr, uint8_t len) +uhub_root_intr(struct usb_bus *bus, + const uint8_t *ptr __unused, uint8_t len __unused) { USB_BUS_LOCK_ASSERT(bus, MA_OWNED); From nobody Fri Jan 16 19:40:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F85ncPz6NlWg for ; Fri, 16 Jan 2026 19:40: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 4dt9F828tGz3wwh for ; Fri, 16 Jan 2026 19:40:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DMgMXLm83h0oY57/aq99hGW4NFdQf9ORnxEZPn1WAKM=; b=AiuXqFMTK9pAaisOoMsS5OirELlZnDY+Sr6llstOKXC9uHX1tQb8dAKKGPaajJhZo+fLo6 swqvcJZ4Mvi2DRrTz2nW5D1rW/8NjKizQh5OaqRV3uJLaHfoOncfupWo0+j5g++0D0fnNW I+NfH0MdOHOr2IVssjrIPkiFjFDBTjY9xvqnOtZD/Ozy87rEnoE9U+rU2WaQdi2tI+Ommk iPRYqU04FAFIlhWiLuidPdQgOyRySIU7UjP1pDgYFQ8Ztz0gFb12vFpEEc8fJ4nfH0tgWS 23j4DnQUT46OWfCjvNx+oyo8GeOF37KckER4G+SPUu/1WiTwOecmZAv/S6S+6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DMgMXLm83h0oY57/aq99hGW4NFdQf9ORnxEZPn1WAKM=; b=fuzWCHQMOBfMTnrBJteBtFIhMIxyvkQIg2GAEoq004WeO9G0ScloU6C4woKnDXVoWRsAR0 abyY2FcxUxgspopJBxcYJDM+2fcJoYLC0+Lw6YM5wIg1nYnsFPzc4hMDYSID3Vb7rGlrXI mXPNNzyMhmzc73EBNL8Jg8tfcmi8uWTM0BQ/ytT6b7k1f+exRwqvTGHdbRSNCyvQe9ZHx0 JXwpZGydMfPWrupPJZL2Oqlft3fbclemf0qtOEmsK3TeODxixb3KNDs++HrfTVUbYDxahf JexWv3Jz6HXa/PGPWG+RC53Ch3IY44zKvncK7yCzpECVab03ByaAsZoza7iCZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592444; a=rsa-sha256; cv=none; b=ekm71lDoi5zK85LtNnjzbCiyqI34N8BcTj/yIuHEbp/R5Q6+a2JI6/LQN0cHfsveOmzhBb otSgF4fdwcOSuBxiNkc21gzfexQYMdJt8U85oE5yASXudvHkPDEmVwXm469Wa7QSAraQWl rsQZxUgUBs8odoS2FAkjtE9G06W8ZUQBSRMV1/ZJBK6nWR7Sh44OUBHY0pqou7tUdgjQ9p M2DvIA3PFCDOGvWz0n2/T3zVAeMk2WR3byy1icHBS3EOoGCfe/X2dpApS6aAXF+SJfNF1T bfoo/qYQ88r5gsQAEFntE92bdjkRQENuEfZ78Vbh/+wB9PtjOYqAjpcDJqTFUQ== 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 4dt9F80vJ9zC4H for ; Fri, 16 Jan 2026 19:40:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbdb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 5b7aa8225bea - stable/14 - LinuxKPI: skbuff: checksum offloading flags 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b7aa8225bea341b830666e2724ecb13316e27b0 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:44 +0000 Message-Id: <696a943c.dbdb.41649b3c@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5b7aa8225bea341b830666e2724ecb13316e27b0 commit 5b7aa8225bea341b830666e2724ecb13316e27b0 Author: Bjoern A. Zeeb AuthorDate: 2025-08-29 18:55:53 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:45 +0000 LinuxKPI: skbuff: checksum offloading flags Given the checksum offloading flags are mutually exclusive and are not a bit mask, we can compress them into 2 bit for the four possible values. Change the define but leave the type at uint8_t for now with a comment. We can possible combine them with another sub-octet field in the future. Sponsored by: The FreeBSD Foundation (cherry picked from commit 343f8f71af70c92b36be19e1d97530b84f871c3e) --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index c8ad90281e34..0f192ceab318 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -120,7 +120,7 @@ enum sk_checksum_flags { CHECKSUM_NONE = 0x00, CHECKSUM_UNNECESSARY = 0x01, CHECKSUM_PARTIAL = 0x02, - CHECKSUM_COMPLETE = 0x04, + CHECKSUM_COMPLETE = 0x03, }; struct skb_frag { @@ -170,7 +170,7 @@ struct sk_buff { }; }; uint16_t protocol; - uint8_t ip_summed; + uint8_t ip_summed; /* 2 bit only. */ /* uint8_t */ /* "Scratch" area for layers to store metadata. */ From nobody Fri Jan 16 19:40:45 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F962Ntz6Nlcq for ; Fri, 16 Jan 2026 19:40: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 4dt9F927bKz3wxq for ; Fri, 16 Jan 2026 19:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592445; h=from:from:reply-to:subject:subject: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=TStJ5NiccCEnX2pMVL9VcYXAHb2VqfX9RH732m0sIfc=; b=nUvhqS2Y0hz1m8pMDQ+BXVwhfwUxvhNTcknbKpn1iJrx6B/jfsfMQn1xCZrrq54obZ4ahc WukfYjc7XuAAuKGco3rNay/7AdCNIs+MSpF7W6pO7dsX9SbUGHH4zeDDRVOiHfLLtFWzZt 9olETXaCCcO0HyG7DT2Emf4NdGoEm4eE1O+U8KT9R5VpM0R1sbsvUE7nCsdIoVybX2rX9C biwYh3KxFYYBWi7JWWPVr1pFtO9CkedokvT3mAFiTyxDs3M3xAnRbXEzSrL7Wci8zR54Yd UosDt8cjFmbZtEsaKh9OiXY+YM5E55e0RFEcwL+/QRQFsdLdG5WhgYYVmx82cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592445; h=from:from:reply-to:subject:subject: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=TStJ5NiccCEnX2pMVL9VcYXAHb2VqfX9RH732m0sIfc=; b=KJk9SCIwItKUgC6I7HI4uH3fPpfksAq93cCLPYmzI76uzGQ0JR1fJZbmsAQYOukMnMihV6 wxgohnGIW7K+61UWqv7/w1JcdeoPm8JaGidfqWi0LidW2coN/nAtels3F5JuqvjAjTw0vn /B2xPxQHNjSDhh7knMjGBZVTpaKPs3sn3If/xfMpHxzh5ynd+hnNfJu1xsm507AiAI+7AG qi/DWulfvtOY2UiV6UVu/J75BD2u+s3U+moorRPNYr46lJD+mrT+Y0A8Y+yqqG6lIiAIFt dIG9eT2ZtKR7Xy4QfXMRkUIM+Wnv0HKWk4oAXxl2CkL1DHxY7VUz6AFt1hE8DA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592445; a=rsa-sha256; cv=none; b=FM5DtH3L67VNjJBhSOFHGuXIGeqVbtPN9owmI30C9YfvQVlDUrJfV25Bzkav1hnWjBk6+F I9773iQ1Dz2seGGlD/myQr3o61o/3gtA3h1N/a4IfOVvKs28W+DkJ5bFlfrZlM92Uw+pJM v8y56Ab4rwF/GrriGbwW+tbFJT35HnuYfd1UnNt/WEBy0x9vIS+9wGXi545gfBAYadPSxe XbE057JHBTeiIYQHKGP8vVzHjoKyzB2k6vQTlcJPvhi5mIsoePFSfg1Kb/dN6HyJPv+YqH kdtfePZfPZPpdhusHQeBRIFk1iKvharsvDIGMcFr1/TFxWOEXlGnAx2YxrDzdg== 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 4dt9F91cgdzC26 for ; Fri, 16 Jan 2026 19:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dc01 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Stephen Hurd From: Bjoern A. Zeeb Subject: git: 53d1c328e912 - stable/14 - rc: bluetooth: startup improvements 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 53d1c328e9123c8065f121afdd9dccb222af2221 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:45 +0000 Message-Id: <696a943d.dc01.423603a5@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=53d1c328e9123c8065f121afdd9dccb222af2221 commit 53d1c328e9123c8065f121afdd9dccb222af2221 Author: Stephen Hurd AuthorDate: 2025-08-29 20:01:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:46 +0000 rc: bluetooth: startup improvements During startup hccontrol reset needs to be run multiple times for iwbt to work more reliably. Add a loop trying up to three times. Tested by: various (original version; I changed test to -eq) Differential Revision: https://reviews.freebsd.org/D44861 Fix a redirect of stderr to stdout which is going to /dev/null. A '&' got missing in the original rewrite from the review that I took and committed. Seems no one had noticed during testing or review. People may have ended up with a "/1" file in their root file system. Fixes: 40652f86b5ef Reported by: Vladyslav Movchan (vladislav.movchan gmail.com) (cherry picked from commit 40652f86b5ef17c9016a5eaf4bc89b2f324540e8) (cherry picked from commit 78807c196c9481cdd88b5ce611b488903f52fbd0) --- libexec/rc/rc.d/bluetooth | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.d/bluetooth b/libexec/rc/rc.d/bluetooth index 679d669a6191..2903057b8bfb 100755 --- a/libexec/rc/rc.d/bluetooth +++ b/libexec/rc/rc.d/bluetooth @@ -127,8 +127,17 @@ bluetooth_setup_stack() > /dev/null 2>&1 || return 1 # Initilalize HCI node - ${hccontrol} -n ${dev}hci reset \ - > /dev/null 2>&1 || return 1 + for loop in 1 2 3 + do + ${hccontrol} -n ${dev}hci reset \ + > /dev/null 2>&1 && break + if [ ${loop} -eq 3 ] + then + warn Reset failed three times, giving up. + return 1 + fi + warn Reset failed, retrying. + done ${hccontrol} -n ${dev}hci read_bd_addr \ > /dev/null 2>&1 || return 1 From nobody Fri Jan 16 19:40:43 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9F73jp0z6NlMC for ; Fri, 16 Jan 2026 19:40: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 4dt9F7173rz3wxf for ; Fri, 16 Jan 2026 19:40:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nEcZs2Ej70dIkIlqL1cHjU8zfFibeEFb4q4KpPMiF4E=; b=mGjj66R9RpnbP1WT+oFIycGtl5+Tv9r/Ja9QWbtpt/F0SFCqRR6EWfONVHuUMnxwk8/kjm qTkCXDf/02O8O1iPxskf8GDZQdPZoRtqw68d5StCn8w0ZgOixYqS7vugcsoaSaEX+/NkZW va1x5RSjCV6VfD2m9tpc9aU+y7YXWRF79t3MaBsXDg4irpCoNFCxkOPH2qLH8esHlCV/at Mhl3WKDMI65eesTuZRyaSHWGi7s7pr6FZT61u36xs81xIN6388s0GyRkcwz/lyswXG41Db qhEmAicMAx8JqZ1Nu4iqw97ZUxxPmduMpzpC9eG2EVymjRd3hLcN6I0zB8Bdsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nEcZs2Ej70dIkIlqL1cHjU8zfFibeEFb4q4KpPMiF4E=; b=ULZI4Sa5BvFFh+tyizbzKnuL9+REwx0NiuRleOgcz9dEb/+bcxKBzYn9FBiMo7I2dAj2yy EgE6VTtTGOpbR+WoETA+TRACj5uNzsrX7OEqwCnT4mFfogF/a7M9fHibiFwFXI6Rj8YQ4t URX1Gpaib0T/LexT+MAGel/+wnsnHboQYAW4dUg5xW9/kmefR5X4FpwHPCHlT+IVZR/Y9W LpXbVV6vPxM9+WRp/rTO2o10a+dkQlorhhfIUea9QAHH/VlHCtyjKOXaOCB0eFr1SIOVHm a/JX8QHIjdvcM6/vCn8blZSWxr0VBv95hyn4hIh/3YMR18Hggp3j7o/ZugSWhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592443; a=rsa-sha256; cv=none; b=petDGZ6eRZTvdXCR9Q29euksboka032FGgjvmpDi9Uwpt6oJWWgu9aLNkZaJ9xcoTj/Awp nxrQ40fHZ4sRir1iQMZs+d06diMGEsIb5F3XCzxG0TgL7qPmq3X8rUfSGatqYHmf1mOTQE z9AG+qjVho3+DfXSHm3ya0Ii+Hko5EYwSuC2mDksJsYMzYVbNdFNTS+pC1XJnpU+joWfIi mXgYzJ/smATVpoUb7hE2ZMxjv7Xdgl7q0fHGKlzDk/6Wkne9mUXVY7g5KzPghnWF+xTNK4 y/WF0KLYSFmIR2uqM60W5JeuFA+tNVgQfApb3Y03R7QeugVLeQYZTY5XMsFRjg== 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 4dt9F708X6zC6j for ; Fri, 16 Jan 2026 19:40:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbd7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:43 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4a26d2750b56 - stable/14 - LinuxKPI: 802.11: do not delete keys while still assoc 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4a26d2750b5695a1e700ea1530628e7ad470baaa Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:43 +0000 Message-Id: <696a943b.dbd7.76f20e42@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4a26d2750b5695a1e700ea1530628e7ad470baaa commit 4a26d2750b5695a1e700ea1530628e7ad470baaa Author: Bjoern A. Zeeb AuthorDate: 2025-05-24 20:09:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:45 +0000 LinuxKPI: 802.11: do not delete keys while still assoc While we are still associated we cannot delete the keys as packets may still go out and if the firmware has no more keys it will raise and exception. This can happen given net80211 has its own mind when to do this and we, in various places, unlock and re-lock the com lock, so are open to races. Sponsored by: The FreeBSD Foundation (cherry picked from commit 86a0941db7028a5eb4d56aaa34998b833e5de174) --- sys/compat/linuxkpi/common/src/linux_80211.c | 40 +++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 17279f3caf6c..caa98f884e8b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1319,6 +1319,7 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) lhw = ic->ic_softc; hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); /* * Make sure we do not make it here without going through @@ -1326,6 +1327,23 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) */ lockdep_assert_wiphy(hw->wiphy); + /* + * While we are assoc we may still send packets. We cannot delete the + * keys as otherwise packets could go out unencrypted. Some firmware + * does not like this and will fire an assert. + * net80211 needs to drive this better but given we want the disassoc + * frame out and have to unlock we are open to a race currently. + * This check should prevent problems. + * How to test: run 800Mbit/s UDP traffic and during that restart your + * supplicant. You want to survive that. + */ + if (vif->cfg.assoc) { + if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) + ic_printf(ic, "%d %lu %s: vif still assoc; not deleting keys\n", + curthread->td_tid, (unsigned long)jiffies, __func__); + return (0); + } + if (IEEE80211_KEY_UNDEFINED(k)) { ic_printf(ic, "%s: vap %p key %p is undefined: %p %u\n", __func__, vap, k, k->wk_cipher, k->wk_keyix); @@ -1370,7 +1388,6 @@ lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif - vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, sta, kc); if (error != 0) { ic_printf(ic, "%d %lu %s: set_key cmd %d(%s) for sta %6D failed: %d\n", @@ -2785,6 +2802,14 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i bss_changed = 0; bss_changed |= lkpi_disassoc(sta, vif, lhw); +#ifdef LKPI_80211_HW_CRYPTO + /* + * In theory we remove keys here but there must not exist any for this + * state change until we clean them up again into small steps and no + * code duplication. + */ +#endif + lkpi_lsta_dump(lsta, ni, __func__, __LINE__); /* Adjust sta and change state (from NONE) to NOTEXIST. */ @@ -3317,6 +3342,16 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int #ifdef LKPI_80211_HW_CRYPTO if (lkpi_hwcrypto) { + /* + * In theory we only need to do this if we changed assoc. + * If we were not assoc, there should be no keys and we + * should not be here. + */ +#ifdef notyet + KASSERT((bss_changed & BSS_CHANGED_ASSOC) != 0, ("%s: " + "trying to remove keys but were not assoc: %#010jx, lvif %p\n", + __func__, (uintmax_t)bss_changed, lvif)); +#endif error = lkpi_sta_del_keys(hw, vif, lsta); if (error != 0) { ic_printf(vap->iv_ic, "%s:%d: lkpi_sta_del_keys " @@ -3378,6 +3413,9 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int * 4) call unassign_vif_chanctx * 5) call lkpi_hw_conf_idle * 6) call remove_chanctx + * + * Note: vif->driver_flags & IEEE80211_VIF_REMOVE_AP_AFTER_DISASSOC + * might change this. */ bss_changed |= lkpi_disassoc(sta, vif, lhw); From nobody Fri Jan 16 19:40:46 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FB6dyCz6NlZK for ; Fri, 16 Jan 2026 19:40: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 4dt9FB2Ybhz3wtd for ; Fri, 16 Jan 2026 19:40:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xQuKCOEl7S3IN00K7Bn5V5qXGE87msfGiWx/Mcg3bM0=; b=soZ6I2DdX10untL9VxjNe1smF1IRiD0cqIEWskNIxb7OSp+HDf8CfGjeUaUu8qbFXYmoem CGjAkk29Csw9fQn4vDdUgrQWShXIJ+Sow4qrTSd/G6OPDJx/x7pEJg2aQc5Gs1dvZGPMW0 jujVzShTyewVWk10lOHMhVTW08eyW+hCW3TrgGVV1S/hKP2vfg4SxcmHpUv+f5ZGKUAuPV oNhbXAH93UWKnj6rA0dcs/QF1ZwVYpwo/8BoppfjU943J/a4w90BGm73qvLl28EjvUeOrB Q3bImOdVz7MVOyk1eHyO8fz1J+KyHAPWLrzeb/j/za18kLwGNn+olV89aJ4c0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xQuKCOEl7S3IN00K7Bn5V5qXGE87msfGiWx/Mcg3bM0=; b=noGrUeq7tE/wggsCCD9x7HSCSD54zkECDZFNXBuoCX3BCGovLuKCLHpzbHOKKFVbuuEwc5 LKzyixCCJZomfKgleuIhi9ILas1bAlE1aQm7Um+9Y3ev0c5L/9Vcwp+tJRji4RoZBfTiy8 TmEzonB6EIN+lHMqkguriab7nB6fD62NFzcUsb1REBwuyR8ltLAOBnUwWJRLmqflwSUahK AFNe4DM9Kaw5LQ9PTICCA0WEE3maRiKWIhAvYdgw+l5ju43fvIrGSp4yRhL4CT5YN4n3jC 39AzjjvqoY1mR+rBRIz+511TMavElkFT4rXoVs0RxDOJ/mwAETL8AOb9ac9mpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592446; a=rsa-sha256; cv=none; b=qPvJYThCelT4ClQYYKsIPaNv3duJnmx1nseE/cKmK7Arvq5zmGjHwOsXF1Gt2TjqeXF332 CXk2HzP2++YP/bwRys0wH01DDFeIKPIWlL90/RbNrDyJ+UFM5IsDu/Elg+z8c/TviJKCRD 4NCklvEOP40j+8tL5bqIcuri/9eP1YyzWcrFgm4pInwSKLhBVQR/8uF6JCGaXMe2CNCSe8 8fOOml1MxxINM29RMumLnhsT+Jp6/npFeGMcLjeiLUKU91DInR4lpt47nRwgNBU+HQFNuP ijdCg7ZC9jkFKiTvuTQAfeql/NeqHg79wi9oV1+/FtVbTDkBLTeMHRerjqQFbg== 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 4dt9FB1xCxzBlb for ; Fri, 16 Jan 2026 19:40:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbdf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 772579c13e5c - stable/14 - fwget: pci: hex strings use 0-9 and a-f not a-z 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 772579c13e5ce63eb4fddd97db77f5f53c7c19fa Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:46 +0000 Message-Id: <696a943e.dbdf.9271365@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=772579c13e5ce63eb4fddd97db77f5f53c7c19fa commit 772579c13e5ce63eb4fddd97db77f5f53c7c19fa Author: Bjoern A. Zeeb AuthorDate: 2025-08-31 18:51:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:46 +0000 fwget: pci: hex strings use 0-9 and a-f not a-z Reviewed by: imp, manu Differential Revision: https://reviews.freebsd.org/D52311 (cherry picked from commit 50cab1202d39e67cd38b395e3e08e140e7617d95) --- usr.sbin/fwget/pci/pci | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/fwget/pci/pci b/usr.sbin/fwget/pci/pci index fbdfa0001c5c..de8b7c8bb2b3 100644 --- a/usr.sbin/fwget/pci/pci +++ b/usr.sbin/fwget/pci/pci @@ -27,7 +27,7 @@ pci_get_class() { - local hexclass=$(echo $1 | sed 's/.*class=\(0x[0-9a-z]\{2\}\).*/\1/') + local hexclass=$(echo $1 | sed 's/.*class=\(0x[0-9a-f]\{2\}\).*/\1/') case "${hexclass}" in 0x00) echo "old" ;; # built before class codes were finalized 0x02) echo "network" ;; @@ -38,7 +38,7 @@ pci_get_class() pci_get_vendor() { - local hexvendor=$(echo $1 | sed 's/.*\ vendor=\(0x[0-9a-z]*\).*/\1/') + local hexvendor=$(echo $1 | sed 's/.*\ vendor=\(0x[0-9a-f]*\).*/\1/') case "${hexvendor}" in 0x1002) echo "amd" ;; @@ -52,7 +52,7 @@ pci_get_vendor() pci_get_device() { - local hexdevice=$(echo $1 | sed 's/.*\ device=\(0x[0-9a-z]*\).*/\1/') + local hexdevice=$(echo $1 | sed 's/.*\ device=\(0x[0-9a-f]*\).*/\1/') echo ${hexdevice} } From nobody Fri Jan 16 19:40:47 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FC6kQrz6Nlg8 for ; Fri, 16 Jan 2026 19:40:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FC2k55z3x8X for ; Fri, 16 Jan 2026 19:40:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qm7KbQzJYSivGOxrICBYBPiWhLxUSN8K4cEwxqtkhpg=; b=OkoUvo5xKqOh7IRMiPVTvdx8RwM2+hYQyYwOnHuuiT8oH/EOuMaJ71xx4HH/nNA5PEq9Vs jDURoVIw3OZeLr36RZXX4BW4Z6czd0XK+BMJkTNsZmUDPJdsXnJcfpigP5nR+8PuOB4GgG 2CwikBWCTg8ZFgMzgxPmD2Mp17EVqahuDEyaDTEZVnFYWC2GsMOhBRWquthaQk8faIIsyy +tD2P8QYc/EoE+LxrXP0XVw5SGKlGfhgosJ0h6DksGCXuCCifQSHiIoV2irkyY8VBmoQeC 7Mx4x4HXErqy2skzSmBjaBASb+nmGC64pUKR1xBu4J5bw/fqJJhRD4ZTN0kfdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qm7KbQzJYSivGOxrICBYBPiWhLxUSN8K4cEwxqtkhpg=; b=DkQAiysrZFcaAHs3dFXx+As0fKl+p5raWVsVPg703XLMxyjPsqg90gSUz6x+/kGfk/Yvki 8oJ3P3wwyktbCH0fFOBRm3vpiyDiX2X2WzCoEdy5lnp4OgnyQViy3o2wxwYPFpcm67RzkK ZrdzuCostNg+ORabk1LrEHQzsq9qgCPIP1+GRwqBIAvwxWewcXtAMyp99owbTnAAohlqdt pSIIGb2jZM9IueiCi2ijKcbUQNMAuZChB3LXZOXA2rWyeARII2aHs5+Q5Op64ZDIA0Bu+r AHfvnOPxUvR5ECnK1ft+C9anUuDJ3Ijs0NTzjXc5/+7CejBhrAVoMgR+VIZSWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592447; a=rsa-sha256; cv=none; b=S72eNy4bzQy4GXCVFTqY3BdQfoF1enAu+nWOqG2hsvNq9Q0hNRpOypsbB7bxDDzZu0TD8M 2Gmr/OY2W7hvhDCxoDuqfk/t6ljfBY38gn2BlaEydnbkpmUh9dqShBUz9kwxHd/D4ybkMf 6zvJcmUnhbhV8RcyIH7Ovny+qF6XPJOmjR39KGy+gybpaR+pZY6x5Wd9amEpwo82if+78x lHbULtcnUekcuR659pOKLVN7d6Ela1IjZkhbsYlauKMjLPdu4AygEB0MF1o/agIgYE/9ql MbeKEVbIg+swpreEj8v+vg6fjNugZxLVuGgwUAVdel4ASB0w1zJv3aSlAAJ6GA== 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 4dt9FC2GNYzC15 for ; Fri, 16 Jan 2026 19:40:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dab5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:47 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c5ca8670efda - stable/14 - fwget: pci: video amd: correct glob matching entries 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c5ca8670efda02044811dfa87d14dec35ad8a66a Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:47 +0000 Message-Id: <696a943f.dab5.5b1a8953@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c5ca8670efda02044811dfa87d14dec35ad8a66a commit c5ca8670efda02044811dfa87d14dec35ad8a66a Author: Bjoern A. Zeeb AuthorDate: 2025-08-31 18:51:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:46 +0000 fwget: pci: video amd: correct glob matching entries - one duplcate entry: 0x664*|0x664*) -> 0x664*|0x665*) - one unneeded glob: 0x98e4*) -> 0x98e4) - 0x15e7|0x1636|0x1638|0x164c) half of these are green-sardine; split - a missing entry for skillfish2 : + 0x143f Reviewed by: imp, manu Differential Revision: https://reviews.freebsd.org/D52312 (cherry picked from commit 1d12658755930e20904d498398379cad0e4ae396) --- usr.sbin/fwget/pci/pci_video_amd | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/usr.sbin/fwget/pci/pci_video_amd b/usr.sbin/fwget/pci/pci_video_amd index 5f89b12dce7c..f4df600c320e 100644 --- a/usr.sbin/fwget/pci/pci_video_amd +++ b/usr.sbin/fwget/pci/pci_video_amd @@ -45,7 +45,7 @@ pci_video_amd() 0x13*) addpkg "gpu-firmware-amd-kmod-kaveri" ;; - 0x664*|0x664*) + 0x664*|0x665*) addpkg "gpu-firmware-amd-kmod-bonaire" ;; 0x67a*|0x67b*) @@ -69,7 +69,7 @@ pci_video_amd() 0x987*) addpkg "gpu-firmware-amd-kmod-carrizo" ;; - 0x98e4*) + 0x98e4) addpkg "gpu-firmware-amd-kmod-stoney" ;; 0x67e*|0x67ff) @@ -105,7 +105,10 @@ pci_video_amd() 0x734*) addpkg "gpu-firmware-amd-kmod-navi14" ;; - 0x15e7|0x1636|0x1638|0x164c) + 0x15e7|0x1638) + addpkg "gpu-firmware-amd-kmod-renoir gpu-firmware-amd-kmod-green-sardine" + ;; + 0x1636|0x164c) addpkg "gpu-firmware-amd-kmod-renoir" ;; 0x736*) @@ -129,7 +132,7 @@ pci_video_amd() 0x740*|0x741*) addpkg "gpu-firmware-amd-kmod-aldebaran" ;; - 0x13fe) + 0x13fe|0x143f) addpkg "gpu-firmware-amd-kmod-cyan-skillfish2" ;; 0x742*|0x743*) From nobody Fri Jan 16 19:40:49 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FG5Fgkz6NlgJ for ; Fri, 16 Jan 2026 19:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FF43fpz3x4k for ; Fri, 16 Jan 2026 19:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nof4+ltlPTX8aRQTSQHg6KiecUvuhxS6giRHaNtXVIk=; b=kNpPiIhaf5SsSLwH8xMo5bZWPdnUNB9pGYu6vfOLpSYPWKbeY10Lqb3HImKpt2NQ4IoeEG Tel44pSPaw6LqajmWVtAZku2UUXVxIE/SsEGzBW/U852SOF9JMypO2kjYalqvfLr4qObpe VJ1qnsZj/JjdKbl+gywdLN/2sUWVTrf3LXpO2UVxnGbT9gc9klEvkVuTnQDIXidkj1iY9o 4sxaud4PXNn2XZzsoPFZeLIETpL9cfkBms97UkjqxD5DV/8rKdv8+nFLqGpPVStyfpHUyD ybmVNqDnFSmtHOa5yCS+jmOtuF6fzYyWwA+sMBkWkuNG/oSI7eoFdwFkuqKJIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nof4+ltlPTX8aRQTSQHg6KiecUvuhxS6giRHaNtXVIk=; b=xA0ZqHVM9jxt4kOfpcIHlDeqtGPZ9ysqtwoGFmTWGVlWwKQIdC6phw87tRtQFh8wjq6dfa jdq8bktVfrnIo6kLa50a1avdxkTKXAskX6ka5j3LHj5kJgRXoDt8IhAtaJc9C6stb0+1my E038O5FjA/0AL2M9dabJ9+7aWtft7Z7zBeIc/sQJmly4bYt/HKYjzIAZGS+1hX2wLY/Xuy bTR+4FZtwvll18Ihagx/UD/m+vMroLaokStE/ynFNoMYRS2NwnUTh3sayp2v+/khrleUQf p2+mSw1kzIo5ufQV9OzsU/RUUTvS1WCIRXdkP+gU1+MBTZ8Bqpz5YauVk8iJ7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592449; a=rsa-sha256; cv=none; b=Q5eIotGpfcZe4zlCRpkppJmtJw3xZ8XcP7i1nQoSUOH8E+HUhKopbq42W0WTRbtfMT/khm E8Sftgsa9k3faNykvlvAmeyksDWulaoFN2XoiLcrpilI9dpZY5Pp07BzJ18AduEx9N2u+W m+CYzCBRYM70jvg7NaHDciQy5aDnocNDiakm9LCqR5pnXchqMqrMCZ5Q0UiYbGba7rgWht aQWV8u0ASdelfAV4FPBHdDi+vNxZdQgD9UbiQfuKLkk9IVDzqnajLnfhipUh+7Pf+wUiF1 HmM3eykA6I9ZllRgMr7FtpksvWpHimYVY+gvq/eFEvAYtpVbOXXsi+UbE+GQpw== 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 4dt9FF3Vv7zCJy for ; Fri, 16 Jan 2026 19:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dcf8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: baefe812214e - stable/14 - LinuxKPI: pci: implement for_each_pci_dev() and improve pci_get_device() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: baefe812214ebdeb042cf5a85e8232f4ee1a97ab Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:49 +0000 Message-Id: <696a9441.dcf8.f09f6d6@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=baefe812214ebdeb042cf5a85e8232f4ee1a97ab commit baefe812214ebdeb042cf5a85e8232f4ee1a97ab Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:20:15 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:46 +0000 LinuxKPI: pci: implement for_each_pci_dev() and improve pci_get_device() Implement for_each_pci_dev() needed by a wireless driver update. For that also improve pci_get_device() and add the functionality to support the odev argument to start searching from that. Sponsored by: The FreeBSD Foundation (intially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52066 (cherry picked from commit 910cf345d0ee9a5d72856a1ba35382eb4f0db951) (cherry picked from commit 68f8fa4ada24aaf53a2d463b53259439dfb32146) --- sys/compat/linuxkpi/common/include/linux/pci.h | 3 +++ sys/compat/linuxkpi/common/src/linux_pci.c | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 614cea0e7144..8bfb3a6a9909 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1421,6 +1421,9 @@ linuxkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev) return (lkpi_pci_get_device(vendor, device, odev)); } +#define for_each_pci_dev(_pdev) \ + while ((_pdev = linuxkpi_pci_get_device(PCI_ANY_ID, PCI_ANY_ID, _pdev)) != NULL) + /* This is a FreeBSD extension so we can use bus_*(). */ static inline void linuxkpi_pcim_want_to_use_bus_functions(struct pci_dev *pdev) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 77acbc48c408..b2f526df0da2 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -290,12 +290,18 @@ lkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev) { struct pci_dev *pdev, *found; - KASSERT(odev == NULL, ("%s: odev argument not yet supported\n", __func__)); - found = NULL; spin_lock(&pci_lock); list_for_each_entry(pdev, &pci_devices, links) { - if (pdev->vendor == vendor && pdev->device == device) { + /* Walk until we find odev. */ + if (odev != NULL) { + if (pdev == odev) + odev = NULL; + continue; + } + + if ((pdev->vendor == vendor || vendor == PCI_ANY_ID) && + (pdev->device == device || device == PCI_ANY_ID)) { found = pdev; break; } From nobody Fri Jan 16 19:40:48 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FF34X1z6NlVY for ; Fri, 16 Jan 2026 19:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FD3vbnz3xC4 for ; Fri, 16 Jan 2026 19:40:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQddb6CBPkTyVRcVCXp+g9ihYB1ljqMPaBx0pSQdvsk=; b=Nie/L6Vsnh/aApwJEd27lmG+l0j0FsjOrvq9/O5DdJO/ey0JRmWzKZ+qQeRvGeT16NlKgp Od3tvcJcv4I4HmIHFNMA71ticUcDy2HGZnLLgllvlGIgEbKywZ8JQpeK/Pg2BRBnqnEBzQ cqU7QWQU9MpuHzrQZVvqqmNDI+kfWISNgMknmj03dDfeBM4ATa/wS8GIAnblvlQCHpmmXC H/89ruGRoG5qg1hNJnFJITajW023/P/G3lOAfdbSKIBFXC5rHrnW79DLL+p8ljmiRdu94U 8w8JQC/e7tmAn/awPOtqmkAqGL19vEiKpGA5GBi3zul3NAURzzM6IDcUOlGrmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQddb6CBPkTyVRcVCXp+g9ihYB1ljqMPaBx0pSQdvsk=; b=VShR7jZ4TwMoIBZId72kdMSzXA0C0e6LLyqjfLjxMYqhU5Ayicb5YzvsIWTyb3rRemLRBz EL3fMBINf8q7/D7YppXmV/haFl+g6qxyOt14ZsExwciDo/bztY4szNuCUGVRpo0JsQJbXG kFQLG3QYe4MaygbMqk9RTBojd0jl+L361F4V8Ris2qYsPdMcXpt/Bv0sxrm3J1eUdoeliU somMG442z7Fy3nI+Lx3sL/zT5DuvbvAyGekwF1ac16BNxAdNNvVGTFru7NjFGJmhYeSYW7 vGRngnfuxQenASoPVBo7DYXlu97zHfsDT9ArUmXowUjsLET76aoeMwo1oLT3KQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592448; a=rsa-sha256; cv=none; b=TN0QwJnIguv6KGxoVDiLenqx4irY5hiaQDvA/1sSy6xVDlSaZoh9Kfa8U9/JfNG2ynv1m8 me4cqBMDGc0fFGQ/cIJD7D9qviBupzYBseaJZr68GXCySvAV099YCR1z4tx3jbAMAE8511 wTjk3o4PIcdi2RwMSQz3MF/xJXWxpoTf5UPB2Z4BE14lKFdUTEVeuFErp06yA/REO48nb7 cJ1Sgk0qzxgodrkRcPGgceuS3niKf5d+q/kqyv99r8zFjM5lqlK6RlXQ985OhYgaX6FT32 Ff7/mNoZWUOe7vVXZ2ln1qHXY6eOnNbSnvFrx5rxHtSdsxQe++QUHNdFfrqJDw== 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 4dt9FD33ZFzCLl for ; Fri, 16 Jan 2026 19:40:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dc06 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 2c48a938d570 - stable/14 - LinuxKPI: skbuff: no longer use IEEE80211_DEBUG to turn on debug 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2c48a938d570b895002b16f78133ff4256efea1d Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:48 +0000 Message-Id: <696a9440.dc06.6b521308@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2c48a938d570b895002b16f78133ff4256efea1d commit 2c48a938d570b895002b16f78133ff4256efea1d Author: Bjoern A. Zeeb AuthorDate: 2025-09-03 11:01:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:46 +0000 LinuxKPI: skbuff: no longer use IEEE80211_DEBUG to turn on debug A port using linux(kpi) header files but not using skbuffs is hitting the case that it cannot find opt_wlan.h. Give up to the idea that skbuff.h is only used by wireless drivers (or in-tree) and that IEEE80211_DEBUG (via opt_lwan.h) could autmatically compile in debug support. It is likely time to add a LINUXKPI_DEBUG knob in the near future (also for linuxkpi_debug or linuxkpi_debug_rcu). PR: 289268 (cherry picked from commit bc222e96d135687aea4e67ee9b11fb9490f42546) --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 0f192ceab318..6e41c368a8b8 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2025 The FreeBSD Foundation - * Copyright (c) 2021-2023 Bjoern A. Zeeb + * Copyright (c) 2021-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -47,13 +47,11 @@ #include #include -#include "opt_wlan.h" - -/* Currently this is only used for wlan so we can depend on that. */ -#if defined(IEEE80211_DEBUG) && !defined(SKB_DEBUG) -#define SKB_DEBUG -#endif - +/* + * At least the net/intel-irdma-kmod port pulls this header in; likely through + * if_ether.h (see PR289268). This means we no longer can rely on + * IEEE80211_DEBUG (opt_wlan.h) to automatically set SKB_DEBUG. + */ /* #define SKB_DEBUG */ #ifdef SKB_DEBUG From nobody Fri Jan 16 19:40:50 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FH0B1Kz6NlWw for ; Fri, 16 Jan 2026 19:40: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 4dt9FG4pFKz3x4t for ; Fri, 16 Jan 2026 19:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LzNaSskEsO5embVDPpr+GtplvtyCOND+NxPox74QbuQ=; b=mTAdKJnzVDl2TcdmGHgKd8xwg829e8pGAIEmA2UQ2sIhDZ/KeCj2lWOMw6CSWSt1AxNuRv P4G7a6ye6icAobHyQVT+3MXr69QIB5w3RZTaChLcXTajm2FoNwS5OdFkPEnFct84tF2j/l XZPNR4LVM+pQdYvgPwhFDCZu6dzwOAJXM8e74jrdkW9rIWHba6eW3oCOUm0qm9zfvP3geA IJZks0UxhGDnYVNYHJnX4+NKDG/KJIhGhnpLP2R9J7ZIjk8lCfwcQWXvdhOhoToAela1uZ bDPo+pa01PsSze50zrNiNwkSuCT//gS77wCbdqmLgDkrcHgU5XwxQ4vXn1lv+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LzNaSskEsO5embVDPpr+GtplvtyCOND+NxPox74QbuQ=; b=hwRumoDEZ8ijZwh9zzmfLYrKMrl1dPxTLOgZigMzxEhwKvQS3+wb9UmtrwHD2izIIF7pjp LnF4Vvpfp0HDPzAht5eSjPFn3A0IJotHmRCgwM+6uE/lcHLweqM0YML1wKu81x5mjEVtNc xQtXLsT//uTflYyFix4z3osMeaCazzMgkQP0LcUrMJ7NaaUf63caks8BzBMho8bVozNZkY z97KzR4TtxWvyZy1BbQcSPF+hhwFCf6bN1yQUsrH2VxapqXMYHT7m8HQavygF6QJtZ7PUB Q1Jd2yzvN8gp+gPAeAbZ6ZihNeHZso61xS6sSloUi5gwjAcEroOVHypHD8FeBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592450; a=rsa-sha256; cv=none; b=OnfsdiEryRaSokq6WRDfcgpIsgakprOHA4EAZ4kl97qxMRDZQBICBIaXcM1eiQxDOe6mCo EBtxtWruebKmsHqvbCUYMehTDtJ1fvi6mCiXv9SvB0mWRn1X0wGu+IAnNgXy7jNvcggJYA 9KlQBvdjA+meLaZwooZmgTvq2VcviCUKpOi4m6AypC8DMhQMxFnrQ3S13TpU7vu5okrOin +SHU36S1rj0VMvjDJe0QaLNbyEulgeANSrSHxZz2O3CPHRyyOVU5pgon3m+orLF42nyDVI EsbJJqO3/S1Wc6K76EGRnjJdSCc5NwxnVlJB2al1MI9idPYcdK4mZsDywgdFqg== 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 4dt9FG4BJlzCK1 for ; Fri, 16 Jan 2026 19:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de0c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 008b9c7db5b2 - stable/14 - LinuxKPI: pci: implement pcim_iomap() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 008b9c7db5b28ed38f30e05f9c0bfb6e30156a35 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:50 +0000 Message-Id: <696a9442.de0c.4b0d8191@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=008b9c7db5b28ed38f30e05f9c0bfb6e30156a35 commit 008b9c7db5b28ed38f30e05f9c0bfb6e30156a35 Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 17:45:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:47 +0000 LinuxKPI: pci: implement pcim_iomap() Like pci_iomap() add the devres version pcim_iomap() using the former to get the resource. Add a helper function to validate that the bar is within a valid range and sprinkle that check also to other related functions. Sponsored by: The FreeBSD Foundation (intially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52067 (cherry picked from commit 2f9064a5d2b50f292cc8699d2be5c66c317f1dc7) (cherry picked from commit cfb8f4bf2c2b9cfc8d5ed5a19b98f4a19f023ba6) --- sys/compat/linuxkpi/common/include/linux/pci.h | 3 ++ sys/compat/linuxkpi/common/src/linux_pci.c | 58 +++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 8bfb3a6a9909..20bd399b6170 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -357,6 +357,7 @@ void __iomem **linuxkpi_pcim_iomap_table(struct pci_dev *pdev); void *linuxkpi_pci_iomap_range(struct pci_dev *, int, unsigned long, unsigned long); void *linuxkpi_pci_iomap(struct pci_dev *, int, unsigned long); +void *linuxkpi_pcim_iomap(struct pci_dev *, int, unsigned long); void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res); int linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *name); @@ -782,6 +783,8 @@ static inline void pci_disable_sriov(struct pci_dev *dev) linuxkpi_pci_iomap_range(pdev, mmio_bar, mmio_off, mmio_size) #define pci_iomap(pdev, mmio_bar, mmio_size) \ linuxkpi_pci_iomap(pdev, mmio_bar, mmio_size) +#define pcim_iomap(pdev, bar, maxlen) \ + linuxkpi_pcim_iomap(pdev, bar, maxlen) #define pci_iounmap(pdev, res) \ linuxkpi_pci_iounmap(pdev, res) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index b2f526df0da2..0d8cfdeb576d 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -146,6 +146,23 @@ struct linux_dma_priv { #define DMA_PRIV_LOCK(priv) mtx_lock(&(priv)->lock) #define DMA_PRIV_UNLOCK(priv) mtx_unlock(&(priv)->lock) +static void +lkpi_set_pcim_iomap_devres(struct pcim_iomap_devres *dr, int bar, + void *res) +{ + dr->mmio_table[bar] = (void *)rman_get_bushandle(res); + dr->res_table[bar] = res; +} + +static bool +lkpi_pci_bar_id_valid(int bar) +{ + if (bar < 0 || bar > PCIR_MAX_BAR_0) + return (false); + + return (true); +} + static int linux_pdev_dma_uninit(struct pci_dev *pdev) { @@ -746,6 +763,9 @@ _lkpi_pci_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen __unused) struct pci_mmio_region *mmio, *p; int type; + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + type = pci_resource_type(pdev, bar); if (type < 0) { device_printf(pdev->dev.bsddev, "%s: bar %d type %d\n", @@ -786,6 +806,9 @@ linuxkpi_pci_iomap_range(struct pci_dev *pdev, int bar, { struct resource *res; + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + res = _lkpi_pci_iomap(pdev, bar, maxlen); if (res == NULL) return (NULL); @@ -799,9 +822,41 @@ linuxkpi_pci_iomap_range(struct pci_dev *pdev, int bar, void * linuxkpi_pci_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen) { + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + return (linuxkpi_pci_iomap_range(pdev, bar, 0, maxlen)); } +void * +linuxkpi_pcim_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen) +{ + struct pcim_iomap_devres *dr; + void *res; + + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + + dr = lkpi_pcim_iomap_devres_find(pdev); + if (dr == NULL) + return (NULL); + + if (dr->res_table[bar] != NULL) + return (dr->res_table[bar]); + + res = linuxkpi_pci_iomap(pdev, bar, maxlen); + if (res == NULL) { + /* + * Do not free the devres in case there were + * other valid mappings before already. + */ + return (NULL); + } + lkpi_set_pcim_iomap_devres(dr, bar, res); + + return (res); +} + void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res) { @@ -853,8 +908,7 @@ linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *nam res = _lkpi_pci_iomap(pdev, bar, 0); if (res == NULL) goto err; - dr->mmio_table[bar] = (void *)rman_get_bushandle(res); - dr->res_table[bar] = res; + lkpi_set_pcim_iomap_devres(dr, bar, res); mappings |= (1 << bar); } From nobody Fri Jan 16 19:40:53 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FM3Mr3z6NlQW for ; Fri, 16 Jan 2026 19:40: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 4dt9FL0Nr8z3x81 for ; Fri, 16 Jan 2026 19:40:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VJZ5OFnro0jZLDv+yFz1/UFcAcZig+SFcYi6SxJbdmY=; b=hkZ+jUnVqOu6174bO4BzGt5lexto+LJmdesbL/w/9RSvjEKTMLuq8a5tWoG33jPQr/cQA+ Uev1kDGs5OwYEySG6tBGpzvrSepbz+cPds5K0jx3+3wcglbvuxHgWcr0st1yZniNjTpKXM SLutcenvnndzubZrPLbAD5I092wKIbZ23HiEWH+yo4H1O4Es+T6vOUhe92eyqTGde515AR FYJ/jVZ64VU4rF/3T5+JB2QSEg3KU1dHjJPMYz1AZL6Fw+pp8OzATNZ2G28LpYqZA4bdKM brHTQIPw8adLd2wnrnKQV4kOKMNXq3qg+CbQ3YyfXC09wbCpjH6wc9grR6TsDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VJZ5OFnro0jZLDv+yFz1/UFcAcZig+SFcYi6SxJbdmY=; b=khTCjFjgwjyu890/a8UHEBi43rffPZXljPSQAPIoSiKp063cfM0utz36E6WRVPlrB5yJ60 238oVwo95efxe14RI1teuUr2ii4jcws5tl4QS16MWDa4WwmCsRgy4Z4HsWAaxcMdvUsCUe UkoeXGidA5R/neZPtdxYEVJIrdzyVkzfji4tlMsQ3Vpk5cFLYPzyVxhVgqg9691peJgEsd Row+gbLZVVZ6s5n8h/+iaWhDbDOgb9WaH4JoQYidizodeP3uDBew1aPF2sLpK/7qVKwGkt su9JCgo5VFFqCVxhgE9ZDHnYIHrEHr98O79sWyj+170hSeGF9V8TIPvsbubHZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592454; a=rsa-sha256; cv=none; b=EQ/S54dclQBCUFZiHBcTzQVR3zohI1pNgtvPr5PC0Az3N5AkMwq6N7ftLkcZVQoHOaMRV+ UuMNq1tVygYowe4mV85gTK1txFVRPyKplX01faPm9mI+aARnppOmZ435tjanyuEgesKrlm 31i4C5Hd1u+VdDajfuGZpeFzjTVoxeYOZfDqipF2IcjNnvIrbuc/EtSk7gGuYLA1fY709S kVRs8QxI/wXOvsNFYL9fbV64peGccOduI9+jsEiveHilLCtLamumVDlNBQtYzQCQ+TE5pj 2v1pca8IZtUHH3MziOwQofRFC6U7Wm+7N3ZpYO8+JCq17pXR858ppRcywcSknQ== 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 4dt9FK6Wx9zCbS for ; Fri, 16 Jan 2026 19:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb64 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: fe8793b39bef - stable/14 - LinuxKPI: correct the LINUXKPI_VERSION check for abs_diff() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fe8793b39bef5a035aa4dce6fd8479f954ac5845 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:53 +0000 Message-Id: <696a9445.bb64.213357c4@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fe8793b39bef5a035aa4dce6fd8479f954ac5845 commit fe8793b39bef5a035aa4dce6fd8479f954ac5845 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:23:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:47 +0000 LinuxKPI: correct the LINUXKPI_VERSION check for abs_diff() The code introduced abs_diff() as migrated from drm to standard linux headers. The LINUXKPI_VERSION check did not allow this to be visible by default in-tree. Make sure the v6.6 check is optional. drm-kmod always defines LINUXKPI_VERSION so this should be fine. Sponsored by: The FreeBSD Foundation (initially) Fixes: afc450fac9f04 Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52071 (cherry picked from commit 736b16e88d2384f9dd0ec11c0492e825b8d42193) (cherry picked from commit ab45c859374d750a6b68292cf40889b8ca5db04a) --- sys/compat/linuxkpi/common/include/linux/math.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/math.h b/sys/compat/linuxkpi/common/include/linux/math.h index 5a348a57747b..1d50e011f66d 100644 --- a/sys/compat/linuxkpi/common/include/linux/math.h +++ b/sys/compat/linuxkpi/common/include/linux/math.h @@ -56,7 +56,7 @@ __ret; \ }) -#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 60600 +#if !defined(LINUXKPI_VERSION) || (LINUXKPI_VERSION >= 60600) #define abs_diff(x, y) ({ \ __typeof(x) _x = (x); \ __typeof(y) _y = (y); \ From nobody Fri Jan 16 19:40:55 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FM59Tnz6NlS1 for ; Fri, 16 Jan 2026 19:40: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 4dt9FM0kWpz3x5F for ; Fri, 16 Jan 2026 19:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVcqctUPxzAgLSgsezAcWcI3E4+PGNTUzCxbtPyUL28=; b=mzyC8cM1Gsr702JYoQYZ1pVjn2sBP4GVdMhrcn4/LTyBgo/Rl64Sp709pQSUHIKPOGyBkj lMlC/nPnat4r7DAKhTuMXi0+oRy1GskZcNE6YfCs5RvdCMjWeSFDN4VdyYd50Y8WcCNOMO 0A8BsLTTwBQjOtVWEIZVCRH8+bjaHTlAKsy3bGV1jnJiLXJegzQwZfHie19zYgwhyM1adR HCQU0akE9sLk7F6EE3pjsf0wSI5e/dO8T36414Js8uvqCnrUs2lNjSJNgvUh+WGmM2q4p2 lRB3+FuXy6i4sVk+dXOeOnmkG879TnZJe1tRq9J7t12CjuZ4dt0Pweuc5kJhew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVcqctUPxzAgLSgsezAcWcI3E4+PGNTUzCxbtPyUL28=; b=Djjq86CXfMEswbEiKJ7FGSW/tRiGt+QbtycyiKAwLuGNdIli9Zzkrgvy6FdcbDDbeQ9U53 BGjtrEuxdyEXmtdmoL15Z5fyCstrXZJd/f2Ug3kYx40+Xsm0RA/jeJIF7gYjL1DrD2+hWp uZ/a50VQD+bgk2t4z5Pq6eKu2NwuWzZPA2c4Xxz3ik6se4b8RjoKpqXqEpob6i7DwyY19Y jahwu5XQC94jat4KXhrqY5TrVgMB5Fh6KNXbU9rn2c6uxORn3MUho/0l0V0GWq1zFdVp6r 2Q5t0Tbfk5CUbENLMzBALy6lVth7DoWBO+86G2vigcJzwYh6LsQXPh6dWZoMyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592455; a=rsa-sha256; cv=none; b=k4sq+ms3XzxGdbMnAwAMekYwqflIVF31wBhdm5lphk/HAU0M7ZjyraHGheKt2FW/t5+dGK vyD+fRyJkE3mgPJ+dVtkxsPiZc71FkX/zxSUqPD/TEmrmPIcFesAZ3K4j0CkEou0vBlRpP 2xgYh2gDjVChHpJ81oUEJnkGZQKAAPgvT/Rs6PnLj/wOWmhqH34R92xJwk0a/TnF/vhewK SFlfXYGOV8kbE6bbqjz0zY4TJDifanJNVMED2mE6dyC3p3HLi+2RDUpKrLWjrnkirDqibT p+6MBBon+a3Hp+uYM7FT+Q42FIFV0b+VVuwuvNI+ukEBqAmhZ0agyUGxlGrT8Q== 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 4dt9FM0FSczC4P for ; Fri, 16 Jan 2026 19:40:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbe3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 3c1f1bcb14d3 - stable/14 - LinuxKPI: rename from_timer() to timer_container_of() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3c1f1bcb14d3e1f8c4f3af912fdce867cc72f3ab Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:55 +0000 Message-Id: <696a9447.dbe3.b752047@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3c1f1bcb14d3e1f8c4f3af912fdce867cc72f3ab commit 3c1f1bcb14d3e1f8c4f3af912fdce867cc72f3ab Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:23:57 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:48 +0000 LinuxKPI: rename from_timer() to timer_container_of() With Linux 6.16 from_timer() got renamed to timer_container_of(); add the LINUXKPI_VERSION check with a default to the current version. Update all in-tree consumers (apart from wireless drivers managed otherwise). Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52073 (cherry picked from commit 81cb7c4c8e7bc4951c77fe64a63a847ed6abee38) (cherry picked from commit 352be5b48ba8b3ec1e3e5dd0dbee4da8d1fa78b0) --- sys/compat/linuxkpi/common/include/linux/timer.h | 5 +++++ sys/compat/linuxkpi/common/src/linux_80211.c | 2 +- sys/dev/irdma/irdma_cm.c | 2 +- sys/dev/irdma/irdma_utils.c | 4 ++-- sys/dev/qat/qat_common/adf_gen4_timer.c | 2 +- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/timer.h b/sys/compat/linuxkpi/common/include/linux/timer.h index 8bea082c3e6c..fe0e084cb790 100644 --- a/sys/compat/linuxkpi/common/include/linux/timer.h +++ b/sys/compat/linuxkpi/common/include/linux/timer.h @@ -49,8 +49,13 @@ extern unsigned long linux_timer_hz_mask; #define TIMER_IRQSAFE 0x0001 +#if defined(LINUXKPI_VERSION) && (LINUXKPI_VERSION < 61600) #define from_timer(var, arg, field) \ container_of(arg, typeof(*(var)), field) +#else +#define timer_container_of(var, arg, field) \ + container_of(arg, typeof(*(var)), field) +#endif #define timer_setup(timer, func, flags) do { \ CTASSERT(((flags) & ~TIMER_IRQSAFE) == 0); \ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index caa98f884e8b..4fbf36f8c55c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7330,7 +7330,7 @@ lkpi_wiphy_delayed_work_timer(struct timer_list *tl) { struct wiphy_delayed_work *wdwk; - wdwk = from_timer(wdwk, tl, timer); + wdwk = timer_container_of(wdwk, tl, timer); wiphy_work_queue(wdwk->wiphy, &wdwk->work); } diff --git a/sys/dev/irdma/irdma_cm.c b/sys/dev/irdma/irdma_cm.c index 07f84040c442..69323336442f 100644 --- a/sys/dev/irdma/irdma_cm.c +++ b/sys/dev/irdma/irdma_cm.c @@ -1316,7 +1316,7 @@ irdma_cm_timer_tick(struct timer_list *t) struct irdma_timer_entry *send_entry, *close_entry; struct list_head *list_core_temp; struct list_head *list_node; - struct irdma_cm_core *cm_core = from_timer(cm_core, t, tcp_timer); + struct irdma_cm_core *cm_core = timer_container_of(cm_core, t, tcp_timer); struct irdma_sc_vsi *vsi; u32 settimer = 0; unsigned long timetosend; diff --git a/sys/dev/irdma/irdma_utils.c b/sys/dev/irdma/irdma_utils.c index 5fc37022981f..038f1980082b 100644 --- a/sys/dev/irdma/irdma_utils.c +++ b/sys/dev/irdma/irdma_utils.c @@ -876,7 +876,7 @@ irdma_terminate_done(struct irdma_sc_qp *qp, int timeout_occurred) static void irdma_terminate_timeout(struct timer_list *t) { - struct irdma_qp *iwqp = from_timer(iwqp, t, terminate_timer); + struct irdma_qp *iwqp = timer_container_of(iwqp, t, terminate_timer); struct irdma_sc_qp *qp = &iwqp->sc_qp; irdma_terminate_done(qp, 1); @@ -1528,7 +1528,7 @@ static void irdma_hw_stats_timeout(struct timer_list *t) { struct irdma_vsi_pestat *pf_devstat = - from_timer(pf_devstat, t, stats_timer); + timer_container_of(pf_devstat, t, stats_timer); struct irdma_sc_vsi *sc_vsi = pf_devstat->vsi; if (sc_vsi->dev->hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) diff --git a/sys/dev/qat/qat_common/adf_gen4_timer.c b/sys/dev/qat/qat_common/adf_gen4_timer.c index 96b65cdff181..2c74d09418e5 100644 --- a/sys/dev/qat/qat_common/adf_gen4_timer.c +++ b/sys/dev/qat/qat_common/adf_gen4_timer.c @@ -57,7 +57,7 @@ end: static void timer_handler(struct timer_list *tl) { - struct adf_int_timer *int_timer = from_timer(int_timer, tl, timer); + struct adf_int_timer *int_timer = timer_container_of(int_timer, tl, timer); struct adf_accel_dev *accel_dev = int_timer->accel_dev; struct adf_hb_timer_data *hb_timer_data = NULL; u64 timeout_val = adf_get_next_timeout(int_timer->timeout_val); From nobody Fri Jan 16 19:40:56 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FN3ckDz6NlZl for ; Fri, 16 Jan 2026 19:40: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 4dt9FN1N4Bz3x9h for ; Fri, 16 Jan 2026 19:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LkkbJSDUfdMuAQqBWTwq03YAlc/AZDxSHqwgLis+6/w=; b=qzOhcrvpcxKZTZngx2O24e2hxNnYaMwQYLETHgvbsH/r02kex72B0GVg32DRIBroz/IcR3 y4hiczUORkOhs3VN0DahrfL4r9kmCsdnoTdM+1+hHvtzy2c80dh17L9NzhWWzF4M4ggMx7 n4w/0/hVAdPLeA/qg3Cf2saTRjTxbUp9Kp4euoULUHjHIZzXtnhBj2356FrsfIeIFmKlDf VTIVvc93QsLS32yu6tb6HUE4zMjaMtOAgi2ETIbZ85nXO4RQbXRIyuLAeBNljRJXMZGvmj Cs6G6LI3mJc3ACh470xGPc25SP8DUXfxCUtcgSeKKKAHkFiIor1C3OSZeZbGtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LkkbJSDUfdMuAQqBWTwq03YAlc/AZDxSHqwgLis+6/w=; b=uyB/pKhY7wE3p5Ar0WnLsLcCRiNFHzhXinsuyV6YTx1VX+BekWY3xEhRVdOi9lJyHd2SRJ f9QAXe5AjThXCooztMElAPJX82kABRJpIr+ON0v565p1FxBVXFOWNhnYaDN0yC7B8mWjqY nPro6muvI94eulwsmVnS0bKda0INUPY4V5DjoQeyEWRi3kqE94BRB+oP/XXjaJFvsLXtdP T8Y5kuaet02pikPaXMVOByXU+CAnuriNrDPCy+zqojP4KGYaDnvEDRijHE78SJ3Fpjtkmk /TQPCpP9N8MkbdJLvsxurgkmYNyi2LFEzY8vlDXKDRz/We1sWDjZf/cLgbNfFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592456; a=rsa-sha256; cv=none; b=o9v4oDJiKQA+7PHhrdi6kwD3GvrZgXWqzYOqsAsBdCADdysTqacYVQ1AAfM8My2jU6j0I1 5fm0P6rd4RhqxSBP7LAILzkdcNaBkN1gH02v/1scPQkuszwwIA7c1Q9ZHvXZFgMoj+vWiq c96BTaS9wKq+yrcJR2fZZ/B3eMGi4deWXRXx7MMDdngCi0qgYa2GLN/oUlNNG1/bGJQ6/y xremoTamU9Xc4a9C5P23z882Vp76FVMgadCu+QSy2Kq8+u008asYRz4Z8LkT7nuXF423Nt HR7N71IW3RkXC38cslO2Ukurrh3G35bCFQH0zRXKxFPxs+VU+wfL0TOuiIhqLg== 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 4dt9FN0zt1zC6r for ; Fri, 16 Jan 2026 19:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c84c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c84bfaa25318 - stable/14 - LinuxKPI: timer KPI *_timer -> timer_* 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c84bfaa2531870a023fa9b267a765b9518ed3350 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:56 +0000 Message-Id: <696a9448.c84c.3cbc39d4@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c84bfaa2531870a023fa9b267a765b9518ed3350 commit c84bfaa2531870a023fa9b267a765b9518ed3350 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:24:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:48 +0000 LinuxKPI: timer KPI *_timer -> timer_* del_timer() got renamed to timer_delete() approximately in Linux 6.2 (similar for *_sync and likely others). Keep the old functions as compat; unclear when we can gc them. We should also re-define them with a linuxkpi_ prefix to avoid possible conflicts in the future if we do a full pass over this at some point. Sponsored by: The FreeBSD Foundation (intiially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52074 (cherry picked from commit 5cb64a1d3fe75526fb879ef4dce5860bbb4e4aea) (cherry picked from commit 88198564dbd82a97d655e73459c03eccf7031331) --- sys/compat/linuxkpi/common/include/linux/timer.h | 16 ++++++++++++++-- sys/compat/linuxkpi/common/src/linux_compat.c | 11 ++--------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/timer.h b/sys/compat/linuxkpi/common/include/linux/timer.h index fe0e084cb790..9ab30f3003ac 100644 --- a/sys/compat/linuxkpi/common/include/linux/timer.h +++ b/sys/compat/linuxkpi/common/include/linux/timer.h @@ -84,11 +84,23 @@ extern unsigned long linux_timer_hz_mask; extern int mod_timer(struct timer_list *, int); extern void add_timer(struct timer_list *); extern void add_timer_on(struct timer_list *, int cpu); -extern int del_timer(struct timer_list *); -extern int del_timer_sync(struct timer_list *); + +extern int timer_delete(struct timer_list *); extern int timer_delete_sync(struct timer_list *); extern int timer_shutdown_sync(struct timer_list *); +static inline int +del_timer(struct timer_list *tl) +{ + return (timer_delete(tl)); +} + +static inline int +del_timer_sync(struct timer_list *tl) +{ + return (timer_delete_sync(tl)); +} + #define timer_pending(timer) callout_pending(&(timer)->callout) #define round_jiffies(j) \ ((int)(((j) + linux_timer_hz_mask) & ~linux_timer_hz_mask)) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index a2c2d18c8185..e5e3d7929759 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -2052,7 +2052,7 @@ add_timer_on(struct timer_list *timer, int cpu) } int -del_timer(struct timer_list *timer) +timer_delete(struct timer_list *timer) { if (callout_stop(&(timer)->callout) == -1) @@ -2061,7 +2061,7 @@ del_timer(struct timer_list *timer) } int -del_timer_sync(struct timer_list *timer) +timer_delete_sync(struct timer_list *timer) { if (callout_drain(&(timer)->callout) == -1) @@ -2069,13 +2069,6 @@ del_timer_sync(struct timer_list *timer) return (1); } -int -timer_delete_sync(struct timer_list *timer) -{ - - return (del_timer_sync(timer)); -} - int timer_shutdown_sync(struct timer_list *timer) { From nobody Fri Jan 16 19:40:52 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FK4pZdz6NlQS for ; Fri, 16 Jan 2026 19:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FJ6Cgkz3x9B for ; Fri, 16 Jan 2026 19:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TuggAtT+CooRCPZvf8WrVK8P9YXe6XiDPAHTLrKCat0=; b=VTNpdMEbKPdUOVNjQhcsvC7DQK7mDHfUUnk8uWfoRQdlDHh96NP0An6WtTX1BmZUh47hR1 ommItAAN1+iQlFiOe7nRoRrglxMslnmIeQWfiQ4NCwJcPIJTPSd98KfSlldS9+jMkvX7R5 VSFGq0eVQT8fhCXJ8P/FyAbKkW1yBxoa05nI4DFlmOJfotn0LyCkoPH+wXL1bVitfGuYup C7W/OkActCSrZvBp3aBmltGbW7HM+fPUD9+F6SnQSlLTgA52k8mV9pV5uXdPfkIyT4Aam1 5pEszAMCzIYbK5oqrtZ9OuFfj3YP6o1FP4ooriLjsOjr0SbLiGl13Hwyo4xCSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TuggAtT+CooRCPZvf8WrVK8P9YXe6XiDPAHTLrKCat0=; b=qKlvmkUYtYKMnsrPZMNVbGrt1jyCPl4/Wx1TjtDYndTbIms6OELyKVmogMiLLkShtcxHdy 0mP/mFPsyLHAnlPQSwK0H7tJDvh/PW1Vv4WCvuImXmRVnQVJmLk5jIM6lR8TruKNJEQSsl CQlTUeUaJ/9wxquL+H9PzNgZXBdDxK6vIMjigE55blLdLqEk0dBn1Kpn2zEvMonehmhnkA rNpeThAbJv4GzSCz45lIJpMjVe86J6XcBH76WH/esmfh58LwIV64zLO3g0X5gA2T9P4Afy 5x5LOvYOIJc9xvlkIB0N8WU4UPf9PZQCldpKgqDnINHQpqilONvQZrXkr8UU0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592452; a=rsa-sha256; cv=none; b=HScdTEE+pRQOqbDQQFiH9fXFhTi2fuF/MyrrGoFFEf8d5cQor/ioE5lNKpRDCPXk5CpF9A I5bPyR1DaGbYaveaS0PnQfX8BWp04tn29pGnjqzv6DJUxkR8hlqv0+ECR/18+/FfIHPzOb lKVegocq1cgqFkfOHcD7zkvPtLRs1h26Zh/dtbYPwuxvQnSooS+c7Tq2MH12sMeNkp6hsC 0Y+dbq91K7uppjl6BJmmbAQ/At56qEjj415oYNuemYqNvdkHzLCbf0Mvcm97bYvePKbq4g nGQJsjkJlFdQR9581CX+Z8/pA4/geZTq8t7Aj4gqzMVQZOYaEQjSmlTP31JDlg== 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 4dt9FJ5lgtzCK8 for ; Fri, 16 Jan 2026 19:40:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de10 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 8f8a0aadfa8d - stable/14 - LinuxKPI: pci: allow children to be attached to a pci_dev 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8f8a0aadfa8d0176c0d2527973208850faf432d3 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:52 +0000 Message-Id: <696a9444.de10.302c07b2@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8f8a0aadfa8d0176c0d2527973208850faf432d3 commit 8f8a0aadfa8d0176c0d2527973208850faf432d3 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:22:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:47 +0000 LinuxKPI: pci: allow children to be attached to a pci_dev This will be used for hooking suspend/resume in for LinuxKPI 802.11 based drivers. Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52070 (cherry picked from commit 627234627b51c2f12c29d10617d7bbd18936ea55) (cherry picked from commit 8fca57469f7c33367c5f32f738a8fa8af40b6dda) --- sys/compat/linuxkpi/common/src/linux_pci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index deea5df06c4a..824f9a0118ae 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -112,6 +112,9 @@ static device_method_t pci_methods[] = { DEVMETHOD(pci_iov_uninit, linux_pci_iov_uninit), DEVMETHOD(pci_iov_add_vf, linux_pci_iov_add_vf), + /* Bus interface. */ + DEVMETHOD(bus_add_child, bus_generic_add_child), + /* backlight interface */ DEVMETHOD(backlight_update_status, linux_backlight_update_status), DEVMETHOD(backlight_get_status, linux_backlight_get_status), From nobody Fri Jan 16 19:40:51 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FJ194Fz6NlZc for ; Fri, 16 Jan 2026 19:40: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 4dt9FH5QT0z3x51 for ; Fri, 16 Jan 2026 19:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bqIxZnYq2+4DfPvJ29OoZCrH6AnFasV9waxjcuobHBc=; b=yaCTWGet2uqanwHBAwXw9uNIMaFe3QFXIrqv4hU19mHUEz9Uxt+UqkEKK1BANMASU/mFbG /gjIqNh0MkK61z5Dcwx9aLySTXNhgE8cfsiBxGjq7jAnHf0cXSTEq6fUazn2ETZIGtGTST GD56VtXucRiraWAdjEQXVxoMU1N/PhoiFadojJWhPYqY6TOssMsisFLzvQ9VpJfUkPn7YP vfPfsBQ5c+enqoBhJVO/4+HIfqZYkTPPl/S6pfPb5+gtIp6q1qNvnTKbA4fv/bnwIwV9ci V0dLA6F2hwhE1b3Q1n7UGPA8iqUxwO3V3YmZvQEq7frU9QpdUXIvTdqK2yJ9wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bqIxZnYq2+4DfPvJ29OoZCrH6AnFasV9waxjcuobHBc=; b=YsFC7DuLxYQGTqV5CutQfiiP4lp4aMsQ7tfsJxWLwMlOmzX6IUl2dxe9WXGX50waeu9eB+ XLEeVXac4uZsDKU+DMztb1cJ8k+yTSvCReyfpj8ttheMRyp70yRlR1RK0YXzX2slii0Xxa 4Gw+m23UqsTEw9lT/R+EZc+fFkELIYQP+CT4AkXjwtKE88HEnpHeRcMdSf2dysI2uNRpru cKGCnw39mnzleBuzc77PFM22E8AZ217MDq9Xz+jGZLrTkYMdQ+cMCM8Y7AbjL+qxe5KnvQ IABFKLskP7O64GWrCUr/bJVuEXYJP+nxAfytCKs6xiQjBpERf9K533sXF8an5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592451; a=rsa-sha256; cv=none; b=f3l78wc8JC/8pPOhHvAoxTbWNMNfblx82cQS5GvjLyzSyCzd44xqPh+yd/fa2ZVNMd5xdf Srko5OliyMA9X4/oIzfguo8uwHztxmUqlDswFFaRSt9IZkHPWqhK25o+tqXZOiT4Ui7NAH sqbiC5x8pGNlvZIRnlaG91Eo+8eG23RSP0mMT9W2L4D+O/RLLXO322eMqg0YyU8upmy3/1 lOnSyREPciCT8n8qLisH8wt46+2D5rs8cF/vgzpBObYFxqFJe4e8L06ipQhJFFwhcuE5I3 iSRhGAeRs/XE5hN+dYs15P7YhZ+y2NcXj1eLsBI8643vt7ugirWCbcRKB45AKg== 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 4dt9FH4zj1zCVZ for ; Fri, 16 Jan 2026 19:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id da23 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c017775775ee - stable/14 - LinuxKPI: pci: implement [linuxkpi_]pcim_request_all_regions() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c017775775ee7548a071806042b0294e94824991 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:51 +0000 Message-Id: <696a9443.da23.3d8b3ba3@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c017775775ee7548a071806042b0294e94824991 commit c017775775ee7548a071806042b0294e94824991 Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 18:28:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:47 +0000 LinuxKPI: pci: implement [linuxkpi_]pcim_request_all_regions() Factor out the pci_request_region() implementation into an internal function and make pci_request_region() a simple wrapperaround it. Likewise implement pcim_request_all_regions() as a loop calling pci_request_region() for each entry. In two cases which we returned an error before (bar index is valid but bar is not (no len), and neither IO nor MEM) we now reutrn success (nothing to do for us). Otherwise callers, especially pcim_request_all_regions() would error out for the wrong reasons. This seems to also match the expected behaviour of pci_request_region(). Sponsored by: The FreeBSD Foundation (intially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52068 LinuxKPI: pci: undo the pci_resource_len() check in lkpi_pci_request_region() Creating non-passthru SR-IOV interfaces on a mlx5en(4) failed. The problem lies in the pci_resource_len() call but not that the BAR length is tmeporary 0 but in that we call lkpi_pci_get_bar() with a true argument which will create the BAR resource for us and report the approriate length back. However, the later call to bus_alloc_resource_any() will then fail given the resource already exists. Restore the previous behaviour and let bus_alloc_resource_any() do the work. Adjust the return values from -ENODEV to -EBUSY to match callers expectations. In linuxkpi_pcim_request_all_regions(), like in linuxkpi_pci_request_regions(), filter out the -EBUSY errors as "not an error" and try the next bar. This also seems to be consistent with the expectations of the callers. PR: 290793 Reported by: David BOYER (jcduss13 gmail.com) Tested on: mlx5en, iwlwifi, mt7921 Reviewed by: kib Fixes: 7e21158d44cd "implement [linuxkpi_]pcim_request_all_regions()" Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53902 (cherry picked from commit 7e21158d44cd46e720395604ca6f00f2fa36b20c) (cherry picked from commit ff31767e530abb4a54131af199fed6ec946a5fa4) (cherry picked from commit ed29ffd396e522a45ab1980c12a75b3409b51712) (cherry picked from commit 2032abb31cbe067d41067a81e529d91f1bace4c9) --- sys/compat/linuxkpi/common/include/linux/pci.h | 11 ++++-- sys/compat/linuxkpi/common/src/linux_pci.c | 52 +++++++++++++++++++++----- 2 files changed, 51 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 20bd399b6170..c22a4403a823 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -347,7 +347,6 @@ struct pci_dev { spinlock_t pcie_cap_lock; }; -int pci_request_region(struct pci_dev *pdev, int bar, const char *res_name); int pci_alloc_irq_vectors(struct pci_dev *pdev, int minv, int maxv, unsigned int flags); bool pci_device_is_present(struct pci_dev *pdev); @@ -361,7 +360,9 @@ void *linuxkpi_pcim_iomap(struct pci_dev *, int, unsigned long); void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res); int linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *name); +int linuxkpi_pci_request_region(struct pci_dev *, int, const char *); int linuxkpi_pci_request_regions(struct pci_dev *pdev, const char *res_name); +int linuxkpi_pcim_request_all_regions(struct pci_dev *, const char *); void linuxkpi_pci_release_region(struct pci_dev *pdev, int bar); void linuxkpi_pci_release_regions(struct pci_dev *pdev); int linuxkpi_pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries, @@ -541,12 +542,16 @@ done: return (pdev->bus->self); } +#define pci_request_region(pdev, bar, res_name) \ + linuxkpi_pci_request_region(pdev, bar, res_name) #define pci_release_region(pdev, bar) \ linuxkpi_pci_release_region(pdev, bar) -#define pci_release_regions(pdev) \ - linuxkpi_pci_release_regions(pdev) #define pci_request_regions(pdev, res_name) \ linuxkpi_pci_request_regions(pdev, res_name) +#define pci_release_regions(pdev) \ + linuxkpi_pci_release_regions(pdev) +#define pcim_request_all_regions(pdev, name) \ + linuxkpi_pcim_request_all_regions(pdev, name) static inline void lkpi_pci_disable_msix(struct pci_dev *pdev) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 0d8cfdeb576d..deea5df06c4a 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1140,8 +1140,9 @@ pci_resource_len(struct pci_dev *pdev, int bar) return (rle->count); } -int -pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) +static int +lkpi_pci_request_region(struct pci_dev *pdev, int bar, const char *res_name, + bool managed) { struct resource *res; struct pci_devres *dr; @@ -1149,9 +1150,13 @@ pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) int rid; int type; + if (!lkpi_pci_bar_id_valid(bar)) + return (-EINVAL); + type = pci_resource_type(pdev, bar); if (type < 0) - return (-ENODEV); + return (0); + rid = PCIR_BAR(bar); res = bus_alloc_resource_any(pdev->dev.bsddev, type, &rid, RF_ACTIVE|RF_SHAREABLE); @@ -1159,16 +1164,21 @@ pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) device_printf(pdev->dev.bsddev, "%s: failed to alloc " "bar %d type %d rid %d\n", __func__, bar, type, PCIR_BAR(bar)); - return (-ENODEV); + return (-EBUSY); } /* * It seems there is an implicit devres tracking on these if the device - * is managed; otherwise the resources are not automatiaclly freed on - * FreeBSD/LinuxKPI tough they should be/are expected to be by Linux - * drivers. + * is managed (lkpi_pci_devres_find() case); otherwise the resources are + * not automatically freed on FreeBSD/LinuxKPI though they should be/are + * expected to be by Linux drivers. + * Otherwise if we are called from a pcim-function with the managed + * argument set, we need to track devres independent of pdev->managed. */ - dr = lkpi_pci_devres_find(pdev); + if (managed) + dr = lkpi_pci_devres_get_alloc(pdev); + else + dr = lkpi_pci_devres_find(pdev); if (dr != NULL) { dr->region_mask |= (1 << bar); dr->region_table[bar] = res; @@ -1184,6 +1194,12 @@ pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) return (0); } +int +linuxkpi_pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) +{ + return (lkpi_pci_request_region(pdev, bar, res_name, false)); +} + int linuxkpi_pci_request_regions(struct pci_dev *pdev, const char *res_name) { @@ -1192,7 +1208,25 @@ linuxkpi_pci_request_regions(struct pci_dev *pdev, const char *res_name) for (i = 0; i <= PCIR_MAX_BAR_0; i++) { error = pci_request_region(pdev, i, res_name); - if (error && error != -ENODEV) { + if (error && error != -EBUSY) { + pci_release_regions(pdev); + return (error); + } + } + return (0); +} + +int +linuxkpi_pcim_request_all_regions(struct pci_dev *pdev, const char *res_name) +{ + int bar, error; + + for (bar = 0; bar <= PCIR_MAX_BAR_0; bar++) { + error = lkpi_pci_request_region(pdev, bar, res_name, true); + if (error != 0 && error != -EBUSY) { + device_printf(pdev->dev.bsddev, "%s: bar %d res_name '%s': " + "lkpi_pci_request_region returned %d\n", __func__, + bar, res_name, error); pci_release_regions(pdev); return (error); } From nobody Fri Jan 16 19:40:59 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FS0yPdz6NlXM for ; Fri, 16 Jan 2026 19:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FR3hM6z3xRc for ; Fri, 16 Jan 2026 19:40:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/ebg7hEiJXMCqzbW5RVPR2zwjyz3e7F/z581b3SdgUI=; b=T5/dFV30DalJwZbVQ1+CY40UXiPA5X/xpcu+eBqqVlTQnJNf9zbZLqHOCTbXd9VO4wxTxd 8ldav29RhaFFWkqbFaWgoOmeo/1GfqvGMacjQOpNWodgOFKgfcWda8NDLHxcFNjGFaRapS AeIyuPfWPEZvmaqaNXwdxo6jTcfcDXZu2uBYwUO0uLt9qJ9yt51toD1RG2iH6u1rlO+Cdp /A/IaDDQ3rAK752rJ2JcgGWUqBSVSWJtjTY8eVUshKSfheom1p8+KJJXyNOBWnSVOePyRL lyyc5ySDldi3IS9SI4xjXz+mddcjm/3LAFe9Ueif7woAHM0x/1rfTJXojzLM9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/ebg7hEiJXMCqzbW5RVPR2zwjyz3e7F/z581b3SdgUI=; b=f3z6ReyatQe4wpZcXKWyr2IhfouF3w50EWRYStQ+A39arJ8Gffu8aiN0Zw7P2zvaNlC97k xOy//sTqEEk32dBEDu6EBOaZeXRttdu7xHhhm3zkRg0roasO3oN9TwEJDWgNuBWd2tC7+e MqCoHTMAS/Vkd7Cudu73DoRejmvUL5uTaZ+CGc15o6aRcm9+ZjNwspwexM0vZcv2DLon7O PAyp+pSpLxmydS5f6mVGyl9SpEDMtP5dQ8/q6DsdiXyMyNusMnASv66jlxv2mxhzvpsiwL IhHgv+Wcij9Fydo+vYcFDYgsCILiPIjOlyy7XGvogb7JThWTa7a7ZLhky9/DIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592459; a=rsa-sha256; cv=none; b=rlTQpLXKxdXzApcWbl5HA7TjI445qYQ14CFkPUjdeyM7oZKDw1XpgXADi9+fYP1qj5WI+C TWFMVZR7T62e+uEnHQclFlHckDwKNiYYiWcUSmtlIcubt7yZxwS65tHM0F9ThO7tHXyVMn TTqqu7NLI56WRrGQfPHQNmTVJI+IpyrUJlONQKEFyuDgSfE9ky+C+UVUlGimC/F7MBJJvi 2LG2jSt/WAxYQHuP5IpFurR5I4NnsexhIMzda3oNc1vIuvaCUnkFBXZ6/s+MbTN5Gm6N6W m0csIpeNMGhK7GO2ndZebVbp5Fxz3K27J47eLT9Clolwzmdl25CHJAHQyVhccw== 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 4dt9FR3Gh2zC6t for ; Fri, 16 Jan 2026 19:40:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbe7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:59 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: eba61bc6749e - stable/14 - LinuxKPI: add __struct_size 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eba61bc6749e571ca5797b85f572925916266927 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:59 +0000 Message-Id: <696a944b.dbe7.2977831b@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=eba61bc6749e571ca5797b85f572925916266927 commit eba61bc6749e571ca5797b85f572925916266927 Author: Bjoern A. Zeeb AuthorDate: 2025-08-18 19:53:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:48 +0000 LinuxKPI: add __struct_size Use __builtin_object_size() by default. If __builtin_dynamic_object_size() is available use that instead. I would hope that in a future version we can remove the conditional checks but in order to be able to MFC this without checking all compiler versions simply keep it this way for now. Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52077 (cherry picked from commit ff5bcb742899f8398ccb1b9e292b2e5aeeb7fedb) (cherry picked from commit 310885b40ad256b054d65353c375b29700ee024c) --- sys/compat/linuxkpi/common/include/linux/compiler.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/compiler.h b/sys/compat/linuxkpi/common/include/linux/compiler.h index fb5ad3bf4fe4..948396144ad6 100644 --- a/sys/compat/linuxkpi/common/include/linux/compiler.h +++ b/sys/compat/linuxkpi/common/include/linux/compiler.h @@ -130,4 +130,10 @@ #define is_signed_type(t) ((t)-1 < (t)1) #define is_unsigned_type(t) ((t)-1 > (t)1) +#if __has_builtin(__builtin_dynamic_object_size) +#define __struct_size(_s) __builtin_dynamic_object_size(_s, 0) +#else +#define __struct_size(_s) __builtin_object_size(_s, 0) +#endif + #endif /* _LINUXKPI_LINUX_COMPILER_H_ */ From nobody Fri Jan 16 19:40:58 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FR4hykz6NlVw for ; Fri, 16 Jan 2026 19:40:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature 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 4dt9FQ73DVz3xPC for ; Fri, 16 Jan 2026 19:40:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9f1+PQ+YcAewjzw/v5kE+qmxcahnjDv4sm8M8HhEpik=; b=nCKVz1sgmHiV+LJldvtBe/iKUCFH89PiiYro3mnc8kBNk7Gd0OtqNWulnAoGcg+KTVM+XN BlCTvI+qamZVUnkKBmiqAb0qxXhFWOuylpHtDji3KydFhsvPeHRW4Bx3PahuVOozlFTgKA jWcSQHNQqiAOhpROFb34xWPfLz8+P2bNTKuhz+2hyYoV80if44m0jpjOwuH5nSAo3p8lBL 61MEucw3N5tGdUsAT5CNi9sDWJy85nZrgl/rO0gJlY4ewC2Ndg5pAT7sy3SAWxaORxHiCk Bet6PbWcPETGpjwaKHe3Dd9kmua4UVnmIVnGBJfOMJftR8nbq5MVKR0noeclaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9f1+PQ+YcAewjzw/v5kE+qmxcahnjDv4sm8M8HhEpik=; b=aE5R2IDJO47XdGuzE6/cFq5MqXT3sIrjKuIVJ+HeAW/ULqhwUpfFR1N2tBbvrb+yY/EWDD SLYfDn2GBN0ez+vVXttW3AxC61XkiDRfq5LkXhKUPgDNQRyRYLLGh5Bx/Uoj/Jhl9uDR+6 NR83lh9p9BcpYyJXxlc8SnQwqLCMCrYoodXhlyzMGcq0PBISh9cO7L1E9+C53JkxqVuSJC GhZekjiweRFXaAgT9HDJi1n7ri0Xnb6O9skdOYYhwFWRDM1bz8XWHsn1V8MYwEx97TmO8K wkjWp9ntpBXIwPIi0nYU/Ocf/ovpCAG3ptpFRecvbses42afz6F5vQk/5kne1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592459; a=rsa-sha256; cv=none; b=mvAeDXxdlkauZrOjn19qyiL0+bEpKt3cFmJO2b5SH652z8Mziota2Pcxb8IjplD/X/rUei kyd5QBx1YWAZM+IWXPGKccoeT3c3fxeKvac/lptm63yfzSdMKkMWWwAxlYjJPXV1vSA5UL 2qXNjaC5QEA21kTyi3hYoN63KFImx9l7XojEWPHnollkqonZ7Ov7UqJpcq2OZlFk8U9m2g i/yvwkr9SnBvOZZ2BgVvdJ5G0IC6sBLFBwEz91StXmul/93p6RoWXGMRalywPCLq1wc1k4 ZNiGfanH12r7yJid1E0okx8r72EBGhbZ+rvM5vrNcu3mmVDk5E6tePt8+rBecw== 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 4dt9FQ2Yf3zCbV for ; Fri, 16 Jan 2026 19:40:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e19c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 163fe10479a3 - stable/14 - LinuxKPI: add DEFINE_LOCK_GUARD_0 for rcu 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 163fe10479a34071eb860695459999e2575e714c Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:58 +0000 Message-Id: <696a944a.e19c.6913d7cd@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=163fe10479a34071eb860695459999e2575e714c commit 163fe10479a34071eb860695459999e2575e714c Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:25:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:48 +0000 LinuxKPI: add DEFINE_LOCK_GUARD_0 for rcu This adds guard support for non-real-types like rcu locking meaning that we need to keep the lock state separately ourselves. _T is still special and needs to be updated. Given it may not be used it needs an __unused attribute (we are using the LinuxKPI __maybe_unused which indeed is more expressive in this case). Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52076 (cherry picked from commit 3f48a0fe53ca7e001852f4a406c1bdfab1cd2f6d) (cherry picked from commit 4d5a78c5f40aa2dfd672ccfa4a6fff93e216c32b) --- sys/compat/linuxkpi/common/include/linux/cleanup.h | 35 ++++++++++++++++++++++ .../linuxkpi/common/include/linux/rcupdate.h | 5 +++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/cleanup.h b/sys/compat/linuxkpi/common/include/linux/cleanup.h index 45c2a2359ddf..5bb146f082ed 100644 --- a/sys/compat/linuxkpi/common/include/linux/cleanup.h +++ b/sys/compat/linuxkpi/common/include/linux/cleanup.h @@ -55,4 +55,39 @@ #define __free(_n) __cleanup(__free_##_n) +/* + * Given this is a _0 version it should likely be broken up into parts. + * But we have no idead what a _1, _2, ... version would do different + * until we see a call. + * This is used for a not-real-type (rcu). We use a bool to "simulate" + * the lock held. Also _T still special, may not always be used, so tag + * with __unused (or better the LinuxKPI __maybe_unused). + */ +#define DEFINE_LOCK_GUARD_0(_n, _lock, _unlock, ...) \ + \ + typedef struct { \ + bool lock; \ + __VA_ARGS__; \ + } guard_ ## _n ## _t; \ + \ + static inline void \ + guard_ ## _n ## _destroy(guard_ ## _n ## _t *_T) \ + { \ + if (_T->lock) { \ + _unlock; \ + } \ + } \ + \ + static inline guard_ ## _n ## _t \ + guard_ ## _n ## _create(void) \ + { \ + guard_ ## _n ## _t _tmp; \ + guard_ ## _n ## _t *_T __maybe_unused; \ + \ + _tmp.lock = true; \ + _T = &_tmp; \ + _lock; \ + return (_tmp); \ + } + #endif /* _LINUXKPI_LINUX_CLEANUP_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/rcupdate.h b/sys/compat/linuxkpi/common/include/linux/rcupdate.h index 85d766c8dbc9..4aceb7296cd6 100644 --- a/sys/compat/linuxkpi/common/include/linux/rcupdate.h +++ b/sys/compat/linuxkpi/common/include/linux/rcupdate.h @@ -1,7 +1,7 @@ /*- * Copyright (c) 2016-2017 Mellanox Technologies, Ltd. * All rights reserved. - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * Portions of this software were developed by Björn Zeeb * under sponsorship from the FreeBSD Foundation. @@ -35,6 +35,7 @@ #include #include #include +#include #include @@ -162,4 +163,6 @@ void linux_synchronize_rcu(unsigned type); #define init_rcu_head_on_stack(...) #define destroy_rcu_head_on_stack(...) +DEFINE_LOCK_GUARD_0(rcu, rcu_read_lock(), rcu_read_unlock()) + #endif /* _LINUXKPI_LINUX_RCUPDATE_H_ */ From nobody Fri Jan 16 19:40:57 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FP5sjgz6NlS5 for ; Fri, 16 Jan 2026 19:40:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FP2HZqz3xNy for ; Fri, 16 Jan 2026 19:40:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DICw4Q9H7rnoWaeP1o9I6K24T/7cMiOi1akwJHyjKlI=; b=olF/GmcwFcuDx1/zuH/Fd3kpXsbaACJCwD/BQp4svUtiuyfAm1R+TBvurCAalNIJlC7QC4 tZgeoKCBGtKcoRBuf21vOQVz0EUV1tGCzE12ZkE04R/VSjxwuWGmXl9UMwk5HNdS+wnkVS HRTV65BliI0kigqegpiXpl5ZeMDwWioS8nhMCieX3TXr9C1efVwQT9P+ws82cJ+TqW6dUj Xig7puhoVNBT0SMRWXWTEBs6qlAAs3cTAjjc7papW63JqrMpAs8a/6sn+e59bs7sY4VAPW 7GDU1zDPjVUEHf8ZrC0aUDTy5FOnPXqt+beSOax/hqnb7JFxEzQBpYP/nFGQ7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DICw4Q9H7rnoWaeP1o9I6K24T/7cMiOi1akwJHyjKlI=; b=sO+FhMlbThHD28Qc9tMMB16rMh42YNvtJjDqGhuoMVP1gwcIEaafL5NDLiaV2XewSZtyeb aOJtoQkQ1FMGhLy3ecTo85hE137ZesixnZdecNIDSmZ62Iovcc1ZLAqAqeEWoO8m36f/zO etZejIOjH1g0w2FJfLTrE/5hFERUWFBoVYYd8/DrOZWByPj51XwulGkiLFIqXjBIhk3lam JHZIQmY2+9dQ/P3qG+C2X8g+zurPBWIFpnuAt1LS/EV2tkP+x7xEf4Tpf8xOnAdq79nhrO L7Zp5Vq+8JNfJvarRo6Y/igwu9LbIWhbNaKEAdRTy1TQTsgd1J1WpKlX+9cBuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592457; a=rsa-sha256; cv=none; b=K9z9YjLRUzvkqRL8YwK/D33KORN0PdQ3XcyV77ApH7DobgA/TEn1PDPGtVihZShHP6sc7Y OQpJGkw1yzGOuXWOEjWgVZk4d7jt5ZjVHTu8u0nTBbhKNXF6irZTGekxZ2+bG2T7/a9qgy kq0YG53lcaEIMvGejBvYMrhaRRLA7c17jhdo8+7JbGLsYexnPBAZf2dSiUX/Bt+grwQs2O BpetTpHj5ZVbbuuRkuHkGN4wc2lcdU6dldNfS+JLapJn3LtZHPo7ZnqJmzQK0rXn8n4hdo 3W9FhqUlAqllRVPARbJPeVmwWKXq3AN7xGoQjxT2wqj5MuTZlbFWuE0Syv0jOQ== 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 4dt9FP1qMfzCLy for ; Fri, 16 Jan 2026 19:40:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de14 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:40:57 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 6ceb046df3d7 - stable/14 - LinuxKPI: cleanup: implement __free() and DEFINE_FREE(); use for kfree() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6ceb046df3d72dfa2c218fdb9b32635d11bdcfcd Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:40:57 +0000 Message-Id: <696a9449.de14.1ec1d525@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6ceb046df3d72dfa2c218fdb9b32635d11bdcfcd commit 6ceb046df3d72dfa2c218fdb9b32635d11bdcfcd Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:24:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:48 +0000 LinuxKPI: cleanup: implement __free() and DEFINE_FREE(); use for kfree() A wifi driver update needs this. Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52075 (cherry picked from commit 39e9290d890b2aa07b68f2fe956b96e5df9a1da2) (cherry picked from commit 830cc677d97eebd02ade8b33ec17de38f2705a73) --- sys/compat/linuxkpi/common/include/linux/cleanup.h | 14 +++++++++++++- sys/compat/linuxkpi/common/include/linux/slab.h | 4 ++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/cleanup.h b/sys/compat/linuxkpi/common/include/linux/cleanup.h index 01f234f0cbe7..45c2a2359ddf 100644 --- a/sys/compat/linuxkpi/common/include/linux/cleanup.h +++ b/sys/compat/linuxkpi/common/include/linux/cleanup.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -43,4 +43,16 @@ guard_ ## _n ## _t guard_ ## _n ## _ ## __COUNTER__ \ __cleanup(guard_ ## _n ## _destroy) = guard_ ## _n ## _create +#define DEFINE_FREE(_n, _t, _f) \ + static inline void \ + __free_ ## _n(void *p) \ + { \ + _t _T; \ + \ + _T = *(_t *)p; \ + _f; \ + } + +#define __free(_n) __cleanup(__free_##_n) + #endif /* _LINUXKPI_LINUX_CLEANUP_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index efa5c8cb67b3..725417acc017 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -40,8 +40,10 @@ #include #include #include +#include #include #include +#include MALLOC_DECLARE(M_KMALLOC); @@ -152,6 +154,8 @@ kfree(const void *ptr) lkpi_kfree(ptr); } +DEFINE_FREE(kfree, void *, if (!IS_ERR_OR_NULL(_T)) kfree(_T)) + /* * Other k*alloc() funtions using the above as underlying allocator. */ From nobody Fri Jan 16 19:41:01 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FV39zXz6Nldn for ; Fri, 16 Jan 2026 19:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FT5JXQz3xL3 for ; Fri, 16 Jan 2026 19:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hYwmp/5T8gsn0XUADcdv0dcUaz1EuENhfhGQDj4AGlc=; b=Y2mP8OYzJIWkbJpo1ihVh9GqfHXUcwmrH5ANZQ9tcEV0tb6hOh4mqN9SECAnXhbnFXq0Mt NkXVILvzbXLcR7nM2yUDPCpue16eulx+KdjqfAI3+huLeE5HARLNEVcBwV3RB9z496T9pN 8EWUB3ri7JYxblayw9hWPtfHDXNPQ2D1TjhqIfeHZfDfxOIF7Yd97g6I+/j2eD1Kbr70bW /fBFmNfhKGhot+uKg04nkE1Vf4z8ZEsy686w3c10LxhuGCizv0up5x9u/gd/RI2evjtPFD W3gfx4g1GWcGhhOE33NXc7omv/u98JudLNkcy0aidtfnm0su09pSdW1iavQNcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hYwmp/5T8gsn0XUADcdv0dcUaz1EuENhfhGQDj4AGlc=; b=Qyp2AgzF6EzBGSSBfWYm4kSVYicAa0eoiz+qvVcB7vCKExBIOIdj31DL6da6YxjjVUTqsc f/6BZFIBPbRwNAgxXOHWzsy70+comfEKbd2WwgImsdzKuibpcovzxMaxqiJLCwnbEd7rW2 s+IeC6aM5mU99ktP2z/5lxZDCTBcLks5MpUZVCT4iSUVtirjJ9FGJBf/S6pAnhwmUWPNNr Hd0v9Lwz7J1Z32JsZyMn5LtdtQ+ikXSa0GYHHK1UP3r01QlPMNbJJEcXOQIs+8lSTYll/T Q92kqF2U7aSJVoWQgWPcn8M0tnG0cFeuWOek6wZirPRMq0GwgljVcPEuIaus9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592461; a=rsa-sha256; cv=none; b=Wn+EGl7M0CnjIQ+MiQ3sjSS+HKkREJWXCPwKKojsGMy+8yi9EfWgqf0/hPMYtPGXE7Q4G9 UkYJD8IWdzIwjD2aoY5NkUH3O7mvF5Vo0CMFwJQ2auoGEaNgM0vS7t9CaHbcAo/oV5BuIw LGNxDtcAqoXYoYm4K44niafyFOw/GuRF0+TvxbgAK+4p3rJqZctPjuUsV+Ya+aA3oZahPE Fap33KaPlOmcF3mKzNyOQiBrXIO+XzSbvORm54GIR5mSKFyqlbVqr/z67f6fiF5xAcDlLQ LXCkyI6lecLwJEpWGaiRbtSYRk+WlZVkOJCjofneH7cqB3tnUYQr/1JphxMPsw== 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 4dt9FT4rnVzC4R for ; Fri, 16 Jan 2026 19:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4a3facee3ce6 - stable/14 - LinuxKPI: kunit: add static_stub.h and more dummy headers 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4a3facee3ce66fedaafbb10dd2c927f001af2b7e Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:01 +0000 Message-Id: <696a944d.de18.b926771@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4a3facee3ce66fedaafbb10dd2c927f001af2b7e commit 4a3facee3ce66fedaafbb10dd2c927f001af2b7e Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:27:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:49 +0000 LinuxKPI: kunit: add static_stub.h and more dummy headers These came up during a wifi driver update. Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52079 (cherry picked from commit 7c473933624f701263a83da526cac680b1ca69ed) (cherry picked from commit 3753913c9e1c3375be29b8f4ab925b054fe1ac4b) --- sys/compat/linuxkpi/common/include/kunit/static_stub.h | 15 +++++++++++++++ sys/compat/linuxkpi/dummy/include/kunit/skbuff.h | 0 sys/compat/linuxkpi/dummy/include/kunit/test-bug.h | 0 sys/compat/linuxkpi/dummy/include/kunit/test.h | 0 4 files changed, 15 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/kunit/static_stub.h b/sys/compat/linuxkpi/common/include/kunit/static_stub.h new file mode 100644 index 000000000000..9d425d46dbb0 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/kunit/static_stub.h @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Björn Zeeb under sponsorship from + * the FreeBSD Foundation. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _LINUXKPI_KUNIT_STATIC_STUB_H +#define _LINUXKPI_KUNIT_STATIC_STUB_H + +#define KUNIT_STATIC_STUB_REDIRECT(_fn, ...) do { } while(0) + +#endif /* _LINUXKPI_KUNIT_STATIC_STUB_H */ diff --git a/sys/compat/linuxkpi/dummy/include/kunit/skbuff.h b/sys/compat/linuxkpi/dummy/include/kunit/skbuff.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/kunit/test-bug.h b/sys/compat/linuxkpi/dummy/include/kunit/test-bug.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/kunit/test.h b/sys/compat/linuxkpi/dummy/include/kunit/test.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Fri Jan 16 19:41:00 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FT1brKz6Nljy for ; Fri, 16 Jan 2026 19:41: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 4dt9FS4vj2z3xF2 for ; Fri, 16 Jan 2026 19:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVyBxfjr5djNftZEyfZVcVIOpk49TuTfGCk2pRIuWcA=; b=dGYfIQQgCEPtOaMR8PWMQ0UGZ4wfYfxLZRrH0N3p6XzUvMphfwFMG/WSm+wf1Ln59tlDpP iUhFNrYYGR357BvF1dC6Me2If880A6+knwiF3sd0sFxjfH8xrAMGbP//ZJfUriP0RRPBv8 j8/w+cft8T8u/r7OqxuOtarGmvnFztBJnOv6yVEO6e/VNidsBwUlSJn4L4EqDFZIqQmryI +npuIROsBdilIAT/wLSThWLmgF8Jdb8LjQhBS0lkE8yoacYmIGt8HR4VHMkSWC7xDA+gwG 7Uj4yweHPA+YohmkPTUz21G4WpZAqHQw22ekoWZw44uVuNmEysNDX3li1NGtfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVyBxfjr5djNftZEyfZVcVIOpk49TuTfGCk2pRIuWcA=; b=f4O5QmdwS4blDJ4KxwSSYUK9q7n6Y0CCOcvYTwetZ+TkOb4PBVTZSyT99VMqkEgV9DL+CU ebEDi3JvkW6rSl+JwK+jmi5H7GcrA7diXPInP7kth2oaqPUHDBQ/T9J/Pl0W2O4PXUIhiV yoiCuJ5t1muYUQq2h6N6Rd3mWnEy8ka9EE9YmuniKUXpVxJjveJxZaziMmeBFkc3xbtQnC 6sVnsYDbf9FHsqUe3HJZHmu8kRSrwaggin5uja7oz6F/TH2VIdNuCocCQvQIFyCm/EzNGK laraN1+bywCMnVsuSver8ZS/Qppb+xHpDJeEqqZjrR0jzRBpVEtKwLdp7+XJ2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592460; a=rsa-sha256; cv=none; b=O8E+wIJgu5n4Rq6JsjmDvc+lCfElALCPF/EuMhwvtZGlEurMa1Er/n3R7NSchtaNzRNwPM UfmLyMjFr0kDRFuS+vWMf4qvp1tLHwfk3nPFvLp+8jH1RoB+csbFOVAF6GkgxxNf0095NT 0gU9gPIoU8W15rcY2zXcmqA5peotWpRJBuWyxstZU6sMJcz4R2w0FzmTVI1BaYQVE0kYkj FheodmuZxyMTsJkMYBPzbZTdrEz1lVhh+Gq3VwYh20iB4Pe99L9ksFi6IR9MmX2dvtwhHY 6edRp9N2OmzbCeyJyDM/82soKp7GKwDQVc2I3IgI1plJSAYnmSlxJKbxxQuVoQ== 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 4dt9FS45SHzCbX for ; Fri, 16 Jan 2026 19:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e1a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 95f0e1e425a6 - stable/14 - LinuxKPI: sync overflow.h from Linux v6.16 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 95f0e1e425a6847c58aad97b8d65b2a386e5b300 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:00 +0000 Message-Id: <696a944c.e1a0.7742e866@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=95f0e1e425a6847c58aad97b8d65b2a386e5b300 commit 95f0e1e425a6847c58aad97b8d65b2a386e5b300 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:26:32 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:49 +0000 LinuxKPI: sync overflow.h from Linux v6.16 It seems overflow.h wsa imported directly from Linux in 3208d4ad2b8320a. Update the file to the newer version as needed for wireless driver updates. Sponsored by: The FreeBSD Foundation (initially) Obtained from: git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 038d61fd642278 (tag: v6.16) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52078 (cherry picked from commit 70c508e691de1ed0f70b4a6f0773bfb5d627050d) (cherry picked from commit cd2bd8bf672cd5925531b6440d57f1c48e025079) --- .../linuxkpi/common/include/linux/overflow.h | 180 +++++++++++++++++---- 1 file changed, 153 insertions(+), 27 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/overflow.h b/sys/compat/linuxkpi/common/include/linux/overflow.h index 9ba9b9500f11..e811037b8ecc 100644 --- a/sys/compat/linuxkpi/common/include/linux/overflow.h +++ b/sys/compat/linuxkpi/common/include/linux/overflow.h @@ -33,8 +33,10 @@ * credit to Christian Biere. */ #define __type_half_max(type) ((type)1 << (8*sizeof(type) - 1 - is_signed_type(type))) -#define type_max(T) ((T)((__type_half_max(T) - 1) + __type_half_max(T))) -#define type_min(T) ((T)((T)-type_max(T)-(T)1)) +#define __type_max(T) ((T)((__type_half_max(T) - 1) + __type_half_max(T))) +#define type_max(t) __type_max(typeof(t)) +#define __type_min(T) ((T)((T)-type_max(T)-(T)1)) +#define type_min(t) __type_min(typeof(t)) /* * Avoids triggering -Wtype-limits compilation warning, @@ -59,45 +61,122 @@ static inline bool __must_check __must_check_overflow(bool overflow) * @b: second addend * @d: pointer to store sum * - * Returns 0 on success. + * Returns true on wrap-around, false otherwise. * - * *@d holds the results of the attempted addition, but is not considered - * "safe for use" on a non-zero return value, which indicates that the - * sum has overflowed or been truncated. + * *@d holds the results of the attempted addition, regardless of whether + * wrap-around occurred. */ #define check_add_overflow(a, b, d) \ __must_check_overflow(__builtin_add_overflow(a, b, d)) +/** + * wrapping_add() - Intentionally perform a wrapping addition + * @type: type for result of calculation + * @a: first addend + * @b: second addend + * + * Return the potentially wrapped-around addition without + * tripping any wrap-around sanitizers that may be enabled. + */ +#define wrapping_add(type, a, b) \ + ({ \ + type __val; \ + __builtin_add_overflow(a, b, &__val); \ + __val; \ + }) + +/** + * wrapping_assign_add() - Intentionally perform a wrapping increment assignment + * @var: variable to be incremented + * @offset: amount to add + * + * Increments @var by @offset with wrap-around. Returns the resulting + * value of @var. Will not trip any wrap-around sanitizers. + * + * Returns the new value of @var. + */ +#define wrapping_assign_add(var, offset) \ + ({ \ + typeof(var) *__ptr = &(var); \ + *__ptr = wrapping_add(typeof(var), *__ptr, offset); \ + }) + /** * check_sub_overflow() - Calculate subtraction with overflow checking * @a: minuend; value to subtract from * @b: subtrahend; value to subtract from @a * @d: pointer to store difference * - * Returns 0 on success. + * Returns true on wrap-around, false otherwise. * - * *@d holds the results of the attempted subtraction, but is not considered - * "safe for use" on a non-zero return value, which indicates that the - * difference has underflowed or been truncated. + * *@d holds the results of the attempted subtraction, regardless of whether + * wrap-around occurred. */ #define check_sub_overflow(a, b, d) \ __must_check_overflow(__builtin_sub_overflow(a, b, d)) +/** + * wrapping_sub() - Intentionally perform a wrapping subtraction + * @type: type for result of calculation + * @a: minuend; value to subtract from + * @b: subtrahend; value to subtract from @a + * + * Return the potentially wrapped-around subtraction without + * tripping any wrap-around sanitizers that may be enabled. + */ +#define wrapping_sub(type, a, b) \ + ({ \ + type __val; \ + __builtin_sub_overflow(a, b, &__val); \ + __val; \ + }) + +/** + * wrapping_assign_sub() - Intentionally perform a wrapping decrement assign + * @var: variable to be decremented + * @offset: amount to subtract + * + * Decrements @var by @offset with wrap-around. Returns the resulting + * value of @var. Will not trip any wrap-around sanitizers. + * + * Returns the new value of @var. + */ +#define wrapping_assign_sub(var, offset) \ + ({ \ + typeof(var) *__ptr = &(var); \ + *__ptr = wrapping_sub(typeof(var), *__ptr, offset); \ + }) + /** * check_mul_overflow() - Calculate multiplication with overflow checking * @a: first factor * @b: second factor * @d: pointer to store product * - * Returns 0 on success. + * Returns true on wrap-around, false otherwise. * - * *@d holds the results of the attempted multiplication, but is not - * considered "safe for use" on a non-zero return value, which indicates - * that the product has overflowed or been truncated. + * *@d holds the results of the attempted multiplication, regardless of whether + * wrap-around occurred. */ #define check_mul_overflow(a, b, d) \ __must_check_overflow(__builtin_mul_overflow(a, b, d)) +/** + * wrapping_mul() - Intentionally perform a wrapping multiplication + * @type: type for result of calculation + * @a: first factor + * @b: second factor + * + * Return the potentially wrapped-around multiplication without + * tripping any wrap-around sanitizers that may be enabled. + */ +#define wrapping_mul(type, a, b) \ + ({ \ + type __val; \ + __builtin_mul_overflow(a, b, &__val); \ + __val; \ + }) + /** * check_shl_overflow() - Calculate a left-shifted value and check overflow * @a: Value to be shifted @@ -122,7 +201,7 @@ static inline bool __must_check __must_check_overflow(bool overflow) typeof(a) _a = a; \ typeof(s) _s = s; \ typeof(d) _d = d; \ - u64 _a_full = _a; \ + unsigned long long _a_full = _a; \ unsigned int _to_shift = \ is_non_negative(_s) && _s < 8 * sizeof(*d) ? _s : 0; \ *_d = (_a_full << _to_shift); \ @@ -132,10 +211,10 @@ static inline bool __must_check __must_check_overflow(bool overflow) #define __overflows_type_constexpr(x, T) ( \ is_unsigned_type(typeof(x)) ? \ - (x) > type_max(typeof(T)) : \ + (x) > type_max(T) : \ is_unsigned_type(typeof(T)) ? \ - (x) < 0 || (x) > type_max(typeof(T)) : \ - (x) < type_min(typeof(T)) || (x) > type_max(typeof(T))) + (x) < 0 || (x) > type_max(T) : \ + (x) < type_min(T) || (x) > type_max(T)) #define __overflows_type(x, T) ({ \ typeof(T) v = 0; \ @@ -312,27 +391,40 @@ static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend) struct_size((type *)NULL, member, count) /** - * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. - * Enables caller macro to pass (different) initializer. + * __DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. + * Enables caller macro to pass arbitrary trailing expressions * * @type: structure type name, including "struct" keyword. * @name: Name for a variable to define. * @member: Name of the array member. * @count: Number of elements in the array; must be compile-time const. - * @initializer: initializer expression (could be empty for no init). + * @trailer: Trailing expressions for attributes and/or initializers. */ -#define _DEFINE_FLEX(type, name, member, count, initializer) \ +#define __DEFINE_FLEX(type, name, member, count, trailer...) \ _Static_assert(__builtin_constant_p(count), \ "onstack flex array members require compile-time const count"); \ union { \ u8 bytes[struct_size_t(type, member, count)]; \ type obj; \ - } name##_u initializer; \ + } name##_u trailer; \ type *name = (type *)&name##_u /** - * DEFINE_FLEX() - Define an on-stack instance of structure with a trailing - * flexible array member. + * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. + * Enables caller macro to pass (different) initializer. + * + * @type: structure type name, including "struct" keyword. + * @name: Name for a variable to define. + * @member: Name of the array member. + * @count: Number of elements in the array; must be compile-time const. + * @initializer: Initializer expression (e.g., pass `= { }` at minimum). + */ +#define _DEFINE_FLEX(type, name, member, count, initializer...) \ + __DEFINE_FLEX(type, name, member, count, = { .obj initializer }) + +/** + * DEFINE_RAW_FLEX() - Define an on-stack instance of structure with a trailing + * flexible array member, when it does not have a __counted_by annotation. * * @type: structure type name, including "struct" keyword. * @name: Name for a variable to define. @@ -342,8 +434,42 @@ static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend) * Define a zeroed, on-stack, instance of @type structure with a trailing * flexible array member. * Use __struct_size(@name) to get compile-time size of it afterwards. + * Use __member_size(@name->member) to get compile-time size of @name members. + * Use STACK_FLEX_ARRAY_SIZE(@name, @member) to get compile-time number of + * elements in array @member. + */ +#define DEFINE_RAW_FLEX(type, name, member, count) \ + __DEFINE_FLEX(type, name, member, count, = { }) + +/** + * DEFINE_FLEX() - Define an on-stack instance of structure with a trailing + * flexible array member. + * + * @TYPE: structure type name, including "struct" keyword. + * @NAME: Name for a variable to define. + * @MEMBER: Name of the array member. + * @COUNTER: Name of the __counted_by member. + * @COUNT: Number of elements in the array; must be compile-time const. + * + * Define a zeroed, on-stack, instance of @TYPE structure with a trailing + * flexible array member. + * Use __struct_size(@NAME) to get compile-time size of it afterwards. + * Use __member_size(@NAME->member) to get compile-time size of @NAME members. + * Use STACK_FLEX_ARRAY_SIZE(@name, @member) to get compile-time number of + * elements in array @member. + */ +#define DEFINE_FLEX(TYPE, NAME, MEMBER, COUNTER, COUNT) \ + _DEFINE_FLEX(TYPE, NAME, MEMBER, COUNT, = { .COUNTER = COUNT, }) + +/** + * STACK_FLEX_ARRAY_SIZE() - helper macro for DEFINE_FLEX() family. + * Returns the number of elements in @array. + * + * @name: Name for a variable defined in DEFINE_RAW_FLEX()/DEFINE_FLEX(). + * @array: Name of the array member. */ -#define DEFINE_FLEX(type, name, member, count) \ - _DEFINE_FLEX(type, name, member, count, = {}) +#define STACK_FLEX_ARRAY_SIZE(name, array) \ + (__member_size((name)->array) / sizeof(*(name)->array) + \ + __must_be_array((name)->array)) #endif /* _LINUXKPI_LINUX_OVERFLOW_H */ From nobody Fri Jan 16 19:41:02 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FW3pnLz6NlmC for ; Fri, 16 Jan 2026 19:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FV63vxz3xW1 for ; Fri, 16 Jan 2026 19:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n9fmwpvDEyutpV8/OndFWn1WDbtUVbU95QRVi+NYKTE=; b=lNVRFv7GbY3f5jay47khKAiv1t19CsfAVmxIzBO/IBj7ziVjcgQ/K4xyUZFEtU3TJMs0Fk +HoMB/wn28WYr3PY3tisLQyYtjAVmPkjT2bPdUKtXgkEjVTbSNA/buZyybsquOSskbB0iG /gO++r5z3pXv+sNSoqtUYzjtKt5skn5y+d7ddiInJL/xeIqa6g+9RAKAz88H5q1NT23OXV oRS3TNVyY7zNQ8rmy+8qWKLg37aRSVGSiQfvAsuL8Wqt2PBDs5Blh0Ez+7LTVQHgC1WiNY a4lmw/1KKnecjIQvqoRrXFfSqo4neLPhzzu+aJfCRf1avWcPD+GjseiwnJd7lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n9fmwpvDEyutpV8/OndFWn1WDbtUVbU95QRVi+NYKTE=; b=PGsGBt8vT3dfLcuXhO3gMXWj7HsBcUEvTRNGNm3HEgF57gOM8yi7Ik9TE/uwSXlJJadIxZ HG8Vb9syjbYwxb1HSEkjYpB0rIz9Oixc7xzJKgLbCgaD8tt68eVn8aGElM96jgzYrYGkZw Mtt8WCnYxSwlbYUUXiWP0OwLqrwInBqFrzfNo/OEs+iHHdXNRhyuIo9QimRCDtWs4mQl7S 9nmo81M3DL5P597OJv94/Kgi0r19qHiGNJ/dljzD3eCRg2CNtAkvTu6Fbp6QYtwMXhNz7R dJvUEv+ZPyk2s0N+uYfBO7tqZW/8Bl38BM56SeEfqbFKqaVRMmyNTazY5Qeu8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592462; a=rsa-sha256; cv=none; b=H0oLljOQvcFlVSkvNXnpM+A/vQOA4CG5RMPqoYHOcRvuk6tD5V/BrfVdxNNbVjUa+2p73A STOSoyxJ3QErDXeROSECRgAvB9vwBdZwtHKdSGruZf6NxcmlbE3YFtpvnkq/7QBoMWlZG0 aV6/NJu5ovnD/BjQ8ikpS9r0oEGX0RCBXvQjNFp4bMvjI7/DsttLf8fBRs5jnQEFPQSP7j nX5gYv/dbf1nn2dmxpnEcDj2QFTasK7N+GVj9T9ZzKyW3dsybKLo1MyYIqxDI/fev1pMvl IRER8AyO3Oz9yFKmzIghgMIKkE1I4PlbojvrX78tJWBrFoelCPpKLhfwkNZaag== 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 4dt9FV5d5SzCKG for ; Fri, 16 Jan 2026 19:41:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e209 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:02 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: fa3f62df1515 - stable/14 - LinuxKPI: maths64: implement roundup_u64() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fa3f62df151532a2e6b2934d5d5dc632b923c2b5 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:02 +0000 Message-Id: <696a944e.e209.353ba3cf@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fa3f62df151532a2e6b2934d5d5dc632b923c2b5 commit fa3f62df151532a2e6b2934d5d5dc632b923c2b5 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:27:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:49 +0000 LinuxKPI: maths64: implement roundup_u64() Needed by a wifi driver update. Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52080 (cherry picked from commit 2a44e10edb13e6b2be7fa2814b418a6959cb1171) (cherry picked from commit 88122c8eb70d81decb7c6dd16e551c3df6ad3818) --- sys/compat/linuxkpi/common/include/linux/math64.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/math64.h b/sys/compat/linuxkpi/common/include/linux/math64.h index cae5e30b08df..0d6048454296 100644 --- a/sys/compat/linuxkpi/common/include/linux/math64.h +++ b/sys/compat/linuxkpi/common/include/linux/math64.h @@ -96,6 +96,12 @@ div64_u64_round_up(uint64_t dividend, uint64_t divisor) return ((dividend + divisor - 1) / divisor); } +static inline uint64_t +roundup_u64(uint64_t x1, uint32_t x2) +{ + return (div_u64(x1 + x2 - 1, x2) * x2); +} + #define DIV64_U64_ROUND_UP(...) \ div64_u64_round_up(__VA_ARGS__) From nobody Fri Jan 16 19:41:03 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FX3wH0z6NlXW for ; Fri, 16 Jan 2026 19:41: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 4dt9FW6wxfz3xMc for ; Fri, 16 Jan 2026 19:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u9zlnxLAO/o0GH5VgGhdxuI0oDsngcDhRJzPe2V4rQo=; b=BbmaxEaQX+zKPzN93ebQm+YM1LzlESmt/U0xXHk8b2o2EQFjyXVWIEOF3Ks/Ubf8JVdNSR KAxP0ZU6w0afj4u2v0C1K4o4WvuZLC/KzExma3FkfF4Njvt1H7vW4c7ux3dZlbC1ZKUm/k knj0P7TwT1IBhgBx1MY18gQe0dtt/Ge9icRA8JqiJAP+W1k187aHOIn2+u3y5VnAmYpWVX /2k29ehpNIqOmq1jl1NrZ9w9Ogu0wMR50kNW4NMDxDQGPVWnhpKdevL6SeGG4V78pJefOQ upCikpzC0+MsA0sR+LdGRbJ4Nc/3R5sjaKAgtnfeAAUhKTCDLa23JYQXS2j8NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u9zlnxLAO/o0GH5VgGhdxuI0oDsngcDhRJzPe2V4rQo=; b=Wjqzk+TBj7wjQK5uzc3q5PQqmFxhEriz/4V47EBAYf2lBX9AwJOP2z0B4Q5kE0EZ0t1Sq1 3Ot2BLqqfWuL/u7Zdw6SLGPueqosy7IpQDKR5xyiNIv3k1Z3VZ/zqAixgpv9E6sEVLoDh7 BxPgE4BHmPiQmILVhd3O49YQ8FEYuvxu3KogOKTjk2hO2xo4xPaDD1ZI4lC5qfHPPqOQBL FG+Jz6FYu8Hwhd4A49006R2LBwLJjaj3Dxql5g9Ea+6AjbzeAdQU60daJbxKGvI66QLOyO LTskzG4BDvALATPfvPFEIr2XC4xymfkDxnFEZmmd4F5TKhEDQDrhNK78wgGLFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592464; a=rsa-sha256; cv=none; b=MOxndKtKpsqEq4hAFuInfjT1ZE5Zi0+Nd7ZVeVodTpp1n7R+n+Es8cvrRAFRvdjenjS18/ GKXqSBYqyFPWvp8XYNs3y9/V/TrLAivZLAyqZ5QSWVGo2yo/kBAIlnqR2DteqCDHQWoWqL tFcAZlM8SxIS7IwO4mEJ+rNljLRn8CHND8iaNB8jT02tqopLrliv47d5gt93Tg4IRQ6erK p4cAfVXtvuWCGW6l2pyRCB6LtHtl6fjRSUCzSOVmYAJngBqPuevdDwcY+iotwE/MNqRiC2 /LK43K9UcI8zMkCCCC6XIzTd9CBzVYnCKjUsmhDWWV3cYXrOXVZqBnUHWe3Tew== 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 4dt9FW6SX1zCdw for ; Fri, 16 Jan 2026 19:41:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cc4e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 62d86be3d64d - stable/14 - LinuxKPI: devres: divorce dem_kfree from lkpi_devm_kmalloc_release 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 62d86be3d64d65ba207f81f18d0dbf38f57935ee Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:03 +0000 Message-Id: <696a944f.cc4e.263431b3@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=62d86be3d64d65ba207f81f18d0dbf38f57935ee commit 62d86be3d64d65ba207f81f18d0dbf38f57935ee Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:28:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:49 +0000 LinuxKPI: devres: divorce dem_kfree from lkpi_devm_kmalloc_release dem_kfree() is called from all over the place and should actually do something; contrary to lkpi_devm_kmalloc_release() it can also take a const void *. We have to __DECONST() that though as the entire devres framework does otherwise not take a const argument. This was discovered during the rtw89 update to 6.16. Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52082 (cherry picked from commit 4ab64e34911ab06e567caaf07ed18f7770a61cc8) (cherry picked from commit f20a09e161f07874c3a01b1579e8a5d2356df8ce) --- sys/compat/linuxkpi/common/include/linux/device.h | 5 +++-- sys/compat/linuxkpi/common/src/linux_devres.c | 26 ++++++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index de7e66d9a4ad..ab53add4be54 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -4,7 +4,7 @@ * Copyright (c) 2010 Panasas, Inc. * Copyright (c) 2013-2016 Mellanox Technologies, Ltd. * All rights reserved. - * Copyright (c) 2021-2022 The FreeBSD Foundation + * Copyright (c) 2021-2025 The FreeBSD Foundation * * Portions of this software were developed by Björn Zeeb * under sponsorship from the FreeBSD Foundation. @@ -282,7 +282,8 @@ int lkpi_devres_destroy(struct device *, void(*release)(struct device *, void *) void lkpi_devres_release_free_list(struct device *); void lkpi_devres_unlink(struct device *, void *); void lkpi_devm_kmalloc_release(struct device *, void *); -#define devm_kfree(_d, _p) lkpi_devm_kmalloc_release(_d, _p) +void lkpi_devm_kfree(struct device *, const void *); +#define devm_kfree(_d, _p) lkpi_devm_kfree(_d, _p) static inline const char * dev_driver_string(const struct device *dev) diff --git a/sys/compat/linuxkpi/common/src/linux_devres.c b/sys/compat/linuxkpi/common/src/linux_devres.c index 84f03ba0dd7d..23c91cb5ab2f 100644 --- a/sys/compat/linuxkpi/common/src/linux_devres.c +++ b/sys/compat/linuxkpi/common/src/linux_devres.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2020-2021 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * * This software was developed by Bj\xc3\xb6rn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -223,6 +223,30 @@ lkpi_devm_kmalloc_release(struct device *dev __unused, void *p __unused) /* Nothing to do. Freed with the devres. */ } +static int +lkpi_devm_kmalloc_match(struct device *dev __unused, void *p, void *mp) +{ + return (p == mp); +} + +void +lkpi_devm_kfree(struct device *dev, const void *p) +{ + void *mp; + int error; + + if (p == NULL) + return; + + /* I assume Linux simply casts the const away... */ + mp = __DECONST(void *, p); + error = lkpi_devres_destroy(dev, lkpi_devm_kmalloc_release, + lkpi_devm_kmalloc_match, mp); + if (error != 0) + dev_warn(dev, "%s: lkpi_devres_destroy failed with %d\n", + __func__, error); +} + struct devres_action { void *data; void (*action)(void *); From nobody Fri Jan 16 19:41:06 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fb1nBtz6NlhM for ; Fri, 16 Jan 2026 19:41: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 4dt9FZ0svMz3xh9 for ; Fri, 16 Jan 2026 19:41:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f4b8RMJEagW3aYhJzxRSqrb3l5f+KVbhBoilIjZvdzo=; b=iF99wfrZTDnPHFclfKS7K30qcgX3/FBqejLWY60mx0dKhtXXI1eJi2+nf6nYbKU/F8MXkz /lxjZSl4aZe5MELeqDZJHfuyYnnqaAhJbv5MlD9IOs+Qdsu7fXp2oPilBKpxCk/qOd0YXZ yBUo/xwe2rm4uZ01GSklN31TaGNcF/0MQDAHBP6+hKw27Vzpym/wRpwd+NonBoR95zgwvp fKSGjHgmuuonAc6VHMKthIYg0QcyrlPgvpp2xNlKA4VxDW+ZXqluStePkepu8UlAjEZ2lj C+jCmPHyQbAWCXS/wFnC+egw21Ji5S1H8AFQEV22lMUAcTKYRW36a1Theo26zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592466; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f4b8RMJEagW3aYhJzxRSqrb3l5f+KVbhBoilIjZvdzo=; b=WDBlQDhGdlLLikT74KXVYfSWgU5qb8CHjDkapoPohdWZO9Yj3EKtTy9qSmG+iQ1r5H3flv 1j2gIQQH/8VyqcHqq3QPkS6Gq5zjV7vH8EUfCb+okEFEZLDYzYscFpyNvE0AL56cALpYe9 TKDID9JCcUcZp/UeBHiSyS9GRNyPBDu9BJ08wh1qYVSgwt/lxsF1AqQX7/xednEANnFDdu FSETL/MvgcYSa4dq9g5yjtP28trszHPiSdEpTv0+2LU4HkdSZ8Oy+HZL4DWSt5aaRhI46L fL7ofAF1E6qySaCe7IqRjtpsd2Jxodn62KutkayxrKrPN6bqMdqFDCN98ZnRkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592466; a=rsa-sha256; cv=none; b=aoyly62+U/kWbg6ROssqzFAKkS5WBHDOJph8dHvfdycf9TZIl8anvmpCi9pBV0qdY+nZf1 TpXKeLUgh/QQLWwtfk7rLyZ28Iq1ii1hfn5tqr6EoKwXwJvkeic6QmQpJ9d93UtnHK40Mk 3otWLXXanOj4qsEvP9AxRB+W9HaIYBLo6ZKqJ1+Lu53xTSpNzeRuAktraTopYJta59wGyy twWDcXZrcs5INUGW9wZYuepkfWLjuBL/gMEIdN5wMQXM22kli8FMquhvNH1T+BDINU60CM uvAOi0wcrJQkHDtDJGPW7IU82wgyuXxMjq7rJ/fXQRh/uqmGHPrlE3OjfYjaZQ== 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 4dt9FZ0T3LzCdx for ; Fri, 16 Jan 2026 19:41:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e140 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 2f4700c4dc15 - stable/14 - LinuxKPI: pci: allocate entire pci_dev hiereachy up to root port on attach 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2f4700c4dc1598c1b99996412a932764d5cbac45 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:06 +0000 Message-Id: <696a9452.e140.385619e@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2f4700c4dc1598c1b99996412a932764d5cbac45 commit 2f4700c4dc1598c1b99996412a932764d5cbac45 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:22:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:50 +0000 LinuxKPI: pci: allocate entire pci_dev hiereachy up to root port on attach In linux_pci_attach_device() allocate a LinuxKPI pci_dev for each device in the hierarchy up to the root port[1] as we cannot do that later on demand as we may be in a context where we may not sleep. Take special care of DRM as there is a non-PCI device in the chain which needs to be skipped. iwlwifi(4) can hit this case called from a callout. While here leave a comment as the cleanup order of linux_pci_attach_device() needs correction seperately. Sponsored by: The FreeBSD Foundation (initially) PR: 283027 PR: 289647 Suggested by: jhb [1] Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52069 (cherry picked from commit bbeeb585315645db20118ef349a4e3dc83b148cc) (cherry picked from commit 3860afe99ec39b9942967941181f28f27f3fc548) (cherry picked from commit 123c2dc6e15a62ceba3469caf0f1a6801214a7d3) (cherry picked from commit d8972ad2f6e7113d779d4ec975ce32552030b2a3) --- sys/compat/linuxkpi/common/src/linux_pci.c | 47 +++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 824f9a0118ae..1e6278418c83 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -343,6 +343,7 @@ lkpi_pci_dev_release(struct device *dev) static int lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) { + struct pci_devinfo *dinfo; int error; error = kobject_init_and_add(&pdev->dev.kobj, &linux_dev_ktype, @@ -363,15 +364,24 @@ lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) pdev->path_name = kasprintf(GFP_KERNEL, "%04d:%02d:%02d.%d", pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev), pci_get_function(dev)); + pdev->bus = malloc(sizeof(*pdev->bus), M_DEVBUF, M_WAITOK | M_ZERO); - /* - * This should be the upstream bridge; pci_upstream_bridge() - * handles that case on demand as otherwise we'll shadow the - * entire PCI hierarchy. - */ - pdev->bus->self = pdev; pdev->bus->number = pci_get_bus(dev); pdev->bus->domain = pci_get_domain(dev); + + /* Check if we have reached the root to satisfy pci_is_root_bus() */ + dinfo = device_get_ivars(dev); + if (dinfo->cfg.pcie.pcie_location != 0 && + dinfo->cfg.pcie.pcie_type == PCIEM_TYPE_ROOT_PORT) { + pdev->bus->self = NULL; + } else { + /* + * This should be the upstream bridge; pci_upstream_bridge() + * handles that case on demand as otherwise we'll shadow the + * entire PCI hierarchy. + */ + pdev->bus->self = pdev; + } pdev->dev.bsddev = dev; pdev->dev.parent = &linux_root_device; pdev->dev.release = lkpi_pci_dev_release; @@ -396,7 +406,7 @@ lkpinew_pci_dev_release(struct device *dev) pdev = to_pci_dev(dev); if (pdev->root != NULL) pci_dev_put(pdev->root); - if (pdev->bus->self != pdev) + if (pdev->bus->self != pdev && pdev->bus->self != NULL) pci_dev_put(pdev->bus->self); free(pdev->bus, M_DEVBUF); if (pdev->msi_desc != NULL) { @@ -534,6 +544,7 @@ linux_pci_attach_device(device_t dev, struct pci_driver *pdrv, { struct resource_list_entry *rle; device_t parent; + struct pci_dev *pbus, *ppbus; uintptr_t rid; int error; bool isdrm; @@ -577,6 +588,27 @@ linux_pci_attach_device(device_t dev, struct pci_driver *pdrv, list_add(&pdev->links, &pci_devices); spin_unlock(&pci_lock); + /* + * Create the hierarchy now as we cannot on demand later. + * Take special care of DRM as there is a non-PCI device in the chain. + */ + pbus = pdev; + if (isdrm) { + pbus = lkpinew_pci_dev(parent); + if (pbus == NULL) { + error = ENXIO; + goto out_dma_init; + } + } + pcie_find_root_port(pbus); + if (isdrm) + pdev->root = pbus->root; + ppbus = pci_upstream_bridge(pbus); + while (ppbus != NULL && ppbus != pbus) { + pbus = ppbus; + ppbus = pci_upstream_bridge(pbus); + } + if (pdrv != NULL) { error = pdrv->probe(pdev, id); if (error) @@ -584,6 +616,7 @@ linux_pci_attach_device(device_t dev, struct pci_driver *pdrv, } return (0); +/* XXX the cleanup does not match the allocation up there. */ out_probe: free(pdev->bus, M_DEVBUF); spin_lock_destroy(&pdev->pcie_cap_lock); From nobody Fri Jan 16 19:41:04 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9FY42kLz6NlmT for ; Fri, 16 Jan 2026 19:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9FY0Wsvz3xb6 for ; Fri, 16 Jan 2026 19:41:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jhwVe4X4aGjEvehaIiuYfVJ7b8yh/tG8SGslvU7cyrY=; b=apBBKJ10Zx8dUtdcIorwnuKZADsKB0TPQ75FkR/EC0tFyzLh8YZV26cVGuchSE4V0e8xPF dL+iVLNfTsFZtTzsIlRGmnjTId8oYXauMK2viMs/yTnAPvXINqF53rPrCoUZJnImv55Nv7 PkeUze8ahYkby799q2L5yJmp6PWgF68PyDpp4MQLF1g15FGWjB6guyaH1gVkc2kkrlX16t b13xQLF889y6S1XfunaYo83d6l1qnEjFKJ1RinEfsgdTSX7jqXo4cbcbM/ol26wt8vyubq /7iiDOmU4GIsPXbOpVeLxrlpKtCpONoJHrwk7+wkIt+KerX7L13kDiNh3ZAbPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jhwVe4X4aGjEvehaIiuYfVJ7b8yh/tG8SGslvU7cyrY=; b=Zdt7Mxv58jpIVovxPlcyaIKwqXzfpu9P1uehPFL4R306M/01EWeQjebd3U2Kq03s+RlgRL I5icWxDSYceruVl58uERuws6OssYEGHLHUQy3w3+CJJDSwsuRMe8B0ZpbWoE4bTCb3wjN7 PUwOgKpQdbT3khhlazjnKkXigiswTU3UmUd59VqBF3YkldHZPzFYySA4k75Af9EoV64Go4 YYCadFnThZiRHvKBX3SDn8ynfHG/x0h8KbYINIpA69afN1AurpRPQqwZ5Hz5owBRUFzsDb eJSJBlVSkbm24kopc7dPikqeJHmU7ydNX/xdbz5JzFHlxhg5tGAvQUKWwH9Qxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592465; a=rsa-sha256; cv=none; b=E8K+hP2lWVZZa05J/r+EugrwTj3SDZ0ch+zljpIGW4c4mp8G17uFtK1i/CFuo/i8KtBSda 4TVFJo9sEqx1gDI+XYb+FSUaZxilOMapvJhZPWN2/4lSVhvvfjVScQMKR3epUo8cNeqjiO eFRWQy22WZ1VdUTpqaFkbSufqW6C5K0xPMhTJKCzOSXKtky7F3KavFNRVuMBqXG5VdCptT h7ycaHSH/2qsIWLVihyqDAcBVrB6+IIJYd4TwkIAdAu7p++W58EZxlSRooEODCCqoKvdn5 IddH1yeME77guPfsAiXEVMVosBhkf86G9OUYsOOl2dzCpRkxbWImL6J4gIjOkQ== 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 4dt9FX6n9wzCKH for ; Fri, 16 Jan 2026 19:41:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb68 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 64075d536466 - stable/14 - LinuxKPI: 802.11: avoid recursive wiphy lock 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 64075d53646679554c6b62911076b6b26e862acf Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:04 +0000 Message-Id: <696a9450.bb68.64f3f9f9@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=64075d53646679554c6b62911076b6b26e862acf commit 64075d53646679554c6b62911076b6b26e862acf Author: Bjoern A. Zeeb AuthorDate: 2025-09-11 14:44:10 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:50 +0000 LinuxKPI: 802.11: avoid recursive wiphy lock When freeing the last reference of the net80211 node the net80211 node_free() code may directly call into the crypto code to delete the keys. While we still holding the wiphy lock this would lead to a recursion on the non-recursive wiphy lock. Defer freeing the reference until we are back under the net80211 com lock. Reported by: Mark Phillips (mark freebsdfoundation.org) on 15.0-ALPHA1 (cherry picked from commit 3c38dce87ecd2c87744e4b7ff1904ee841f88a47) (cherry picked from commit b0469fa7f10f9fe5510a5445f38d1bf0b832c1e7) --- sys/compat/linuxkpi/common/src/linux_80211.c | 54 ++++++++++++++++++---------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 4fbf36f8c55c..0aba2d843106 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2504,12 +2504,6 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); lkpi_lsta_remove(lsta, lvif); - /* - * The very last release the reference on the ni for the ni/lsta on - * lvif->lvif_bss. Upon return from this both ni and lsta are invalid - * and potentially freed. - */ - ieee80211_free_node(ni); /* conf_tx */ @@ -2518,6 +2512,18 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); + if (error == 0) { + /* + * We do this outside the wiphy lock as net80211::node_free() may call + * into crypto code to delete keys and we have a recursed on + * non-recursive sx panic. Also only do this if we get here w/o error. + * + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); + } return (error); } @@ -2840,12 +2846,6 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); lkpi_lsta_remove(lsta, lvif); - /* - * The very last release the reference on the ni for the ni/lsta on - * lvif->lvif_bss. Upon return from this both ni and lsta are invalid - * and potentially freed. - */ - ieee80211_free_node(ni); /* conf_tx */ @@ -2855,6 +2855,18 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i out: wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); + if (error == EALREADY) { + /* + * We do this outside the wiphy lock as net80211::node_free() may call + * into crypto code to delete keys and we have a recursed on + * non-recursive sx panic. Also only do this if we get here w/o error. + * + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); + } outni: return (error); } @@ -3453,12 +3465,6 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - /* - * The very last release the reference on the ni for the ni/lsta on - * lvif->lvif_bss. Upon return from this both ni and lsta are invalid - * and potentially freed. - */ - ieee80211_free_node(ni); /* conf_tx */ @@ -3468,6 +3474,18 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: wiphy_unlock(hw->wiphy); IEEE80211_LOCK(vap->iv_ic); + if (error == EALREADY) { + /* + * We do this outside the wiphy lock as net80211::node_free() may call + * into crypto code to delete keys and we have a recursed on + * non-recursive sx panic. Also only do this if we get here w/o error. + * + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); + } outni: return (error); } From nobody Fri Jan 16 19:41:07 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fb41jMz6NlkK for ; Fri, 16 Jan 2026 19:41: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 4dt9Fb1mLQz3xWd for ; Fri, 16 Jan 2026 19:41:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5fezxMhUn0xUr86T/mS4gCbJ93glKU8MgDwd1OP98IE=; b=eqSt4CnJzbm+cUt9OAt7f+1srDvc1k3geH/I9XNJnkCBMxgpn8tFTtglaR2n1Pp7t8D4Io gKeO0kLKBZrNXzi5iZM1ZWAuw+6R63lpN6AWZyVwVE7SLzTwm2UtZ7UZbdBg4FPEdXdvMK KX1SUfn/dC9pU/+zLPgwCaFEpsUqlzw4NOXzRpbIhqTfi7ucrnerUkPlRfeqkFlsO9cHxG BHAKW8bWkOI4saozSCVTbJ2wkbFJCZSfvEyWyxY+IiibCyAjBnF7HjPztvEdxCTA1mgFsH /JVxilDPCDQB1C1Ce6j+mn6eXMYG9nRJiJJFIYJHbCG/f3RKE+dSbvKbsfNUvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5fezxMhUn0xUr86T/mS4gCbJ93glKU8MgDwd1OP98IE=; b=D1I4Nrv8Qp8clRAmeb1Q/nrwF4kCNrjn/LsoUnPK2Ty8Wif0P1TuGnFJz+NgQZUYeDpxtJ lsanhm/E70u9kmfhEoha6HJu9tY04MgL/aIaP5q39IgCRR1LAa3szDqpnZhSTSF4JkSXAD bG/DtTyVVb6fHXHcUObu0xukOCunAtWKSgDd29FGer2YE5OJ8s/dkVdh6HxUb6NvpZq8yT an+5gb1V186rUCD+IClI7w2jwP+D0PU55iW/CTo+FRv5YAI2aCzPGZh2IQCzhHPPcug5ov JXkf+CYAE8Bi1eByV244LGU63+Wn3drJwW6kAlzfRNOvujrIuq1NmbiDN+4m9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592467; a=rsa-sha256; cv=none; b=RBEwHB6JF0HSyTW4EU0XpxmYYW2nvn/BoerLSQ5vdHnxsPLQFFSabUzfQXhV1coeXZ/i5h jRO7ssoiAQCsEcUkR/EgQgoTe3CV2mUfQDNCZHKd4LGcd68uSBv8Nj8Ot/e/5FbXW36/Ee bL+X6LCGXYTfK4UjRaQ2GDOtavQUvZbCD2ninMO2IVr92b8fHHi2r5kFZVjeL5wMNn+PtE Ch9d487SRu4fuV/F259hNNc6N659g/3JfLR+fSYcAd46/6jXmWrTcL8Vz5jDfyVGCCeCYD GRCaotVXw/RIvh0Fqe4EcooxKvN4fm4/saj3kkOqFQ93x54+ikiSTDpF8Zhv0w== 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 4dt9Fb1JM7zCbc for ; Fri, 16 Jan 2026 19:41:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e1a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 8d76cbe16b42 - stable/14 - LinuxKPI: pci: implementation of [lkpi_]pci_get_slot() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8d76cbe16b42749336cf369fbba850bfb30e5cd6 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:07 +0000 Message-Id: <696a9453.e1a4.5d331292@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8d76cbe16b42749336cf369fbba850bfb30e5cd6 commit 8d76cbe16b42749336cf369fbba850bfb30e5cd6 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:19:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:50 +0000 LinuxKPI: pci: implementation of [lkpi_]pci_get_slot() Like lkpi_pci_get_domain_bus_and_slot() implement lkpi_pci_get_slot() using pci_find_bsf() instead of pci_find_dbsf() (no domain). This is needed for a wireless driver. Unfortunately the name [pci_get_slot()] collides with the native PCI function. Add a guard around it and disable the use when the native version is required (in lkpifill_pci_dev() and in bnxt/bnxt_en; if the latter gets fixed we can probably also fix work around it in the former; further conflicts in drm-kmod 6.1-lts, 6.6-lts, and master were resolved). Sponsored by: The FreeBSD Foundation (initially) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52065 (cherry picked from commit 4179e6b78297369f0cf0eae1076e01e5151c5cbe) (cherry picked from commit 62c3b77d1d1084dc46663eed52e288307b5c7e64) --- sys/compat/linuxkpi/common/include/linux/pci.h | 6 ++++++ sys/compat/linuxkpi/common/src/linux_pci.c | 15 +++++++++++++++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 1 + 3 files changed, 22 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index c22a4403a823..da0a713dbee8 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1311,6 +1311,12 @@ struct pci_dev *lkpi_pci_get_domain_bus_and_slot(int domain, #define pci_get_domain_bus_and_slot(domain, bus, devfn) \ lkpi_pci_get_domain_bus_and_slot(domain, bus, devfn) +struct pci_dev *lkpi_pci_get_slot(struct pci_bus *, unsigned int); +#ifndef WANT_NATIVE_PCI_GET_SLOT +#define pci_get_slot(_pbus, _devfn) \ + lkpi_pci_get_slot(_pbus, _devfn) +#endif + static inline int pci_domain_nr(struct pci_bus *pbus) { diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 1e6278418c83..4745e0416067 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -68,6 +68,7 @@ #include #include #include +#define WANT_NATIVE_PCI_GET_SLOT #include #include @@ -468,6 +469,20 @@ lkpi_pci_get_domain_bus_and_slot(int domain, unsigned int bus, return (pdev); } +struct pci_dev * +lkpi_pci_get_slot(struct pci_bus *pbus, unsigned int devfn) +{ + device_t dev; + struct pci_dev *pdev; + + dev = pci_find_bsf(pbus->number, PCI_SLOT(devfn), PCI_FUNC(devfn)); + if (dev == NULL) + return (NULL); + + pdev = lkpinew_pci_dev(dev); + return (pdev); +} + static int linux_pci_probe(device_t dev) { diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 169255c9433e..a8c353e1c406 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -49,6 +49,7 @@ #include #include +#define WANT_NATIVE_PCI_GET_SLOT #include #include #include From nobody Fri Jan 16 19:41:08 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fd0G0wz6NlWY for ; Fri, 16 Jan 2026 19:41: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 4dt9Fc37xWz3xQd for ; Fri, 16 Jan 2026 19:41:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J32g4Kp7oC9JNx/XBzlXjKbqqDXlY8wTEgkhSRs+8RQ=; b=goGtGr6x1U3XLbvlmw3el2FobZ8jtZVbF5xVXBiyMqHnNsGyr2JdnZBSrw7eyYX1JPDKU9 FAkIyVuu3C6BSfjT9CYxR+39VY2hGtzQIftQOXNuvolieg5JUUz1BwbbPDIQJoVSjfhGdA ahJT2Brx6AmShF2Lf4J5P77CFqACS9UAzLcGPKXXCHcNg0ho3q5gWz5w+iLlg9YWc7zABm 53bX0u4VjS8N2h9qHnXHiSW0DOG6tjW2uNLTXLUW465tzZ8f6r7R1nk8Xkb6wRAOmc377w ztLXVgIuA8RYI+DrBmIy1mpNf5HumUeH+WoMH582J303lU1OBZXeQrq+8nbYrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J32g4Kp7oC9JNx/XBzlXjKbqqDXlY8wTEgkhSRs+8RQ=; b=CmY2eW3oFHC+9efedmZbj1nMleEswFutmpXc1Ss8qrA/4P+r735+0cSkqTcgZClcVzVHDg duYRd9pNdeQ/wlSrOZwrWkhx2u7XkoiXmoio+z5s+64qt4nx0FPnWosxfQZ317DUpAQM3t w7zXJ1E9sWzyRtHs8bDDLFZxec2UscMccHup3jZmI7UYLLmG4UQ8vYb5pzQRS9Rlvf/82F iI9icMA2cG3XbH1KwYuTxZrjfkuSPqQhfY0EgN4xIVdaVYlNRQTYTe01r1a0D9PlxEYxIn 0yX1SHdkXf+2Bx7CONxbYX/6o6haY8OlhUfzfkCzrrpPkERiRkET6RSqboqnjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592468; a=rsa-sha256; cv=none; b=psUiRrpr9ryFsdT40rgysLL99UQhTTuSWfH8s7hxS3oRtBakdMHBt2IbaPL318KIqyJzXK zdFSSphWQw8uvPxH4fycFpMlnLV00WrxdfvIAj/LlglRDk7UlziKix3TcNccFy6GUK7vMf oeIQ/G1I+9l4gs40QW1yiPX2DwI73VTtV+HcRYUhLJcyuFiLbRHzN7KCopm2CowMFgfdjJ Dgw+sBFl/vD6sygjA6GjLD0vJFpxtLTGun6d8hFHTmI/OQVqWWVjaAT6MfnOQts3ubxJrv 32yGfUd2H6L4xFjW+harbrIgfq9ev9/4odggC4lPlNEff2qF+HwxvWdc9cPAoQ== 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 4dt9Fc25rgzCdy for ; Fri, 16 Jan 2026 19:41:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dbeb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 9c54475b16dd - stable/14 - pci: add quirk to disable Function-Level Reset (FLR) 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9c54475b16dddeaf50510418c98a6e69ff635035 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:08 +0000 Message-Id: <696a9454.dbeb.31f5c842@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9c54475b16dddeaf50510418c98a6e69ff635035 commit 9c54475b16dddeaf50510418c98a6e69ff635035 Author: Bjoern A. Zeeb AuthorDate: 2025-09-25 12:49:07 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:50 +0000 pci: add quirk to disable Function-Level Reset (FLR) MediaTek mt76 WiFi cards are advertising FLR support but after issuing a FLR the chipset is gone. Add a quirk so we can disable FLR. The current reset code will automatically fall back to a power reset. This makes the card show up under bhyve where before it would just not be discovered at all. That should make wifibox work for it and will help development for a LinuxKPI based mt76 driver as found in framework laptops as no dedicated machine and constant reboots are needed anymore. We will likely need to add more PCI vendor/device IDs once we can test the other device IDs. After a lot of help from: jhb Really implemented by: jhb (I just typed and tested) GH issue: github.com/pgj/freebsd-wifibox/issues/73 Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D52728 (cherry picked from commit 4c0e53aced2251eb5ac7eca44e13a6b947be8582) (cherry picked from commit 3bd015a1a918d060dbef556ddfa6e236f5212330) --- sys/dev/pci/pci.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 649ac6286865..0a1ea29180dd 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -240,6 +240,7 @@ struct pci_quirk { #define PCI_QUIRK_DISABLE_MSIX 5 /* MSI-X doesn't work */ #define PCI_QUIRK_MSI_INTX_BUG 6 /* PCIM_CMD_INTxDIS disables MSI */ #define PCI_QUIRK_REALLOC_BAR 7 /* Can't allocate memory at the default address */ +#define PCI_QUIRK_DISABLE_FLR 8 /* Function-Level Reset (FLR) not working. */ int arg1; int arg2; }; @@ -319,6 +320,13 @@ static const struct pci_quirk pci_quirks[] = { * expected place. */ { 0x98741002, PCI_QUIRK_REALLOC_BAR, 0, 0 }, + + /* + * With some MediaTek mt76 WiFi FLR does not work despite advertised. + */ + { 0x061614c3, PCI_QUIRK_DISABLE_FLR, 0, 0 }, /* mt76 7922 */ + + /* end of table */ { 0 } }; @@ -6744,6 +6752,8 @@ pcie_flr(device_t dev, u_int max_delay, bool force) if (!(pci_read_config(dev, cap + PCIER_DEVICE_CAP, 4) & PCIEM_CAP_FLR)) return (false); + if (pci_has_quirk(pci_get_devid(dev), PCI_QUIRK_DISABLE_FLR)) + return (false); /* * Disable busmastering to prevent generation of new From nobody Fri Jan 16 19:41:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fg0RFJz6Nlmp for ; Fri, 16 Jan 2026 19:41: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 4dt9Ff44Thz3xhg for ; Fri, 16 Jan 2026 19:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592470; h=from:from:reply-to:subject:subject: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=E6LzRUOkwqO1npq3wb6a49ivOW6Jg4442NAIcED7JMY=; b=lmaLaW33nSysD0sKxYu5qfCuPApzKeXs3PMU5B6YPznX6aAYrZQBkJSPHMFkNlMcHUWLm6 dvha5wSJEfyoEf/Pmisp36RIn5G6gFw5as+RQeEKn49QY1HBBvubgjA6Ly6mj/z8PY8ITJ nWK3LMwfyDaDFCmCHmNJ5Z4tsADabvWxB7XsDAkECTF0cTXoOgnR7QHtOI+rbD0LXb1Tbm mR146ovMQXGLvxqKBUcHMnxrRZXztmlzRLjaAefjb4Ewpt5NLxYGs+TdZ++SMfStuC5giR kHURIMijG9JstghUispGW79JE+tleowEsXp94YZ8hRohkfZfO9SQNHdds+x4TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592470; h=from:from:reply-to:subject:subject: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=E6LzRUOkwqO1npq3wb6a49ivOW6Jg4442NAIcED7JMY=; b=per4yVhE68MM6eXDZ8oPeyi/QhRgkEPUU2UsZNXsWpN9oW8wtbUbs0Xbt6ltpzsUDaHwZc s03PBP+BrWJe/7Rr1cJbseGA0+/ZrPdrrbjhyX0G58goZXa/KaMgPmkPL6UqxPuj4hNPqR bcZixAygQq+pIWoUSdESJqWCQLGcmKIfdr4nYkfEZte2CJ9lsam9Joy1cGUGhKeYDU1xQi phB2iUlSpL2JgIQkOFudf/8wlKsouUfd0iKSg/zkc6SpuDVUFUYwB2P/VT4QGjxX+JX+E1 WoHXMTKOSSeVjX3P5gaBsH8b6vzW2ms0AU/0FL6BsuM6kcHsQ6O0vWB8rvYHNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592470; a=rsa-sha256; cv=none; b=hf3K/xylapdP2qoTHfwmiIgtQazNEB8RZrn8ST9kR8/jFQ/ObSDfEznH6Y6wPcOv8dZsXO vBn9dXAHR4FwmkmrFLpL/LajKwTfl2sSC3dkkDOvDbgH/14/wU0/3fAGdqKnMiYbWzOQ1k IvVY9oQlaz+lcKvPNQZJ58uuWorSqsTt7P5VIDho7Q0k3fFhv+3h2Rb5TOqD+YbTPJcZPi 5BHtUgh5+jM7QQmvN0XVstWxee4rWvXJqwFAmo+WpsVvuMSrdAeN3hvSAoS7lsCyGJAm9m veQjnbh7W8GbufVeMrQ0P2+EXwC+v1QtGymvC0Ud1OSDTCPbmnYhj0ObSm3Kxg== 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 4dt9Ff3YBNzCYk for ; Fri, 16 Jan 2026 19:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cbc4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Chris Johns From: Bjoern A. Zeeb Subject: git: 6d7d95b4758d - stable/14 - dc(4): fix argument to if_foreach_llmaddr() for 21143. 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6d7d95b4758d04adcf051d6dcf7355caf4a1f2cd Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:10 +0000 Message-Id: <696a9456.cbc4.4c1a3d50@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6d7d95b4758d04adcf051d6dcf7355caf4a1f2cd commit 6d7d95b4758d04adcf051d6dcf7355caf4a1f2cd Author: Chris Johns AuthorDate: 2025-10-17 12:38:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:51 +0000 dc(4): fix argument to if_foreach_llmaddr() for 21143. As found on RTEMS the argument to if_foreach_llmaddr() was wrong causing crashes. Fixes: 51e80820552e0 PR: 290314 (cherry picked from commit 33afdf0e356d84ffe5c62c886f84cf12ba147d3e) (cherry picked from commit 10c71151ade7b5f021b49b7e117059730a2ddb56) --- sys/dev/dc/if_dc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index 809feed7855f..48d41f8da949 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -999,7 +999,7 @@ dc_setfilt_21143(struct dc_softc *sc) else DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI); - if_foreach_llmaddr(ifp, dc_hash_maddr_21143, sp); + if_foreach_llmaddr(ifp, dc_hash_maddr_21143, sc); if (if_getflags(ifp) & IFF_BROADCAST) { h = dc_mchash_le(sc, if_getbroadcastaddr(ifp)); From nobody Fri Jan 16 19:41:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Ff1xH0z6NlXp for ; Fri, 16 Jan 2026 19:41:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fd3XBBz3xNK for ; Fri, 16 Jan 2026 19:41:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcXkpbqaDbsp2gNVfYBuL+Vh9Yxalq8YX6Xp41Au1tQ=; b=UqPZxPQ09uEDm+9el4WgiAjnUmwces89GS975mG0aqea6SE14ef9KESiw2OkgVPj7cOzOU /gSh4crJnduNTwZ28AHOw3Mw6kS7xyGv18kwB92taRWUfgRqL3adb5sg2c1FIP8Yvv4ubo 4vhfUyCiglJClcE1MWsmHwHGk9C7QT2RkQ7TAaIJVGCIu1RKrXOYcxNG+DAnMhJEKwVkvX d4sTSTCkqj2OWoQKfczVuxBxOcAK+qW6sJS/CEhmDGbuc8HuK9Qxm/0GmCClTy6KTzMVFz +IVI085T0AnocTdefAu8XFotBB0C/l2dCbMVGErr27m70qItDMWszXwjX15FYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592469; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcXkpbqaDbsp2gNVfYBuL+Vh9Yxalq8YX6Xp41Au1tQ=; b=gWalaHGA3zPloTlvVrHJCB98qAX2bpRUNOCc5Rd9BOj0UKmcqr6QWEIaA9VcgD9jYtp4bf Zh1Wel4E4nHUrM83aKa3bog+fgZX2mqTFLrkWLpxnapvY7VO7r6Uj8HS35v4ZpJ06QmF7v 4bDmw+iLSFyHzDVyPokh/0htFF/92DRIdCvhm//+rMKhSaw6/eb7ver9zHowtloWrXv7sF X+qSf7h3IUy/vcEe3r0+mrDGhSsI6nMQDDgmxEDZji+JpsDG4jn46gyrG3TOhTW4Kuiv+o lx3M4ALLa0E+3Au1LiwyfLV6MdABv/zWMQ10820tL7Vlc+neoizKz6FJl6g8Ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592469; a=rsa-sha256; cv=none; b=GLwxlhRk9wVNpeYvCsJO0GP9c0/djoBbiQLgCZ8nf648R9C0qymkdVCCQRd/m0jAPJW1S3 uNoCaEboUfGe1I9mG3ij5XE4J8zGAlp4W4TWg+ppLc1s97MMizuRLRyIdaLoMeL+EMXFmn ebdFrYC3MCiOj1dY6/t3G8KuocDp6BVbFt+Ov91SmL/Kv09D7as/e2fE0kcF1SeB2cY/26 iDCubXZ1rrUd+ijzQaeFsty2AmJpINw8MecpdFpMprrgincMG5NXUdQuExIv0tl/DJtQSY pWKPd0jJcBUY/yM1r8GHCQBAtsdQ7UJ+eF+apmgxUfiKTZv8tA8RN2NIU4RjtA== 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 4dt9Fd2rP5zCf0 for ; Fri, 16 Jan 2026 19:41:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e010 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 61c549c2bbf0 - stable/14 - fwget: pci: mediatek: correct package name 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 61c549c2bbf01eacb74093674694c595ded0e757 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:09 +0000 Message-Id: <696a9455.e010.49e0ba98@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=61c549c2bbf01eacb74093674694c595ded0e757 commit 61c549c2bbf01eacb74093674694c595ded0e757 Author: Bjoern A. Zeeb AuthorDate: 2025-10-13 13:15:58 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:50 +0000 fwget: pci: mediatek: correct package name The port is called wifi-firmware-mt76-kmod not "mediatek" in the moddle. Reported by: Lars Tunkrans (drsnx60 gmail.com) Reviewed by: emaste, jrm, imp Differential Revision: https://reviews.freebsd.org/D53067 (cherry picked from commit 10d88a7aa670a3cc2bf763e64bd292b4caa3a811) (cherry picked from commit e0487486279bc0690f65401622deebdbdea6a882) --- usr.sbin/fwget/pci/pci_network_mediatek | 36 ++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/usr.sbin/fwget/pci/pci_network_mediatek b/usr.sbin/fwget/pci/pci_network_mediatek index 653c87c410eb..e1e15dcfa2e5 100644 --- a/usr.sbin/fwget/pci/pci_network_mediatek +++ b/usr.sbin/fwget/pci/pci_network_mediatek @@ -38,24 +38,24 @@ pci_network_mediatek_mt76() # { sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh } ### >>> - 0x0608) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x0616) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x0717) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x7611) addpkg "wifi-firmware-mediatek-kmod-mt7615"; return 1 ;; - 0x7615) addpkg "wifi-firmware-mediatek-kmod-mt7615"; return 1 ;; - 0x7663) addpkg "wifi-firmware-mediatek-kmod-mt7615"; return 1 ;; - 0x7906) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;; - 0x790a) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;; - 0x7915) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;; - 0x7916) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;; - 0x7920) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x7922) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x7925) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x7961) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;; - 0x7990) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;; - 0x7991) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;; - 0x7992) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;; - 0x799a) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;; + 0x0608) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x0616) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x0717) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x7611) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;; + 0x7615) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;; + 0x7663) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;; + 0x7906) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;; + 0x790a) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;; + 0x7915) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;; + 0x7916) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;; + 0x7920) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x7922) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x7925) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x7961) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;; + 0x7990) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;; + 0x7991) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;; + 0x7992) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;; + 0x799a) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;; ### <<< esac From nobody Fri Jan 16 19:41:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fj33tSz6NlSg for ; Fri, 16 Jan 2026 19:41: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 4dt9Fh53VCz3xTZ for ; Fri, 16 Jan 2026 19:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iGF1TigSdaKOaCjbYsfiDE5W2wt7CbmVBGXQT7r3YuA=; b=LnHBz8rJCjDJg3bkauPCWeQ+d+guRzjKUpmQz4Q12Hty+nIt2kx6hX/U4MpCJNllLuHjmK Gj7iSOcyUCvSVpkUrMPEZ2n3Rez8cjI/MJ6RbsQsxooYOZlnLXQWPo+K49bAuqUZgbarms dAhCmz636L19wuJfpx6hSbJguhnbzaP6FaaJ3LbCE3wcJuPA1QLFK4m9t1PBx02fi9wYnC Kk6OWxDffPuyhnsfY1AuK+Oh/6d6nKxs3j5Hj+lCeQNjNKKsySiWIqsB1ICONS93gOL0iT nGaF/6exhVYLJfgP96hWlGfAC+yaeN1cZIXJi1+gCVJE2KnDwKVOA8BLYgCUYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iGF1TigSdaKOaCjbYsfiDE5W2wt7CbmVBGXQT7r3YuA=; b=HIfIbFbMU5lV7tshD4WAw6TDlX63JsU0hP20Z2v6CJ6RCj3nIHoyX5h4XacLfUtaj+L2mm tgtlah5NsjfHm0OPX9lcf/QNBhF2HsLHgw1jOZD9ZwmzsJf1bVcBmeqdcDxbr5uu9K6RmX YfVJBgjJ7V7KifVWwc3EEybBcL2vhpW0aDy+nD0/jN5p+MhvE9O6TeeNSYLh4GWKhFBRBT I5Gc8M0EJsD5IMwotWYG9VAge/tFxkm2QdkEc4fuQrkEkT33kiC00zIJWpelQJUwAa50AR Db0TwqJeCIZeal+oWuFUhf6RdSqAoChCwoGuntpGbdIV/6jnIv6Hr3bhHqoKlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592472; a=rsa-sha256; cv=none; b=Ba2ICs/WjddyREQ2nzozxf6ONa4lGLEghxLXO59DP8kuLnEVDyS9ywNjOQ+3rCFUTEpCgT lrGP5m/zWM96jJQZIpZ/wdS4oZi8QzT9dvSqmRt8NwftPVhukiBiAPjGkbAdCPUYl7eSED KBR+Tr8b9GmKrttc1LEHb+QatU3+0X5XoIR4gjKTsnqLXbVtTkLg32dI0xbSB/Sd6dL9Dr mWqbZZkV7KW5BlxF40jeqFhf3TZEYiV4hDgUVeerqYxn4ua0UmKWCM0jXTrV0PozxkRl0O ZHikMOjmhlMCkPfCA6d45/H5GorFw1RA6s7eN1RN23fTtr9lrHuPigY8GA+1jA== 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 4dt9Fh4c4zzCM5 for ; Fri, 16 Jan 2026 19:41:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e1a8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 923c01f09ba7 - stable/14 - LinuxKPI: add __counted_by_le() and __counted_by_be() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 923c01f09ba737490e9ac9ee122f4de6742ca077 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:12 +0000 Message-Id: <696a9458.e1a8.6dd1762@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=923c01f09ba737490e9ac9ee122f4de6742ca077 commit 923c01f09ba737490e9ac9ee122f4de6742ca077 Author: Bjoern A. Zeeb AuthorDate: 2025-10-11 09:22:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:51 +0000 LinuxKPI: add __counted_by_le() and __counted_by_be() The former is needed by a wireless driver at v6.17. Reviewed by: dumbbell, emaste Differential Revision: https://reviews.freebsd.org/D53203 (cherry picked from commit 0a4b11ddb298fa08e1a81af7337995a3769552bf) (cherry picked from commit 0e30cab0f32ee40e89f59b3a287ae96c084e1e7a) --- sys/compat/linuxkpi/common/include/linux/compiler.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/compiler.h b/sys/compat/linuxkpi/common/include/linux/compiler.h index 948396144ad6..4146c829b936 100644 --- a/sys/compat/linuxkpi/common/include/linux/compiler.h +++ b/sys/compat/linuxkpi/common/include/linux/compiler.h @@ -31,6 +31,7 @@ #define _LINUXKPI_LINUX_COMPILER_H_ #include +#include #define __user #define __kernel @@ -79,6 +80,13 @@ #else #define __counted_by(_x) #endif +#if BYTE_ORDER == LITTLE_ENDIAN +#define __counted_by_le(_x) __counted_by(_x) +#define __counted_by_be(_x) +#else +#define __counted_by_le(_x) +#define __counted_by_be(_x) __counted_by(_x) +#endif #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) From nobody Fri Jan 16 19:41:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fk2vLPz6Nlpn for ; Fri, 16 Jan 2026 19:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fj5mz3z3xTh for ; Fri, 16 Jan 2026 19:41:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QpJr2ira2USPmWcHB1vdTNXWE9hDo8VB6r1g2v8Lx6Y=; b=KnXxQ7XD6F1/jOKO0YQo8UZuQk3X95iGkIzzAaHEaxiUldPooFPYW/aDi6wIpPzgQAeB0y hLV16gIZvqtMtACDZONtlSlDtwm9XqrHf6CKXH2VQARaL+Uwe2ekypRhFp9j7oD/Uh2ek+ sXxuSEUHFCO9ObnKvHWdESkH2OqmoZbIM4m6QC6W+KbodlZRpdWvntXA4ju1jUzv4heZEk 6TBc/vI/luZz0iBQ8/NDF1AXGyHx53L86a84mdu5EFm5lo1GvVBo5wL9sDi6yL3wpHL4L8 Yf+tLsZPARLCRWIY0KKhQSmnsYJOxr8DZTAKUhE/sxIsMlycyXa9aa1vnGI58A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592473; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QpJr2ira2USPmWcHB1vdTNXWE9hDo8VB6r1g2v8Lx6Y=; b=Z/fA6JTLS0xoDLhJYNCJG4qEou/hEUn5Y2F0r3xTVrwn2Y5YukV4jFNOMierONhJZ4HKTh HH/WAnU8FHmTs8nVwFF5f1RWF44bk+VktuQJzTSV0RWF7fm2K5ZgzpnvkX+cJ9y+fM5fsA oN83QSi2L3iqEE3xScJgiYCr8lfryVSFBk0nRxZ/H+j1rUnd21YwhaKufc+DpGjwa7ymjb cLrhHrakI3GRh/RZXn5dxRl5EG8lisuiyimWS+zJAb++dECijubi+ZtifRDt7aUmzjorXJ 4bMrtCufoJpYmpgp53CwS7eXEH5U0s1Rk9NgSsoh1mDDIDJlyBczHPI7Pfywcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592473; a=rsa-sha256; cv=none; b=WOPyLMPRyE7gaxvDdjZCyJYbH1ZkDiOifhOqzUpqVr2KyGl3P7nBCbwJzCpj1HmG1Lxx0U UwZAg9XQwfC0N187EzKYD/Ho158VthAyWvAuVjZpNdKNkRWgYhsU74060DePluV/kCtMmc M2AVu0eVSgQ6030zW+KzX0kUDu0RXXzWyzum++HrJf8oKjI1dtkiflSmFBb9IM4w1n0JKp uBX4gMOJRgkRklAc1hJxDAgK71d9gQzJg5uEHdekKrR6i5wPrIrXeAhFh+2UJLvoWAu5ho L1EADcMiY+N2IhpN2Wu4lZoPMyHFrc1h76AJEYYavuqppM68lZQbKytkZG+6MQ== 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 4dt9Fj5MwWzCVw for ; Fri, 16 Jan 2026 19:41:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca5a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: b0497fabb9d4 - stable/14 - LinuxKPI: add three skeleton functions to etherdevice.h 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b0497fabb9d462fa3b9e443188c7dd98b8dbc1b0 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:13 +0000 Message-Id: <696a9459.ca5a.71ce84e2@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b0497fabb9d462fa3b9e443188c7dd98b8dbc1b0 commit b0497fabb9d462fa3b9e443188c7dd98b8dbc1b0 Author: Bjoern A. Zeeb AuthorDate: 2025-10-11 09:22:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:51 +0000 LinuxKPI: add three skeleton functions to etherdevice.h We will see how much we will need them and how to fill them at that point. They are left with a pr_debug("TODO") for now. Differential Revision: https://reviews.freebsd.org/D53204 (cherry picked from commit cc792250acadd29e80a69501ad326d1340c0c1c6) (cherry picked from commit 805038b70a23f3f488ecba6e103f2aa1f9dad63c) --- .../linuxkpi/common/include/linux/etherdevice.h | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/etherdevice.h b/sys/compat/linuxkpi/common/include/linux/etherdevice.h index 1f2d6cf22d7e..b9a4951de8ac 100644 --- a/sys/compat/linuxkpi/common/include/linux/etherdevice.h +++ b/sys/compat/linuxkpi/common/include/linux/etherdevice.h @@ -27,6 +27,8 @@ #include #include +#include +#include #include #include @@ -137,4 +139,25 @@ device_get_mac_address(struct device *dev, char *dst) return (-ENOENT); } +/* Returns network byte order. */ +static inline uint16_t +eth_type_trans(struct sk_buff *skb, struct net_device *dev) +{ + pr_debug("%s: TODO\n", __func__); + return (htons(ETHERTYPE_8023)); +} + +static inline void +eth_hw_addr_set(struct net_device *dev, const u8 *addr) +{ + pr_debug("%s: TODO (if we want to)\n", __func__); +} + +static inline int +eth_platform_get_mac_address(struct device *dev __unused, u8 *addr __unused) +{ + pr_debug("%s: TODO\n", __func__); + return (-ENODEV); +} + #endif /* _LINUXKPI_LINUX_ETHERDEVICE_H_ */ From nobody Fri Jan 16 19:41:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fh4DG6z6NlY5 for ; Fri, 16 Jan 2026 19:41: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 4dt9Fg4mHTz3xfb for ; Fri, 16 Jan 2026 19:41:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8kRmRIPXPpWcQ24dTc8YQT5uRbYU1kqKxs4c6eiYwwg=; b=LNzgnO5tFtybWOGdKtFL1Ity8B03kZ8XIJHyDJmQQ6h4glUyaDmPJw9TEizIx4CC8nH3V7 ns0QPor0215lSJMlhK+KwBxQ5wHGA8hc+wXQJYcqp8sb+Eh964p24Lmx86deS46Nj9rVNL PW5vovhYjgA198EWcEzLi5//rIMrlBVgmYzVLOfRMycGavcR4cHPUvhSSOWKMwohmrkMPH WVNRjz6TQsOz/ebuGcrZvrBznILtDzVte7kLg6urTk63TqQXHt7jeIFa/u/kEo7fTZqlNq EtkbJAWZbXSH1dCaPjlU2Bg1clnn9bM70dhX23ap9CSXHhJLiaoYAWg4yhRSPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8kRmRIPXPpWcQ24dTc8YQT5uRbYU1kqKxs4c6eiYwwg=; b=r6cz6kwdvfY7E8PnY4X+RDllegDWGNSeqvwufBqQ57sgE9858+iC0UYYNOiglx3J+IKYoN oPgQxuAdoC8LQyII7EcwSWibhE6WEZgyhH0Xt8g9HbEnmRE86PJpFKziqugnYt8EO9C2kO x1ylGkhm1/6AYFJVncRZC9++sbCOzDx/+2LQTcyFDxtaZX3g4FhfDwJZJwphlP2n4D8UYM pb/7VpeIDynsvwLZ2/yJ+WYF6ohsJI4fBWLOS6oFowqJVR2+pqvW0LqQ8SJIZVVDGoxPf7 pSKmjnSHoVsHzKJP+QTx/4/vvkrP3sVmZ5JwJmSUZnXhon2YRI79ZSov1db23Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592471; a=rsa-sha256; cv=none; b=r6MpXNWh36jZhEvasrn6J+hjm32Ub9yFaCrK9fZGZFsS8WK3Xm+Zy06LNqyNNMRMH6SZtL lqwoxQ5CLF2uPANXaqhebW8DjNnpQxwAdGJPC26kxq9LYS2mRXCkO+W2XPC8CGtQCqdCJW O6GFnNZesWgAKM5nO/XUXFByMYtCwEh8glqa699uH509/SLn+he9yPm+SbI6Pkc6Ha6q/9 2qpftzGIepmInTCUSLDFQzlXWstmTsa9ifVd7FulvyFjyrsdYwyznJK0u2F4cIp1EK1OoD TKeKX1yhQtbsjDtdH3Hml4Jd3LHDbAdrsYP7kqe1BNSOU1Vp75D6IvCixa2Sgg== 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 4dt9Fg4HDBzCVv for ; Fri, 16 Jan 2026 19:41:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id da27 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 710bc041bb13 - stable/14 - igc(4): also build module on aarch64 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 710bc041bb138e8a24c71fbb970d6c54106ef84d Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:11 +0000 Message-Id: <696a9457.da27.aa5a698@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=710bc041bb138e8a24c71fbb970d6c54106ef84d commit 710bc041bb138e8a24c71fbb970d6c54106ef84d Author: Bjoern A. Zeeb AuthorDate: 2025-10-17 12:56:43 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:51 +0000 igc(4): also build module on aarch64 igc(4) seems to work fine on arm64 for as much as I could test with a 2.5Gbit/s interface on a mPCIe card. Enable the module build so it is available. (cherry picked from commit 51fbeadac4ccce6aafe51be9377d4114321295e5) (cherry picked from commit 2c345e94ae0048ecec577ab52bc81510365038d0) --- sys/modules/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 3f8fb2351425..cca51592c7ca 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -566,6 +566,7 @@ _mlx5ib= mlx5ib ${MACHINE_CPUARCH} == "i386" _ena= ena _gve= gve +_igc= igc _iwlwifi= iwlwifi _rtw88= rtw88 .if ${MK_SOURCELESS_UCODE} != "no" @@ -729,7 +730,6 @@ _et= et _ftgpio= ftgpio _ftwd= ftwd _exca= exca -_igc= igc _io= io _itwd= itwd _ix= ix From nobody Fri Jan 16 19:41:15 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fm6H8jz6NlYG for ; Fri, 16 Jan 2026 19:41: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 4dt9Fl6t8zz3xcv for ; Fri, 16 Jan 2026 19:41:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dge+F8llBnMCnv11Oz5MjidBRDjRPBvfe1N96MNIu/o=; b=mzJaqTv2hvdpZv6a/7lEl3hv7LqVwYbhXskwapJ+5qwlpxO4nmwDnm4BtPMqEJ0vfUANxR KbblEPiBgNSYq4K2b6XfM16t+nyh5j63MRnvu3cyYc64Z6XOlbM6kZ0qYcCDCkipRZSKTQ PDIjYK8px/9XywvxbGJe8Og/ygGFf/zlEB0/fSEe5VqDuJmEHSnfKghIlKluTvuaXBc2OM fVhKozc6eFVxd67U3iulJRDzKdPdWnDyUDqJgIwcnmx0T2KqMRsEXOjiO9RtrALv89AFmx HJp9hYM/zyQw9dC7TPGQ8itHB5OCmJ9TDSMTd8d7zIHzo+eYpTlGjSeU76GNXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dge+F8llBnMCnv11Oz5MjidBRDjRPBvfe1N96MNIu/o=; b=EgJLYhceTh/IWdwIIE2cV7XwR1qddiR2BVaMWdKCKb9VCJBvRlcBSZk01uAhAejMBkB6yt nov7fJGXN9c9+D1n9twEuwquBmSxHNHTiMvzfDDr0F60I0ECjouYfqfvx8Sys1qLnXYJUZ Kxav13e8vZC5On7JddhCzQD12C8D5DEjtTRJBj5o91b7yCM/uOY7eXLM/EM0836IWyCYPZ Qo6FyaugWMjdJs9lTTNSs0SS2uc1UMzKP0HSzk2xjrRulBQwhuIRt0ieDu7c6XHag5QHE8 drnGRLaZLDFEAWanFwL69MgzVV2AbpO66yT24TrzTOaSfQyYMpieggCeo1CvwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592476; a=rsa-sha256; cv=none; b=MZTLE5E8Kt9FilJsZKzVRv0esmjfr+bPiFNdA1jzx+mWI/vxKQ0ZmOUZ3nRFkEY2rQApci NOebJMk8Tq2GTRYrtXizkFWJ/2XRquo1/pFbMDiym2u6EMMHkJ0QlHMGUAEHnL0PQbkieh k10qFmYo2cV93tXiXipW5KfWJuJAXRZBtoPnUskQ7aex90lOSPprL5d7bD7pwinyiP6Qb4 aTcUWkE41cO8oLAGHPmRpBHCf2uVmnBDkWagYF1kTRqYe3qczjnD0tyZykSePaTSLsv/kB 1oQz67rAtpzo3+N29+nM+cpWIw4RJgDCsfG+X6uONA2CT8JIarFKYs+FeLlUyQ== 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 4dt9Fl6QsmzCKN for ; Fri, 16 Jan 2026 19:41:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e018 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 6248a6554547 - stable/14 - LinuxKPI: add fips.h 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6248a65545474b0e534ddcf97959205f133ac2de Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:15 +0000 Message-Id: <696a945b.e018.139b91c8@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6248a65545474b0e534ddcf97959205f133ac2de commit 6248a65545474b0e534ddcf97959205f133ac2de Author: Bjoern A. Zeeb AuthorDate: 2025-10-17 19:34:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:52 +0000 LinuxKPI: add fips.h We do not currently aim to support crypto FIPS compliance in LinuxKPI so keep this turned off. Reviewed by: emaste, dumbbell Differential Revision: https://reviews.freebsd.org/D53207 (cherry picked from commit 98609f4fecffd0e70293ddd57c2b785e498b1131) (cherry picked from commit 3aaaba20786966062d1355d4809142b623ffc4b7) --- sys/compat/linuxkpi/common/include/linux/fips.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/fips.h b/sys/compat/linuxkpi/common/include/linux/fips.h new file mode 100644 index 000000000000..25c0c1fc1fa0 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/linux/fips.h @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2025 Bjoern A. Zeeb + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _LINUXKPI_LINUX_FIPS_H +#define _LINUXKPI_LINUX_FIPS_H + +#define fips_enabled 0 + +#endif /* _LINUXKPI_LINUX_FIPS_H */ From nobody Fri Jan 16 19:41:18 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fp3nW3z6Nlbn for ; Fri, 16 Jan 2026 19:41:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fp1SXyz3xtb for ; Fri, 16 Jan 2026 19:41:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gs19DU8omei3ae8U4DWcDymwG4Jzf38nwNbCEgshibM=; b=fWFSK8BGgUtqaOiSk1+BI8yB69qetOoiTVuJa8HoXUHQfn7RVTOdLz4fSixxrALYKp9Xs4 y/vfu8B/7eUdnhoT4wjkkfhilq34LvDn6Ao9yn565lctR3Jpnn5c6L5d08KKd8eUMv8rHY ERHaw07/eDE/G8ckoJ0dzSDJTLvpJOBcdlqnwCBRVV/bWmo0iSKziGcNwdx16WDiQezY7L Cv2r3nZSs7i0NyzVu4XZzGUe/vpI+3+9Sbl+B08D8+jm9p1aX5haySi5RKmv1vMZjd2CfA c0JlTK64QsjCCK21sfanbLLJ+79baYeQ1JEIgJX6ZI7ZjMn9xYIv/5c/e/kXHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gs19DU8omei3ae8U4DWcDymwG4Jzf38nwNbCEgshibM=; b=ZJ3wRNkYlI+2C/Ctk9uheEO1IUTd1669uH+xCAHMi0S1Ba+4RVqwBtT3BgiuNlltZDPEcD 88kkJtqkmS8UNXBxlZLRTpEopAGzSoVQ4NMiE3ffUBLQlfjbbjgy+Opv2OS3xrEVkACrmJ mO2ZyKVQqe3fCEbSnuVkI2Na6zhZ8b7/4V7Ayk2ezJDi8NA3DhVgoA67zDQsb2XsdYULHz gyIxuAaf1P8QgUyhSXgKuesEmqonpgYtIkkNjCcZQgEpkGsyB/N94ro/anguE0wqQwlHIs 8ou3px16FYZjcaR4ayc8IDZis4bF7SXqgLZmHfQk6+oT6RUONjA60Vm9GwL9Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592478; a=rsa-sha256; cv=none; b=Dpq5rSfhg30B3kkx6XPR6u9ZDMlLvMUGOZrPub7Deuei/itU/42oagXiLme0FdEc4+3FtI jfpHvAwdRB80LT7rSPsY0Yvk0pBpE9hon7oxqlzh9VzbsLetYJhUddwwdErnsKUh/Hx2X9 WH7Mwgr1S8cafxyA5PYEIrkXwkn8s7SbFMqAC9l/lvfQ9MK+RjzH1ekmJnJCCQxHob28g4 1k3jM+FdM/e4+p2/HR5PNsmd25Ep6w1UZF7XK/o37+KVfoRACXxFeyYB5sIUJODWwql0b2 ULocsWrsiLLj1WyrVZcn0aPxDvZLb4npLexORKxI3570jnodQNc0HeFXUu/efw== 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 4dt9Fp0rnhzCKP for ; Fri, 16 Jan 2026 19:41:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb6c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 26d5278eaee0 - stable/14 - LinuxKPI: page_pool headers moved; add netmem.h 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 26d5278eaee0025a0a24c3860fc58fd2be26c7d9 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:18 +0000 Message-Id: <696a945e.bb6c.180d6a11@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=26d5278eaee0025a0a24c3860fc58fd2be26c7d9 commit 26d5278eaee0025a0a24c3860fc58fd2be26c7d9 Author: Bjoern A. Zeeb AuthorDate: 2025-10-19 22:57:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:52 +0000 LinuxKPI: page_pool headers moved; add netmem.h page_pool headers were not used yet; they were created for mt76 but are without functionality. Upstream has migrated them for v6.17 and split them up into multiple files. Also add netmem.h which the little needed is directly related to page pools. (cherry picked from commit 7c31cdfa408a4ebce7a3e10d29056a15c28bc092) (cherry picked from commit d388ff8016adf0f24b9b846941f1f15f5463c49e) --- sys/compat/linuxkpi/common/include/net/netmem.h | 21 ++++ sys/compat/linuxkpi/common/include/net/page_pool.h | 119 --------------------- .../common/include/net/page_pool/helpers.h | 79 ++++++++++++++ .../linuxkpi/common/include/net/page_pool/types.h | 36 +++++++ 4 files changed, 136 insertions(+), 119 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/netmem.h b/sys/compat/linuxkpi/common/include/net/netmem.h new file mode 100644 index 000000000000..c8de09a2e8c2 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/net/netmem.h @@ -0,0 +1,21 @@ +/*- + * Copyright (c) 2023-2025 Bjoern A. Zeeb + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _LINUXKPI_NET_NETMEM_H +#define _LINUXKPI_NET_NETMEM_H + +struct page_pool; + +struct netmem_desc { + struct page_pool *pp; +}; + +#define pp_page_to_nmdesc(page) \ + (_Generic((page), \ + const struct page *: (const struct netmem_desc *)(page), \ + struct page *: (struct netmem_desc *)(page))) + +#endif /* _LINUXKPI_NET_NETMEM_H */ diff --git a/sys/compat/linuxkpi/common/include/net/page_pool.h b/sys/compat/linuxkpi/common/include/net/page_pool.h deleted file mode 100644 index 2dc8f74b31f3..000000000000 --- a/sys/compat/linuxkpi/common/include/net/page_pool.h +++ /dev/null @@ -1,119 +0,0 @@ -/*- - * Copyright (c) 2023 Bjoern A. Zeeb - * - * 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. - */ - -#ifndef _LINUXKPI_NET_PAGE_POOL_H -#define _LINUXKPI_NET_PAGE_POOL_H - -#include /* pr_debug */ -#include -#include -#include - -struct device; - -struct page_pool_params { - struct device *dev; - uint32_t flags; - uint32_t order; - uint32_t pool_size; - uint32_t max_len; - uint32_t offset; - int nid; /* NUMA */ - enum dma_data_direction dma_dir; - struct napi_struct *napi; -}; - -struct page_pool { -}; - -#define PP_FLAG_DMA_MAP BIT(0) -#define PP_FLAG_DMA_SYNC_DEV BIT(1) -#define PP_FLAG_PAGE_FRAG BIT(2) - -static inline struct page_pool * -page_pool_create(const struct page_pool_params *ppparams) -{ - - pr_debug("%s: TODO\n", __func__); - return (NULL); -} - -static inline void -page_pool_destroy(struct page_pool *ppool) -{ - - pr_debug("%s: TODO\n", __func__); -} - -static inline struct page * -page_pool_dev_alloc_frag(struct page_pool *ppool, uint32_t *offset, - size_t size) -{ - - pr_debug("%s: TODO\n", __func__); - return (NULL); -} - -static inline dma_addr_t -page_pool_get_dma_addr(struct page *page) -{ - - pr_debug("%s: TODO\n", __func__); - return (0); -} - -static inline enum dma_data_direction -page_pool_get_dma_dir(const struct page_pool *ppool) -{ - - pr_debug("%s: TODO\n", __func__); - return (DMA_BIDIRECTIONAL); -} - -static inline void -page_pool_put_full_page(struct page_pool *ppool, struct page *page, - bool allow_direct) -{ - - pr_debug("%s: TODO\n", __func__); -} - -static inline int -page_pool_ethtool_stats_get_count(void) -{ - - pr_debug("%s: TODO\n", __func__); - return (0); -} - -static inline uint8_t * -page_pool_ethtool_stats_get_strings(uint8_t *x) -{ - - pr_debug("%s: TODO\n", __func__); - return (x); -} - -#endif /* _LINUXKPI_NET_PAGE_POOL_H */ diff --git a/sys/compat/linuxkpi/common/include/net/page_pool/helpers.h b/sys/compat/linuxkpi/common/include/net/page_pool/helpers.h new file mode 100644 index 000000000000..3469c39c7757 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/net/page_pool/helpers.h @@ -0,0 +1,79 @@ +/*- + * Copyright (c) 2023-2025 Bjoern A. Zeeb + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _LINUXKPI_NET_PAGE_POOL_HELPERS_H +#define _LINUXKPI_NET_PAGE_POOL_HELPERS_H + +#include /* pr_debug */ +#include +#include +#include + +static inline struct page_pool * +page_pool_create(const struct page_pool_params *ppparams) +{ + + pr_debug("%s: TODO\n", __func__); + return (NULL); +} + +static inline void +page_pool_destroy(struct page_pool *ppool) +{ + + pr_debug("%s: TODO\n", __func__); +} + +static inline struct page * +page_pool_dev_alloc_frag(struct page_pool *ppool, uint32_t *offset, + size_t size) +{ + + pr_debug("%s: TODO\n", __func__); + return (NULL); +} + +static inline dma_addr_t +page_pool_get_dma_addr(struct page *page) +{ + + pr_debug("%s: TODO\n", __func__); + return (0); +} + +static inline enum dma_data_direction +page_pool_get_dma_dir(const struct page_pool *ppool) +{ + + pr_debug("%s: TODO\n", __func__); + return (DMA_BIDIRECTIONAL); +} + +static inline void +page_pool_put_full_page(struct page_pool *ppool, struct page *page, + bool allow_direct) +{ + + pr_debug("%s: TODO\n", __func__); +} + +static inline int +page_pool_ethtool_stats_get_count(void) +{ + + pr_debug("%s: TODO\n", __func__); + return (0); +} + +static inline uint8_t * +page_pool_ethtool_stats_get_strings(uint8_t *x) +{ + + pr_debug("%s: TODO\n", __func__); + return (x); +} + +#endif /* _LINUXKPI_NET_PAGE_POOL_HELPERS_H */ diff --git a/sys/compat/linuxkpi/common/include/net/page_pool/types.h b/sys/compat/linuxkpi/common/include/net/page_pool/types.h new file mode 100644 index 000000000000..6747be50b9b2 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/net/page_pool/types.h @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2023-2025 Bjoern A. Zeeb + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _LINUXKPI_NET_PAGE_POOL_TYPES_H +#define _LINUXKPI_NET_PAGE_POOL_TYPES_H + +#include +#include +#include + +struct device; +struct napi_struct; + +struct page_pool_params { + struct device *dev; + uint32_t flags; + uint32_t order; + uint32_t pool_size; + uint32_t max_len; + uint32_t offset; + int nid; /* NUMA */ + enum dma_data_direction dma_dir; + struct napi_struct *napi; +}; + +struct page_pool { +}; + +#define PP_FLAG_DMA_MAP BIT(0) +#define PP_FLAG_DMA_SYNC_DEV BIT(1) +#define PP_FLAG_PAGE_FRAG BIT(2) + +#endif /* _LINUXKPI_NET_PAGE_POOL_TYPES_H */ From nobody Fri Jan 16 19:41:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fl4Qh0z6NlYF for ; Fri, 16 Jan 2026 19:41:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fk6Zdnz3xcn for ; Fri, 16 Jan 2026 19:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0j5aCfnX2MIj44rVkIzM2U0edIWy9dlUqw8hFL0OWQ=; b=Vcat/aGSrZHiDM8w7NATIe0dCjBIrBEXXBNbs0HDHgLVqwxfntjkCs+rE/HXXSOJg3LTWD ndWpW5dbLhexc1/sGu4lrc/3DqpzotaJUklQ7K4PthjeKeBldZVV/kp7NmyWFCOpJmUrEI MUV7If8mD7DNPmj88N5jkg/Ix+yalaFjf90mJ8zFEWkLNiDo8ouw6pL4ioaN6ZMsC2VDbC u9PFliIm534UxyJqicADy90fkdPdgDZd2j2cvFLp5TuzpmHsOXesXXRFQX3nqkah7+13In SL9b8u3GQfb/aC62gzaqYNEbSywvDrX+zJEiKr49ZN73nfTp5Uf6nCtcZeLGaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592475; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0j5aCfnX2MIj44rVkIzM2U0edIWy9dlUqw8hFL0OWQ=; b=nKG06Zm7bXo1ibC3aUS7l1RCIQiV40jf18CdB/4IrsxOdULcLfYtWns3ZIcsQGJSqPxWjL flddWkcGz3lxAHSK19B23KjzlrMkLP59rXNKoAeRjdeO9WjzFs9X2DeJUn7RiNx8zvWgZT z8rfDcPpR7YEuMskMp4MuyLy5YLJxkLFqA/zelDYb+SRsFBGrHuoJCFzRB86T8iRp9wGUI AjfV+5v2W9p2u/oNN7pzsb48eZRcHJe/j+9Nhoa1nRWNKPmyhMkSYsv0337fj6QEmjSpTK LK6jiw/B1Gja6EdKpy8/pMjA5cHHTciFQ99/R06urrGnEQfoFRXBoAI2Hqi6nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592475; a=rsa-sha256; cv=none; b=oBhlkT6higfYh7kiLSwpHK0UIs4/wsv9fKjLFaRx0XEBFqdAzsYRDxBDup/Tkt9NsuDETM yN6UwYBd6VgYNayoGqjUGgAwDhnv5Qs7LRybslurj39sXCs6buywrZefPOOGZFsDVWJv3S RP0hqhywrGQqHFr4RTwk06HqxYQY6nNAsgDcHiNChvxPJkrcBr1HJKqmzy1W2noAR2Exik x2wCC40vg8SxP4P7CmRR9jhl1xkectdTCk/FUrbX7mamCFHXKhI/JKo0d4rCn7j8+EtW1Q L3G8GQC4Mh/I/qwR+NTj5nKsSU2GCbPtIYNuJu9YVNvQrb5wybSuhpaivDcDvg== 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 4dt9Fk66TXzCM6 for ; Fri, 16 Jan 2026 19:41:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e014 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4c27dfb166f1 - stable/14 - LinuxKPI: platform_device return type change 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4c27dfb166f12bf27cd25a52442f4aa744c513e6 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:14 +0000 Message-Id: <696a945a.e014.30512d3c@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4c27dfb166f12bf27cd25a52442f4aa744c513e6 commit 4c27dfb166f12bf27cd25a52442f4aa744c513e6 Author: Bjoern A. Zeeb AuthorDate: 2025-10-11 09:24:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:52 +0000 LinuxKPI: platform_device return type change The return type now is void; I believe no one ever used this so we can just chnage it. The only active platform_driver_register() calls seems to be in ath1[01]k and mt76 and there in unsupported code. Reviewed by: dumbbell, emaste Differential Revision: https://reviews.freebsd.org/D53205 (cherry picked from commit 0ae4998423e0d513fb88e404dfb1c2a285d11309) (cherry picked from commit 5434a1635ed3fab8214f3fea8ada9772e4372372) --- sys/compat/linuxkpi/common/include/linux/platform_device.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/platform_device.h b/sys/compat/linuxkpi/common/include/linux/platform_device.h index 6853e709cb70..dba79f5936cc 100644 --- a/sys/compat/linuxkpi/common/include/linux/platform_device.h +++ b/sys/compat/linuxkpi/common/include/linux/platform_device.h @@ -39,7 +39,7 @@ struct platform_device { }; struct platform_driver { - int (*remove)(struct platform_device *); + void (*remove)(struct platform_device *); struct device_driver driver; }; From nobody Fri Jan 16 19:41:17 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fn3JL6z6Nlkr for ; Fri, 16 Jan 2026 19:41:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fn0cD8z3xnM for ; Fri, 16 Jan 2026 19:41:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z24bsi/j5xNlgBxwyFTHb13zO/LG7fgcjf+y3sMYVWg=; b=pIRmuwxLIdzW9o+nSr0AzjRFEpTTYknVTYKAV3I/kcQOZiXsceTjAjeOReSHNYtSwiRjZO trTaPy+st9gnY9w0/qFpKc8WscYEwnKfYd+h2pcsY+fClu3dsk6zSpEmhUd0yEt0s9gnDB sBP03MLJY0R11G4N9dZUowg6Wfo7jEnQn3pPCUkmFfN2XQTUr/sGcYbvfF9ULpKl7/uzcJ J5jBhjH1N4gX+ZwMdFyBtfx2ZVi8k3EnlgVOu6TPSrq0MU4SwNkrozLUTBaBVeQKmNk4DH Q26ClR0IXnhrrQFsqHbmR8aeocFQSq7qOPT/p4sHDDIR6Vxe+bgGdZnlKdWCow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z24bsi/j5xNlgBxwyFTHb13zO/LG7fgcjf+y3sMYVWg=; b=EdsBzFct9j9CKHYu+MPhK3MGufeVJLzEectTn8yl+Lyxx+pE4DVZ4zp/NQLwCuPxuUspJM v5F5FiIdW5yH2tf+qmUJuTZ7v12hlF2ii8sj5ERO+jL5IbdX2OMUc6BOuI2G5uqRijMpBy i1c+QmHFIqctKoaGpphtJv4qy9qDfiELa8vKgc6Rh/jaMRmJlZcRFNXmqvJsiwR9quMLd7 pKyLsjb7Akka4gpqKCodGOddEX+gXxwEBtVExFD9LHVQArDvI7DpgS6mpoclygGOy20Wow D17VlsnKeVSo77UyRpT4RsAfqqPdyMpI0H3QDGGE+nQEydvQjifOjHKXphJmCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592477; a=rsa-sha256; cv=none; b=NZcC05aFzMDvZx6ss+bkQIWjHNdCOeRsLa+/p+GYrR/iG5/Df3pHeip+Ky53PSxChx/fWu 8WzSoTSa0g1eofKyJDbOIyuPBFehI02YkI29bsqtfLGrsFi3x+e5xQsWzOiLAjwd8bcmtA nXWCPpVWDUt8KBwe5jRd9Ezpy0a8n3XCbvqhww7UDeFwYTYeyCzixWlGeH+RMGHffxgz2u uxMGazpcWqSg+4NMEw9pc+BLDDaoE2uFA8yB0ki4xnvC9V8FOUBUFM/7kB13IFg825uABA OaEsHKG0K1DPckC5nMd6rt+79qAbSPeytWHEGmDeVDN7pdGJ/d9mqFNOPuAA0w== 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 4dt9Fn03tGzCM9 for ; Fri, 16 Jan 2026 19:41:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id c850 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 1f9ca940c1ba - stable/14 - LinuxKPI: add skeleton pci_enable_wake() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1f9ca940c1ba1e27b3dbd62d8dd6384cd7c4c8c1 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:17 +0000 Message-Id: <696a945d.c850.59a05f02@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1f9ca940c1ba1e27b3dbd62d8dd6384cd7c4c8c1 commit 1f9ca940c1ba1e27b3dbd62d8dd6384cd7c4c8c1 Author: Bjoern A. Zeeb AuthorDate: 2025-10-17 20:38:11 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:52 +0000 LinuxKPI: add skeleton pci_enable_wake() Given we do not yet support "wake" bits in device there is little need doing it in PCI if we cannot check if we are supposed to do the operation in first place. Once we would implement this, we would need to also do the appropriate PCI (pme) checks before enabling (disabling) it. Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D53208 (cherry picked from commit 885e8f272f7515b0325974de72d18b73318eff07) (cherry picked from commit be52a81be07997f84f454637372a056415f6a2eb) --- sys/compat/linuxkpi/common/include/linux/pci.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index da0a713dbee8..381ad65febe5 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -810,6 +810,19 @@ lkpi_pci_restore_state(struct pci_dev *pdev) #define pci_save_state(dev) lkpi_pci_save_state(dev) #define pci_restore_state(dev) lkpi_pci_restore_state(dev) +static inline int +linuxkpi_pci_enable_wake(struct pci_dev *pdev, pci_power_t state, bool ena) +{ + /* + * We do not currently support this in device.h either to + * check if the device is allowed to wake up in first place. + */ + pr_debug("%s: TODO\n", __func__); + return (0); +} +#define pci_enable_wake(dev, state, ena) \ + linuxkpi_pci_enable_wake(dev, state, ena) + static inline int pci_reset_function(struct pci_dev *pdev) { From nobody Fri Jan 16 19:41:20 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fr6N5Dz6NlnM for ; Fri, 16 Jan 2026 19:41: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 4dt9Fr2qK3z3xkG for ; Fri, 16 Jan 2026 19:41:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8oATvAZwiNnr9CPqthkDQrQ1hK6mMvCPRay0QPVFzw8=; b=YXT+VQZfRy4ebsbKz+UOEaXUeYWQQsHOt50l+1ATS5yCK2K9ufmj9Kwv/LS8Oq1hEpeKKZ Fo0fTGwtn15KRYnCV7Gyh6vgXVf9PcnE+MANyzhGzVVNN0e5sL5q2uPc1ZJOOgOFsmCoSu +72ZFZgVzJSJW6lCzzjcOLCwNM+TrbXVV/VlnJiZIgTT9uKcgCoC2av0fJ32gFqOpbYxIy cSOeWvT9reK84cboK0vjdMWUeVXNvw3fYkimcBPlUN3t53Lj5x19kO8RIajeTMqoqfeQSv HyZTyK6ok7A78WChhs9DE33q81p94zs4Efnm4HkAfcDiCN5mYB4LSe2OpcD8uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592480; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8oATvAZwiNnr9CPqthkDQrQ1hK6mMvCPRay0QPVFzw8=; b=JZ6PZ3GYx5PnGvtNEw78kiuNKprEVLazYgoS9QQ0n19rxqOBVkbzgkHVtUK/6IIH8XyoyO ie28TNi+yXpBkJZoy2+rGbYhYZJF4fJbO2hq5ke90s8/zwqoaA8W1t0n61ig7HZRP7eZeO i/PiGv6wpt2rhajJOcKaOKHOMBbjvjs6bsV95zK0/zD0y0XINaLgaXfeq+qp0FKfVqN6lE VB6hUs04QmdmxsnlDbP+EvdvOmsUIDOBWgAO5LeqtRaqbEmndRSSzEwMOWQGVcJnz9g1YD fc7MLYaqto1F0x1cne8PHqPm1xtbiqSjYt0rtZXuVL1VgvY9tDkUgP4ULJkZIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592480; a=rsa-sha256; cv=none; b=B/PhOXkqlzqV7IkXXjlR7ib+NHqEFDR9yFFXl0hWQ4s6UAXY5CARdK7M2wwwuZPhiQkbJ/ +ltH6elrnkSCowo123RpDGT6N+Q0ELTp8q4DzlhwBNWtAAE6KFScbCe1F+nNxakm9KuoDQ i+T8f8qKotjEs7KCjqmTbw/W8rKxCe+5WF/ZSqLTTig6pww4nqPw9Ezjw/V5c5l5qIdyIa z7JrarSpbViHIB6l/Eg+AYGwT+KRASeWqk+LPUoYtR9vj/O3F8q53bNpfuvMysyVkfgALf hbGMZy/oa8d5B6QmDg94DBf/uebF8RkhARmfQsLh95HSBj1EFXpPqc6ppU8KIA== 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 4dt9Fr2GcvzCKR for ; Fri, 16 Jan 2026 19:41:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e094 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: efa6449e09da - stable/14 - LinuxKPI: skbuff: add a misplaced socket operation to skbuff.h for now 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: efa6449e09dae6a8ee2a111313f761c275dc5fc7 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:20 +0000 Message-Id: <696a9460.e094.7a4a61e2@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=efa6449e09dae6a8ee2a111313f761c275dc5fc7 commit efa6449e09dae6a8ee2a111313f761c275dc5fc7 Author: Bjoern A. Zeeb AuthorDate: 2025-10-11 09:25:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:53 +0000 LinuxKPI: skbuff: add a misplaced socket operation to skbuff.h for now This likely belongs in socket code which we do not have in LinuxKPI. Needed by a wirless driver at v6.17. (cherry picked from commit 88dbf83345feefa7181bd6df47786e1a8d1d304d) (cherry picked from commit 3ad05fa24a240011a8252140ff6431cb0b7879d9) --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 6e41c368a8b8..2e560a120e41 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1159,6 +1159,9 @@ skb_cow_head(struct sk_buff *skb, unsigned int headroom) return (-1); } +/* Misplaced here really but sock comes from skbuff. */ +#define sk_pacing_shift_update(sock, n) + #define SKB_WITH_OVERHEAD(_s) \ (_s) - ALIGN(sizeof(struct skb_shared_info), CACHE_LINE_SIZE) From nobody Fri Jan 16 19:41:19 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fq4F2Dz6Nlc1 for ; Fri, 16 Jan 2026 19:41: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 4dt9Fq1pRbz3y00 for ; Fri, 16 Jan 2026 19:41:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2qi8HIk+TkVnkyLAO0h5kOSsir0oEVkUCgWG3K8C1c=; b=mwMI8qAPpnRYWPjjPMT4ClisWaQzXPXsoJx5Ol3LSam3HxyG13Q+Xlfh65w0bf1Yho06DK UUMnJP5jGIP0Pr0kUaxp6rwIACtaSvIySsQoiL5YZcdhjvezre4VvBtCISYoYG0nj0LZjn CJa0Q5a8uWc99DiMC1nYeGUo/xZr0sJX8Vf9IV2M3/w/0jB//ExVZtyGgFyfCurAdkYelK E3ryPTKJvf1drgMZGJZOTSblrdqS2HRu5wqUvpNwwxojbhuBD88iepz0stUU5GhRn45o8O lo5FfdYbxnNrXqcLMo0C1aXOhcxUdzi0kuyOTz90jDTYMFZB6mGN6nKYmps0Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2qi8HIk+TkVnkyLAO0h5kOSsir0oEVkUCgWG3K8C1c=; b=osn1xNxIK4wAbYT04M2Yge02csXSA+iZlnmC83e7KjSfEAfJWkypYiLWg3nCaPykQw0m0T hhv7wqPmCZpIW+K/yPopA0CGA2BgNn4pRi4RptihimquOQVCgDXRYJmkjXbFAJpXM898xT 4pxdz2G8C3/bYVjEtvDPjF0BgBiFdGMGvrK/HkIZ4D7Gvo0sKcBNJFICgVOX/NDi9w8jL0 24w5HMInaLCZwBqQb2DBVWEloO34kGq2x090zKUAyWnZ/TUx/sNRPoUkXNx50W4jWEZw/H sgpSGVUQG2NaTq56Ox86hgG7axlutxId1my6UrqWyd+YfHKKizthQPevldhUHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592479; a=rsa-sha256; cv=none; b=eX8s2wv3RmodF5nV094oxGw7QBX/KGPrw2o8M4riMxB7TH4+Pq/jU7tmiaWPjH5VF1sOMP 9C5kGteq4ES4y5rRv91i7j/yN2rM7+yRfaz7Wac0fCzBKsWq6mJ4EHOuIaYmRVZicBUVqY D3CrBH+JtSIFsW4oCXQRdPzXEQNWaQiGwEKzJJK3msGHs8MCgc7HQl2kfksAJParsRhjWr kdYYESRC7etBiQyVyEFNNAAorEY8JFvnyxBd9+oWQJsAvLQGhjpegTR9tArPNJ+D8255Ee hpozyyqikBer8+wvPEI1/vpxLvxKAVOyTDqyE8l2PbwjeJpRy1l8NFFbU43DuQ== 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 4dt9Fq1Q2lzCbl for ; Fri, 16 Jan 2026 19:41:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de9e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: a75a58393b81 - stable/14 - LinuxKPI: soc/mediatek add pr_debug calls 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a75a58393b81a3a9d2c36eb7f5770d2b50d7ebee Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:19 +0000 Message-Id: <696a945f.de9e.2421990@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a75a58393b81a3a9d2c36eb7f5770d2b50d7ebee commit a75a58393b81a3a9d2c36eb7f5770d2b50d7ebee Author: Bjoern A. Zeeb AuthorDate: 2025-10-19 15:28:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:53 +0000 LinuxKPI: soc/mediatek add pr_debug calls We do not support Wireless Ethernet Dispatch (wed) on the mt76 (yet). Add pr_debug calls with TODO in case we run into the calls anyway so we could deal with them. (cherry picked from commit 224ac9d2a030f85924e44a507ddc412797c3fe87) (cherry picked from commit b9b571e6146a1b95ba18de065166a1a50eb88dfc) --- .../common/include/linux/soc/mediatek/mtk_wed.h | 46 +++++++--------------- 1 file changed, 15 insertions(+), 31 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h b/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h index 74038f0e7520..9f3a1ee4c139 100644 --- a/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h +++ b/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h @@ -1,53 +1,36 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2022-2023 Bjoern A. Zeeb - * - * 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. + * Copyright (c) 2022-2025 Bjoern A. Zeeb * - * 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. + * SPDX-License-Identifier: BSD-2-Clause */ #ifndef _LINUXKPI_LINUX_SOC_MEDIATEK_MTK_WED_H #define _LINUXKPI_LINUX_SOC_MEDIATEK_MTK_WED_H +#include /* pr_debug */ + struct mtk_wed_device { }; #define WED_WO_STA_REC 0x6 -#define mtk_wed_device_start(_dev, _mask) do { } while(0) -#define mtk_wed_device_detach(_dev) do { } while(0) +#define mtk_wed_device_start(_dev, _mask) do { pr_debug("%s: TODO\n", __func__); } while(0) +#define mtk_wed_device_detach(_dev) do { pr_debug("%s: TODO\n", __func__); } while(0) #define mtk_wed_device_irq_get(_dev, _mask) 0 -#define mtk_wed_device_irq_set_mask(_dev, _mask) do { } while(0) -#define mtk_wed_device_update_msg(_dev, _id, _msg, _len) (-ENODEV) -#define mtk_wed_device_dma_reset(_dev) do {} while (0) +#define mtk_wed_device_irq_set_mask(_dev, _mask) do { pr_debug("%s: TODO\n", __func__); } while(0) +#define mtk_wed_device_update_msg(_dev, _id, _msg, _len) ({ pr_debug("%s: TODO\n", __func__); -ENODEV; }) +#define mtk_wed_device_dma_reset(_dev) do { pr_debug("%s: TODO\n", __func__); } while (0) #define mtk_wed_device_ppe_check(_dev, _skb, _reason, _entry) \ - do {} while (0) -#define mtk_wed_device_stop(_dev) do { } while(0) -#define mtk_wed_device_start_hw_rro(_dev, _mask, _b) do { } while(0) + do { pr_debug("%s: TODO\n", __func__); } while (0) +#define mtk_wed_device_stop(_dev) do { pr_debug("%s: TODO\n", __func__); } while(0) +#define mtk_wed_device_start_hw_rro(_dev, _mask, _b) do { pr_debug("%s: TODO\n", __func__); } while(0) +#define mtk_wed_device_setup_tc(_dev, _ndev, _type, _tdata) ({ pr_debug("%s: TODO\n", __func__); -EOPNOTSUPP; }) static inline bool mtk_wed_device_active(struct mtk_wed_device *dev __unused) { + pr_debug("%s: TODO\n", __func__); return (false); } @@ -55,6 +38,7 @@ static inline bool mtk_wed_get_rx_capa(struct mtk_wed_device *dev __unused) { + pr_debug("%s: TODO\n", __func__); return (false); } From nobody Fri Jan 16 19:41:22 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fv0MlTz6NlsG for ; Fri, 16 Jan 2026 19:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Ft44Z7z3y0R for ; Fri, 16 Jan 2026 19:41:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nV6hdKiZwZclpURmpTDjj/udghMx/YKvw5GGZxbeEPQ=; b=FH7m0Hn3O7nESE+YXLEEikZXNM9sZIYvlDazyJywyiHPlUVfJ7TnS0a0fdvdYE7xd/xiSu VWvXPnw0QO1wH24JuxEHs8AAjEZZmXzWDtASZcRUV7VeIklvt1IpHHspv53xwX1GvTrnwS /cyBYQyt/ew+jJH5z5Ygio1jPpbk/dvSPrMhA4QcysUbkUX8pD7YlJ8ATX/CCze7Ws79dG Djk8zRuJz3R/LXJsObtbrmzpzUmO2K/PVHoXKFqJJGblRuYOWED/73is3lnsGPE8CdxDvS Uxn3EulOhyKyxBxTWsSi0Q5/BDfEh4NZxn1MWxS/9RwFE+ADxrNIpLR/xcMvZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nV6hdKiZwZclpURmpTDjj/udghMx/YKvw5GGZxbeEPQ=; b=qe1svBzxBnBLgMkwJnDK21pv3Lntqnr/wO7lI0FyVSCRS7ytGmBZws9a6Q5DzcVNWp+n94 RVdEtVD809MjtphOCT/0r59GCWj/bRM6wQFcYu8TX0XnpyD22qe9q5tk1Or6wBM+Fw2v00 uV8UGNYVXmNoe0JxZTiAeWbCkbXn1d4KzYrae5mIp3L7hhjs0OyCfgL1/KZAHuSoCvm9UW YFyjG2BAbQIlQbEpbJY3sTW9nTOCqHjiFZ9OXlsGO29mLkyl+aosFMJ42JBCX7xsgohmid dscmpaGchH4iuWio/GvIu/xFDViJ5Cj4Pjm7QNFYYJF+/4uV5CuzqLYp6BFZVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592482; a=rsa-sha256; cv=none; b=FVanr0kgoH0AnA74riSWOnBuU9jC7/dkbDFXMMyS2Yl3mg/CFu0EbLPXvRJgsOeYMl3jbQ jAdSb8RvM78abnnunjX9IiHWChNJEi9aLvZgGkoYdnm+fGFaStmEFpBsKG1o62gWDSZQAi scb4xP2vqrRDRD7ujXuhqrD8VSGFHrNZ6jrEQLG0wdULas7jspPlxEAIYRtyCv8/LdU90X EqMdxjWcwXrQ8HPK/iuabSH26fGPb5UUPlhxx5r9mSS81Si6teWN++uBq53EiKEsBikBAw 4qr52U1uGCNFisFqovSB4sqh3M09oDIn7bA+k0IPjkfP13aPW19/7fZqnRBMew== 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 4dt9Ft3WzfzC4Z for ; Fri, 16 Jan 2026 19:41:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cadf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 6b70b671b3c8 - stable/14 - LinuxKPI: 802.11: additions for Linux v6.17 based wireless drivers 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6b70b671b3c89678866a6d4979d214434c095186 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:22 +0000 Message-Id: <696a9462.cadf.42a21464@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6b70b671b3c89678866a6d4979d214434c095186 commit 6b70b671b3c89678866a6d4979d214434c095186 Author: Bjoern A. Zeeb AuthorDate: 2025-10-11 09:21:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:53 +0000 LinuxKPI: 802.11: additions for Linux v6.17 based wireless drivers This includes some type cleanups as well as some shuffling of structs and functions to sort dependencies out. Few new functions and defines as well as new struct members. Minor fixes to style and debug logging. This is the majority of changes. None of these should conflict with current in-tree drivers. The final bit of changes will come along with the driver updates adding an extra argument to function pointers. (cherry picked from commit 0567484734ad9732978e189ebed042f6320e2471) (cherry picked from commit f2b2d6c18a57abbedb14bf439ed5c69d648c47b6) --- .../linuxkpi/common/include/linux/ieee80211.h | 2 + sys/compat/linuxkpi/common/include/linux/nl80211.h | 10 + sys/compat/linuxkpi/common/include/net/cfg80211.h | 320 ++++++++++++++------- sys/compat/linuxkpi/common/include/net/mac80211.h | 37 +-- sys/compat/linuxkpi/common/src/linux_80211.c | 12 +- 5 files changed, 246 insertions(+), 135 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 33850359869f..cedc1896352f 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -312,6 +312,7 @@ enum ieee80211_ac_numbers { #define IEEE80211_MLD_CAP_OP_MAX_SIMUL_LINKS 0xf #define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP 0x0060 #define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP_SAME 1 +#define IEEE80211_MLD_CAP_OP_LINK_RECONF_SUPPORT 0x2000 struct ieee80211_mcs_info { uint8_t rx_mask[IEEE80211_HT_MCS_MASK_LEN]; @@ -365,6 +366,7 @@ enum ieee80211_chanctx_change_flags { IEEE80211_CHANCTX_CHANGE_CHANNEL = BIT(4), IEEE80211_CHANCTX_CHANGE_PUNCTURING = BIT(5), IEEE80211_CHANCTX_CHANGE_MIN_DEF = BIT(6), + IEEE80211_CHANCTX_CHANGE_AP = BIT(7), }; enum ieee80211_frame_release_type { diff --git a/sys/compat/linuxkpi/common/include/linux/nl80211.h b/sys/compat/linuxkpi/common/include/linux/nl80211.h index f3979d3a2abc..845ffec4bcba 100644 --- a/sys/compat/linuxkpi/common/include/linux/nl80211.h +++ b/sys/compat/linuxkpi/common/include/linux/nl80211.h @@ -50,6 +50,7 @@ enum nl80211_feature_flags { NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = BIT(15), NL80211_FEATURE_AP_SCAN = BIT(16), NL80211_FEATURE_ACTIVE_MONITOR = BIT(17), + NL80211_FEATURE_SAE = BIT(18), }; enum nl80211_pmsr_ftm_failure_flags { @@ -85,6 +86,7 @@ enum nl80211_reg_rule_flags { NL80211_RRF_NO_6GHZ_AFC_CLIENT = BIT(15), NL80211_RRF_PSD = BIT(16), NL80211_RRF_ALLOW_6GHZ_VLP_AP = BIT(17), + NL80211_RRF_ALLOW_20MHZ_ACTIVITY = BIT(18), }; #define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS|NL80211_RRF_NO_HT40PLUS) @@ -434,6 +436,14 @@ enum nl80211_hidden_ssid { NL80211_HIDDEN_SSID_NOT_IN_USE, }; +enum nl80211_external_auth_action { + NL80211_EXTERNAL_AUTH_START, +}; + +enum nl80211_rxmgmt_flags { + NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = BIT(1), +}; + #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 239b4a5ae7b8..f769cfdd4075 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -56,7 +56,7 @@ extern int linuxkpi_debug_80211; #define D80211_IMPROVE 0x2 #endif #define TODO(fmt, ...) if (linuxkpi_debug_80211 & D80211_TODO) \ - printf("%s:%d: XXX LKPI80211 TODO " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) + printf("%s:%d: XXX LKPI80211 TODO " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) #define IMPROVE(fmt, ...) if (linuxkpi_debug_80211 & D80211_IMPROVE) \ printf("%s:%d: XXX LKPI80211 IMPROVE " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) @@ -260,6 +260,19 @@ enum ieee80211_vht_opmode { IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT = 4, }; +struct cfg80211_bss_ies { + uint8_t *data; + size_t len; +}; + +struct cfg80211_bss { + /* XXX TODO */ + struct cfg80211_bss_ies *ies; + struct cfg80211_bss_ies *beacon_ies; + uint64_t ts_boottime; + int32_t signal; +}; + struct cfg80211_connect_resp_params { /* XXX TODO */ uint8_t *bssid; @@ -267,7 +280,13 @@ struct cfg80211_connect_resp_params { const uint8_t *resp_ie; uint32_t req_ie_len; uint32_t resp_ie_len; - int status; + int status; + struct { + const uint8_t *addr; + const uint8_t *bssid; + struct cfg80211_bss *bss; + uint16_t status; + } links[IEEE80211_MLD_MAX_NUM_LINKS]; }; struct cfg80211_inform_bss { @@ -284,19 +303,12 @@ struct cfg80211_roam_info { uint32_t req_ie_len; uint32_t resp_ie_len; struct linuxkpi_ieee80211_channel *channel; -}; - -struct cfg80211_bss_ies { - uint8_t *data; - size_t len; -}; - -struct cfg80211_bss { - /* XXX TODO */ - struct cfg80211_bss_ies *ies; - struct cfg80211_bss_ies *beacon_ies; - - int32_t signal; + struct { + const uint8_t *addr; + const uint8_t *bssid; + struct cfg80211_bss *bss; + struct linuxkpi_ieee80211_channel *channel; + } links[IEEE80211_MLD_MAX_NUM_LINKS]; }; struct cfg80211_chan_def { @@ -404,6 +416,7 @@ struct cfg80211_scan_request { bool no_cck; bool scan_6ghz; bool duration_mandatory; + bool first_part; int8_t tsf_report_link_id; uint16_t duration; uint32_t flags; @@ -463,6 +476,24 @@ struct cfg80211_beacon_data { uint32_t assocresp_ies_len; }; +struct cfg80211_ap_update { + /* XXX TODO */ + struct cfg80211_beacon_data beacon; +}; + +struct cfg80211_crypto_settings { + /* XXX TODO */ + enum nl80211_wpa_versions wpa_versions; + uint32_t cipher_group; /* WLAN_CIPHER_SUITE_* */ + uint32_t *akm_suites; + uint32_t *ciphers_pairwise; + const uint8_t *sae_pwd; + const uint8_t *psk; + int n_akm_suites; + int n_ciphers_pairwise; + int sae_pwd_len; +}; + struct cfg80211_ap_settings { /* XXX TODO */ int auth_type, beacon_interval, dtim_period, hidden_ssid, inactivity_timeout; @@ -470,6 +501,7 @@ struct cfg80211_ap_settings { size_t ssid_len; struct cfg80211_beacon_data beacon; struct cfg80211_chan_def chandef; + struct cfg80211_crypto_settings crypto; }; struct cfg80211_bss_selection { @@ -484,23 +516,12 @@ struct cfg80211_bss_selection { } param; }; -struct cfg80211_crypto { /* XXX made up name */ - /* XXX TODO */ - enum nl80211_wpa_versions wpa_versions; - uint32_t cipher_group; /* WLAN_CIPHER_SUITE_* */ - uint32_t *akm_suites; - uint32_t *ciphers_pairwise; - const uint8_t *sae_pwd; - const uint8_t *psk; - int n_akm_suites; - int n_ciphers_pairwise; - int sae_pwd_len; -}; - struct cfg80211_connect_params { /* XXX TODO */ struct linuxkpi_ieee80211_channel *channel; + struct linuxkpi_ieee80211_channel *channel_hint; uint8_t *bssid; + uint8_t *bssid_hint; const uint8_t *ie; const uint8_t *ssid; uint32_t ie_len; @@ -509,7 +530,7 @@ struct cfg80211_connect_params { uint32_t key_len; int auth_type, key_idx, privacy, want_1x; struct cfg80211_bss_selection bss_select; - struct cfg80211_crypto crypto; + struct cfg80211_crypto_settings crypto; }; enum bss_param_flags { /* Used as bitflags. XXX FIXME values? */ @@ -538,6 +559,14 @@ struct cfg80211_mgmt_tx_params { int wait; }; +struct cfg80211_external_auth_params { + uint8_t bssid[ETH_ALEN]; + uint16_t status; + enum nl80211_external_auth_action action; + unsigned int key_mgmt_suite; + struct cfg80211_ssid ssid; +}; + struct cfg80211_pmk_conf { /* XXX TODO */ const uint8_t *pmk; @@ -548,6 +577,8 @@ struct cfg80211_pmksa { /* XXX TODO */ const uint8_t *bssid; const uint8_t *pmkid; + const uint8_t *ssid; + size_t ssid_len; }; struct station_del_parameters { @@ -961,6 +992,27 @@ struct cfg80211_set_hw_timestamp { bool enable; }; +struct survey_info { /* net80211::struct ieee80211_channel_survey */ + /* TODO FIXME */ + uint32_t filled; +#define SURVEY_INFO_TIME 0x0001 +#define SURVEY_INFO_TIME_RX 0x0002 +#define SURVEY_INFO_TIME_SCAN 0x0004 +#define SURVEY_INFO_TIME_TX 0x0008 +#define SURVEY_INFO_TIME_BSS_RX 0x0010 +#define SURVEY_INFO_TIME_BUSY 0x0020 +#define SURVEY_INFO_IN_USE 0x0040 +#define SURVEY_INFO_NOISE_DBM 0x0080 + uint32_t noise; + uint64_t time; + uint64_t time_bss_rx; + uint64_t time_busy; + uint64_t time_rx; + uint64_t time_scan; + uint64_t time_tx; + struct linuxkpi_ieee80211_channel *channel; +}; + enum wiphy_vendor_cmd_need_flags { WIPHY_VENDOR_CMD_NEED_NETDEV = 0x01, WIPHY_VENDOR_CMD_NEED_RUNNING = 0x02, @@ -1118,49 +1170,53 @@ struct wireless_dev { struct cfg80211_ops { /* XXX TODO */ struct wireless_dev *(*add_virtual_intf)(struct wiphy *, const char *, unsigned char, enum nl80211_iftype, struct vif_params *); - int (*del_virtual_intf)(struct wiphy *, struct wireless_dev *); - s32 (*change_virtual_intf)(struct wiphy *, struct net_device *, enum nl80211_iftype, struct vif_params *); - s32 (*scan)(struct wiphy *, struct cfg80211_scan_request *); - s32 (*set_wiphy_params)(struct wiphy *, u32); - s32 (*join_ibss)(struct wiphy *, struct net_device *, struct cfg80211_ibss_params *); - s32 (*leave_ibss)(struct wiphy *, struct net_device *); - s32 (*get_station)(struct wiphy *, struct net_device *, const u8 *, struct station_info *); - int (*dump_station)(struct wiphy *, struct net_device *, int, u8 *, struct station_info *); - s32 (*set_tx_power)(struct wiphy *, struct wireless_dev *, enum nl80211_tx_power_setting, s32); - s32 (*get_tx_power)(struct wiphy *, struct wireless_dev *, s32 *); - s32 (*add_key)(struct wiphy *, struct net_device *, u8, bool, const u8 *, struct key_params *); - s32 (*del_key)(struct wiphy *, struct net_device *, u8, bool, const u8 *); - s32 (*get_key)(struct wiphy *, struct net_device *, u8, bool, const u8 *, void *, void(*)(void *, struct key_params *)); - s32 (*set_default_key)(struct wiphy *, struct net_device *, u8, bool, bool); - s32 (*set_default_mgmt_key)(struct wiphy *, struct net_device *, u8); - s32 (*set_power_mgmt)(struct wiphy *, struct net_device *, bool, s32); - s32 (*connect)(struct wiphy *, struct net_device *, struct cfg80211_connect_params *); - s32 (*disconnect)(struct wiphy *, struct net_device *, u16); - s32 (*suspend)(struct wiphy *, struct cfg80211_wowlan *); - s32 (*resume)(struct wiphy *); - s32 (*set_pmksa)(struct wiphy *, struct net_device *, struct cfg80211_pmksa *); - s32 (*del_pmksa)(struct wiphy *, struct net_device *, struct cfg80211_pmksa *); - s32 (*flush_pmksa)(struct wiphy *, struct net_device *); - s32 (*start_ap)(struct wiphy *, struct net_device *, struct cfg80211_ap_settings *); - int (*stop_ap)(struct wiphy *, struct net_device *); - s32 (*change_beacon)(struct wiphy *, struct net_device *, struct cfg80211_beacon_data *); - int (*del_station)(struct wiphy *, struct net_device *, struct station_del_parameters *); - int (*change_station)(struct wiphy *, struct net_device *, const u8 *, struct station_parameters *); + int (*del_virtual_intf)(struct wiphy *, struct wireless_dev *); + int (*change_virtual_intf)(struct wiphy *, struct net_device *, enum nl80211_iftype, struct vif_params *); + int (*scan)(struct wiphy *, struct cfg80211_scan_request *); + int (*set_wiphy_params)(struct wiphy *, int, uint32_t); + int (*join_ibss)(struct wiphy *, struct net_device *, struct cfg80211_ibss_params *); + int (*leave_ibss)(struct wiphy *, struct net_device *); + int (*get_station)(struct wiphy *, struct net_device *, const uint8_t *, struct station_info *); + int (*dump_station)(struct wiphy *, struct net_device *, int, uint8_t *, struct station_info *); + int (*set_tx_power)(struct wiphy *, struct wireless_dev *, int, enum nl80211_tx_power_setting, int); + int (*get_tx_power)(struct wiphy *, struct wireless_dev *, int, unsigned int, int *); + int (*add_key)(struct wiphy *, struct net_device *, int, uint8_t, bool, const uint8_t *, struct key_params *); + int (*del_key)(struct wiphy *, struct net_device *, int, uint8_t, bool, const uint8_t *); + int (*get_key)(struct wiphy *, struct net_device *, int, uint8_t, bool, const uint8_t *, void *, void(*)(void *, struct key_params *)); + int (*set_default_key)(struct wiphy *, struct net_device *, int, uint8_t, bool, bool); + int (*set_default_mgmt_key)(struct wiphy *, struct net_device *, int, uint8_t); + int (*set_power_mgmt)(struct wiphy *, struct net_device *, bool, int); + int (*connect)(struct wiphy *, struct net_device *, struct cfg80211_connect_params *); + int (*disconnect)(struct wiphy *, struct net_device *, uint16_t); + int (*suspend)(struct wiphy *, struct cfg80211_wowlan *); + int (*resume)(struct wiphy *); + int (*set_pmksa)(struct wiphy *, struct net_device *, struct cfg80211_pmksa *); + int (*del_pmksa)(struct wiphy *, struct net_device *, struct cfg80211_pmksa *); + int (*flush_pmksa)(struct wiphy *, struct net_device *); + int (*start_ap)(struct wiphy *, struct net_device *, struct cfg80211_ap_settings *); + int (*stop_ap)(struct wiphy *, struct net_device *, unsigned int); + int (*change_beacon)(struct wiphy *, struct net_device *, struct cfg80211_ap_update *); + int (*del_station)(struct wiphy *, struct net_device *, struct station_del_parameters *); + int (*change_station)(struct wiphy *, struct net_device *, const uint8_t *, struct station_parameters *); int (*sched_scan_start)(struct wiphy *, struct net_device *, struct cfg80211_sched_scan_request *); - int (*sched_scan_stop)(struct wiphy *, struct net_device *, u64); + int (*sched_scan_stop)(struct wiphy *, struct net_device *, uint64_t); void (*update_mgmt_frame_registrations)(struct wiphy *, struct wireless_dev *, struct mgmt_frame_regs *); - int (*mgmt_tx)(struct wiphy *, struct wireless_dev *, struct cfg80211_mgmt_tx_params *, u64 *); - int (*cancel_remain_on_channel)(struct wiphy *, struct wireless_dev *, u64); - int (*get_channel)(struct wiphy *, struct wireless_dev *, struct cfg80211_chan_def *); - int (*crit_proto_start)(struct wiphy *, struct wireless_dev *, enum nl80211_crit_proto_id, u16); + int (*mgmt_tx)(struct wiphy *, struct wireless_dev *, struct cfg80211_mgmt_tx_params *, uint64_t *); + int (*cancel_remain_on_channel)(struct wiphy *, struct wireless_dev *, uint64_t); + int (*get_channel)(struct wiphy *, struct wireless_dev *, unsigned int, struct cfg80211_chan_def *); + int (*crit_proto_start)(struct wiphy *, struct wireless_dev *, enum nl80211_crit_proto_id, uint16_t); void (*crit_proto_stop)(struct wiphy *, struct wireless_dev *); - int (*tdls_oper)(struct wiphy *, struct net_device *, const u8 *, enum nl80211_tdls_operation); - int (*update_connect_params)(struct wiphy *, struct net_device *, struct cfg80211_connect_params *, u32); - int (*set_pmk)(struct wiphy *, struct net_device *, const struct cfg80211_pmk_conf *); - int (*del_pmk)(struct wiphy *, struct net_device *, const u8 *); - int (*remain_on_channel)(struct wiphy *, struct wireless_dev *, struct linuxkpi_ieee80211_channel *, unsigned int, u64 *); - int (*start_p2p_device)(struct wiphy *, struct wireless_dev *); - void (*stop_p2p_device)(struct wiphy *, struct wireless_dev *); + int (*tdls_oper)(struct wiphy *, struct net_device *, const uint8_t *, enum nl80211_tdls_operation); + int (*update_connect_params)(struct wiphy *, struct net_device *, struct cfg80211_connect_params *, uint32_t); + int (*set_pmk)(struct wiphy *, struct net_device *, const struct cfg80211_pmk_conf *); + int (*del_pmk)(struct wiphy *, struct net_device *, const uint8_t *); + int (*remain_on_channel)(struct wiphy *, struct wireless_dev *, struct linuxkpi_ieee80211_channel *, unsigned int, uint64_t *); + int (*start_p2p_device)(struct wiphy *, struct wireless_dev *); + void (*stop_p2p_device)(struct wiphy *, struct wireless_dev *); + int (*dump_survey)(struct wiphy *, struct net_device *, int, struct survey_info *); + int (*external_auth)(struct wiphy *, struct net_device *, struct cfg80211_external_auth_params *); + int (*set_cqm_rssi_range_config)(struct wiphy *, struct net_device *, int, int); + }; @@ -1179,6 +1235,8 @@ void linuxkpi_wiphy_delayed_work_queue(struct wiphy *, struct wiphy_delayed_work *, unsigned long); void linuxkpi_wiphy_delayed_work_cancel(struct wiphy *, struct wiphy_delayed_work *); +void linuxkpi_wiphy_delayed_work_flush(struct wiphy *, + struct wiphy_delayed_work *); int linuxkpi_regulatory_set_wiphy_regd_sync(struct wiphy *wiphy, struct linuxkpi_ieee80211_regdomain *regd); @@ -1247,6 +1305,21 @@ wiphy_rfkill_set_hw_state_reason(struct wiphy *wiphy, bool blocked, /* -------------------------------------------------------------------------- */ +static inline int +cfg80211_register_netdevice(struct net_device *ndev) +{ + TODO(); + return (-ENXIO); +} + +static inline void +cfg80211_unregister_netdevice(struct net_device *ndev) +{ + TODO(); +} + +/* -------------------------------------------------------------------------- */ + static inline struct cfg80211_bss * cfg80211_get_bss(struct wiphy *wiphy, struct linuxkpi_ieee80211_channel *chan, const uint8_t *bssid, const uint8_t *ssid, size_t ssid_len, @@ -1309,15 +1382,15 @@ reg_query_regdb_wmm(uint8_t *alpha2, uint32_t center_freq, return (-ENODATA); } -static __inline const u8 * -cfg80211_find_ie_match(uint32_t f, const u8 *ies, size_t ies_len, - const u8 *match, int x, int y) +static __inline const uint8_t * +cfg80211_find_ie_match(uint32_t f, const uint8_t *ies, size_t ies_len, + const uint8_t *match, int x, int y) { TODO(); return (NULL); } -static __inline const u8 * +static __inline const uint8_t * cfg80211_find_ie(uint8_t eid, const uint8_t *ie, uint32_t ielen) { TODO(); @@ -1339,6 +1412,36 @@ cfg80211_pmsr_report(struct wireless_dev *wdev, TODO(); } +static inline int +nl80211_chan_width_to_mhz(enum nl80211_chan_width width) +{ + switch (width) { + case NL80211_CHAN_WIDTH_5: + return (5); + break; + case NL80211_CHAN_WIDTH_10: + return (10); + break; + case NL80211_CHAN_WIDTH_20_NOHT: + case NL80211_CHAN_WIDTH_20: + return (20); + break; + case NL80211_CHAN_WIDTH_40: + return (40); + break; + case NL80211_CHAN_WIDTH_80: + case NL80211_CHAN_WIDTH_80P80: + return (80); + break; + case NL80211_CHAN_WIDTH_160: + return (160); + break; + case NL80211_CHAN_WIDTH_320: + return (320); + break; + } +} + static inline void cfg80211_chandef_create(struct cfg80211_chan_def *chandef, struct linuxkpi_ieee80211_channel *chan, enum nl80211_channel_type chan_type) @@ -1377,6 +1480,12 @@ cfg80211_chandef_valid(const struct cfg80211_chan_def *chandef) return (false); } +static inline int +cfg80211_chandef_get_width(const struct cfg80211_chan_def *chandef) +{ + return (nl80211_chan_width_to_mhz(chandef->width)); +} + static __inline bool cfg80211_chandef_dfs_usable(struct wiphy *wiphy, const struct cfg80211_chan_def *chandef) { @@ -1688,8 +1797,8 @@ cfg80211_disconnected(struct net_device *ndev, uint16_t reason, } static __inline int -cfg80211_get_p2p_attr(const u8 *ie, u32 ie_len, - enum ieee80211_p2p_attr_ids attr, u8 *p, size_t p_len) +cfg80211_get_p2p_attr(const uint8_t *ie, uint32_t ie_len, + enum ieee80211_p2p_attr_ids attr, uint8_t *p, size_t p_len) { TODO(); return (-1); @@ -1725,13 +1834,13 @@ cfg80211_inform_bss_data(struct wiphy *wiphy, static __inline void cfg80211_mgmt_tx_status(struct wireless_dev *wdev, uint64_t cookie, - const u8 *buf, size_t len, bool ack, gfp_t gfp) + const uint8_t *buf, size_t len, bool ack, gfp_t gfp) { TODO(); } static __inline void -cfg80211_michael_mic_failure(struct net_device *ndev, const uint8_t *addr, +cfg80211_michael_mic_failure(struct net_device *ndev, const uint8_t addr[ETH_ALEN], enum nl80211_key_type key_type, int _x, void *p, gfp_t gfp) { TODO(); @@ -1751,8 +1860,8 @@ cfg80211_del_sta(struct net_device *ndev, const uint8_t *addr, gfp_t gfp) } static __inline void -cfg80211_port_authorized(struct net_device *ndev, const uint8_t *bssid, - gfp_t gfp) +cfg80211_port_authorized(struct net_device *ndev, const uint8_t *addr, + const uint8_t *bitmap, uint8_t len, gfp_t gfp) { TODO(); } @@ -1935,7 +2044,7 @@ cfg80211_background_radar_event(struct wiphy *wiphy, TODO(); } -static __inline const u8 * +static __inline const uint8_t * cfg80211_find_ext_ie(uint8_t eid, const uint8_t *p, size_t len) { TODO(); @@ -2033,6 +2142,14 @@ cfg80211_get_iftype_ext_capa(struct wiphy *wiphy, enum nl80211_iftype iftype) return (NULL); } +static inline int +cfg80211_external_auth_request(struct net_device *ndev, + struct cfg80211_external_auth_params *params, gfp_t gfp) +{ + TODO(); + return (-ENXIO); +} + static inline uint16_t ieee80211_get_he_6ghz_capa(const struct ieee80211_supported_band *sband, enum nl80211_iftype iftype) @@ -2041,36 +2158,6 @@ ieee80211_get_he_6ghz_capa(const struct ieee80211_supported_band *sband, return (0); } -static inline int -nl80211_chan_width_to_mhz(enum nl80211_chan_width width) -{ - switch (width) { - case NL80211_CHAN_WIDTH_5: - return (5); - break; - case NL80211_CHAN_WIDTH_10: - return (10); - break; - case NL80211_CHAN_WIDTH_20_NOHT: - case NL80211_CHAN_WIDTH_20: - return (20); - break; - case NL80211_CHAN_WIDTH_40: - return (40); - break; - case NL80211_CHAN_WIDTH_80: - case NL80211_CHAN_WIDTH_80P80: - return (80); - break; - case NL80211_CHAN_WIDTH_160: - return (160); - break; - case NL80211_CHAN_WIDTH_320: - return (320); - break; - } -} - static __inline ssize_t wiphy_locked_debugfs_read(struct wiphy *wiphy, struct file *file, char *buf, size_t bufsize, const char __user *userbuf, size_t count, @@ -2093,6 +2180,13 @@ wiphy_locked_debugfs_write(struct wiphy *wiphy, struct file *file, return (-ENXIO); } +static inline void +cfg80211_cqm_rssi_notify(struct net_device *dev, + enum nl80211_cqm_rssi_threshold_event rssi_te, int32_t rssi, gfp_t gfp) +{ + TODO(); +} + /* -------------------------------------------------------------------------- */ static inline void @@ -2140,6 +2234,12 @@ wiphy_delayed_work_cancel(struct wiphy *wiphy, struct wiphy_delayed_work *wdwk) linuxkpi_wiphy_delayed_work_cancel(wiphy, wdwk); } +static inline void +wiphy_delayed_work_flush(struct wiphy *wiphy, struct wiphy_delayed_work *wdwk) +{ + linuxkpi_wiphy_delayed_work_flush(wiphy, wdwk); +} + /* -------------------------------------------------------------------------- */ #define wiphy_err(_wiphy, _fmt, ...) \ diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 19f7bcff29dc..7977fb091f0c 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -163,7 +163,7 @@ enum ieee80211_bss_changed { #define WLAN_AKM_SUITE_PSK_SHA256 WLAN_AKM_SUITE(6) /* TDLS 7 */ #define WLAN_AKM_SUITE_SAE WLAN_AKM_SUITE(8) -/* FToSAE 9 */ +#define WLAN_AKM_SUITE_FT_OVER_SAE WLAN_AKM_SUITE(9) /* AP peer key 10 */ /* 802.1x suite B 11 */ /* 802.1x suite B 384 12 */ @@ -854,7 +854,8 @@ struct ieee80211_vif_chanctx_switch { }; struct ieee80211_prep_tx_info { - u16 duration; + uint16_t duration; + uint16_t subtype; bool success; bool was_assoc; int link_id; @@ -901,27 +902,6 @@ struct linuxkpi_ieee80211_tim_ie { }; #define ieee80211_tim_ie linuxkpi_ieee80211_tim_ie -struct survey_info { /* net80211::struct ieee80211_channel_survey */ - /* TODO FIXME */ - uint32_t filled; -#define SURVEY_INFO_TIME 0x0001 -#define SURVEY_INFO_TIME_RX 0x0002 -#define SURVEY_INFO_TIME_SCAN 0x0004 -#define SURVEY_INFO_TIME_TX 0x0008 -#define SURVEY_INFO_TIME_BSS_RX 0x0010 -#define SURVEY_INFO_TIME_BUSY 0x0020 -#define SURVEY_INFO_IN_USE 0x0040 -#define SURVEY_INFO_NOISE_DBM 0x0080 - uint32_t noise; - uint64_t time; - uint64_t time_bss_rx; - uint64_t time_busy; - uint64_t time_rx; - uint64_t time_scan; - uint64_t time_tx; - struct ieee80211_channel *channel; -}; - enum ieee80211_iface_iter { IEEE80211_IFACE_ITER_NORMAL = BIT(0), IEEE80211_IFACE_ITER_RESUME_ALL = BIT(1), @@ -1549,6 +1529,15 @@ ieee80211_iter_chan_contexts_atomic(struct ieee80211_hw *hw, linuxkpi_ieee80211_iterate_chan_contexts(hw, iterfunc, arg); } +static __inline void +ieee80211_iter_chan_contexts_mtx(struct ieee80211_hw *hw, + void (*iterfunc)(struct ieee80211_hw *, struct ieee80211_chanctx_conf *, void *), + void *arg) +{ + IMPROVE("XXX LKPI80211 TODO MTX\n"); + linuxkpi_ieee80211_iterate_chan_contexts(hw, iterfunc, arg); +} + static __inline void ieee80211_iterate_stations_atomic(struct ieee80211_hw *hw, void (*iterfunc)(void *, struct ieee80211_sta *), void *arg) @@ -2060,7 +2049,7 @@ ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw, struct ieee80211_txq *txq) static __inline void ieee80211_update_mu_groups(struct ieee80211_vif *vif, - u_int _i, uint8_t *ms, uint8_t *up) + u_int link_id, const uint8_t *ms, const uint8_t *up) { TODO(); } diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 0aba2d843106..96d9890beeb3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7349,7 +7349,7 @@ lkpi_wiphy_delayed_work_timer(struct timer_list *tl) struct wiphy_delayed_work *wdwk; wdwk = timer_container_of(wdwk, tl, timer); - wiphy_work_queue(wdwk->wiphy, &wdwk->work); + wiphy_work_queue(wdwk->wiphy, &wdwk->work); } void @@ -7374,6 +7374,16 @@ linuxkpi_wiphy_delayed_work_cancel(struct wiphy *wiphy, wiphy_work_cancel(wiphy, &wdwk->work); } +void +linuxkpi_wiphy_delayed_work_flush(struct wiphy *wiphy, + struct wiphy_delayed_work *wdwk) +{ + lockdep_assert_held(&wiphy->mtx); + + del_timer_sync(&wdwk->timer); + wiphy_work_flush(wiphy, &wdwk->work); +} + /* -------------------------------------------------------------------------- */ struct wiphy * From nobody Fri Jan 16 19:41:23 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fw1F1jz6NlnW for ; Fri, 16 Jan 2026 19:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fv5hZhz3xxY for ; Fri, 16 Jan 2026 19:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JoNc6T0kvDUa8SPKK+8q4NZ/ihBphxvaYIeWtPqoVXc=; b=e90S9lD8b52H6Z2PUiqtgaZ/67NNK7NLcgNDrRjFRgkINmjQczpY9fdL65dpPE17yu8tlW oXKcHrCFkvb4J5V59mSCfOj1ExYr7q/dCTgLfuL60Cuu3YLQl97n8URKNxaLN5wRH+Idcc LSOBPO78BnKg/nTjcLFbHvwIaiWE6IIuoGWLIFq0k40JPS3WpI+BLXZAeoDA0FPf5zJY4L qXFDOoD0E2rMvnWwLYv8G0vn0LNvT+MyBL7YE1/0AitwcItRG4NpWZZ9Gg/9HgHkXbicT+ lkOnChmSlm04yMiEAVZfoN/36UvyG2M4ORUFiHEilNudUhn0dA2uB+mlgWtQJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JoNc6T0kvDUa8SPKK+8q4NZ/ihBphxvaYIeWtPqoVXc=; b=GwZQxkAeYXWSVT5qGrmErOYu4GQnwZiqUCae3l4OlptEdHwjB0wPQVdffqVs66TWxsan9Q PmqeG9n/KyHjk0mTLK+/Mm1mb3KJZahTe+I6yFYSWvyLwGXP2BAzS1kwPi5V6gKhysIJHf 8gm3JPYmEfgTFMEoCOso2a18Vmz0ZzihlzDLW/cGbvm7/nmn3pjAIIbUu1VTZyf01kJ0PU SzrwJjZtRQSf1sE1uf0dRd9R13qE1gqb+/zMY74d0aWTms5C9N1betkkiBPm2ClngPqgNw 049REU7uo5m/XO8nk4ylMCB1PrlqHyjrYeu1CvksNnAxeSkSIGNU0EUQQ4pZ3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592483; a=rsa-sha256; cv=none; b=iZH7nH+tr26F4rW9kbubBMaPpdZ4QrjscFBuCApi3Ca8G9mDOzrbubChlGxXnV1rnY+tis JhDdU3X64QjfbAobzLDCDdgEPTaBbfyRlZE5X40C5HOF0ktL7mRbFyIunMTFgVt44CbAxF 5H9xGwX2sAHqitrvnWhxFP2ni9IAaQZp+YfT2wk1C31DwlDnHtl32Zj060eVSeaUgbjdRI CpZHEMIfX7J8Iyxt/aqXfZ/J3lB9bncsHQdcljlO+o1Pj+ujKBLDHfu6YJ8eSudwTAkvqT 1DOXPyhmBFMVQot/64hnECLcGN9vF8WzfeYu8gy2KQvY9kEyP6QhsDhsBp6ZjQ== 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 4dt9Fv54C9zCYx for ; Fri, 16 Jan 2026 19:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb70 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: add692e05ca1 - stable/14 - LinuxKPI: 802.11: initialize the passed in chandef in cfg80211_chandef_create 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: add692e05ca1825b974804ad65d961719be098f2 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:23 +0000 Message-Id: <696a9463.bb70.662897fb@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=add692e05ca1825b974804ad65d961719be098f2 commit add692e05ca1825b974804ad65d961719be098f2 Author: Bjoern A. Zeeb AuthorDate: 2025-11-17 22:54:07 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:53 +0000 LinuxKPI: 802.11: initialize the passed in chandef in cfg80211_chandef_create cfg80211_chandef_create() gets passed a pointer to a cfg80211_chan_def. It seems that several users are passing in an uninitialized variable from the stack and expect cfg80211_chandef_create() to initialize it. Run memset() on the struct, which for all callers currently seems to do the right thing, to avoid later accesses to uninitialized struct members like "punctured". Reported by: CI (gcc build) Sponsonred by: The FreeBSD Foundation (cherry picked from commit 640205bc22c8b2bd31c766f4d0c409c183a8b8dc) (cherry picked from commit d389d1ac1699aea517a18cf73486e7077cfbda46) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index f769cfdd4075..305026b34451 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1450,7 +1450,7 @@ cfg80211_chandef_create(struct cfg80211_chan_def *chandef, KASSERT(chandef != NULL, ("%s: chandef is NULL\n", __func__)); KASSERT(chan != NULL, ("%s: chan is NULL\n", __func__)); - /* memset(chandef, 0, sizeof(*chandef)); */ + memset(chandef, 0, sizeof(*chandef)); chandef->chan = chan; chandef->center_freq1 = chan->center_freq; /* chandef->width, center_freq2, punctured */ From nobody Fri Jan 16 19:41:21 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fs6YK8z6NlnS for ; Fri, 16 Jan 2026 19:41: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 4dt9Fs366jz3y2t for ; Fri, 16 Jan 2026 19:41:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t0t66vgyHa/NqTzq1Mx6rSMnEY/wJiBxu7hk4zwWJ8w=; b=PNaReeM6Hq09mvVAjAj2pBSO5O9tPUCDvEyVnCYPpOLuSWZ4Ap3KX7RITwfuhZ656hG0+F SKz7Bbd8ITY1aPnoDhMHRMchy72080Wr9HTTqCYHj6f8+WD1VSWg2HzVb0RT+vh4VxfX9p 02dTEGygLQ8QokgFUa66ekPZE6fKILHT9ZGmIf1n+PYk3QYiJDYC5xP1X2y2v+/1EboIj1 8XeXKo0Zy7U9VLdwNYfrxigDNJUkoTOVJpLsoCkMGCnWzdknY7/2//cdRkX1pFepJ5tHKE AaBCsMgsLSjg4X1Phy65Qpcpfb6TAFk4vQVo8PO5ljNNf1f6IqslbznW7sGJkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t0t66vgyHa/NqTzq1Mx6rSMnEY/wJiBxu7hk4zwWJ8w=; b=sG3pDz7pGULFLhWciUlBgF4Vr/VNhjeNfexVAxuxXDbeopVv69An/a5ksDWLAKx2Cn6LFc jTLXQFNGpoDBncWag8gMMhvNW7bPvPxZOONNt5C0eeYT0v0g6Tl/gGyhqw3QcrrxwpNXhq nyhjFnQ/Xv+HN2ctl5Rp3ZrZc3QU+ciQ/3VeYvcVcyBDyKaipZYC/jtLWY3i34cpmpoPMf 8VOoz7xcdlnqXchqRB0Kfj5JEjVcbzkvHlYizwc698zJLrl8b3F4zAM78q2UWSR8qlFbg/ W5a2CQgZRo9A6p4bJyVfYPGr7KCE9RTgO0wlPC/TFwGMTw5sckGPXja6t5BrUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592481; a=rsa-sha256; cv=none; b=osBUsQ4Px+/gSWN44ngAJR3xWreRAIEhBnaR3A02Cy5dCzpdFou69UwJxBrZRFyVQU+MUX yUbmVMTkK9jqca5tsbJ9/9ShLXNBUi/alLVEcGXUN7CZX97E9n+enoAHjNqtElnxvTe1rc /LbXpVnRzh2K4FcobvsdB6pT6sru25P7/VTrUL6sS8fY6qper8uIgSlHFfaNIPPxVB3qwn 1rdMZSq62pS/KJ2X8N3w9u6TQRLWhrsvK+HtIadZrKqmvF4Cmrq/s9XSePtaIEYIu2NScy 96R7jIajd5IfdG3wrsjUdOgURbG/IswDYY5N7AbaLmbfx9pMgkKgkJglDi7HPg== 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 4dt9Fs2dcHzCW2 for ; Fri, 16 Jan 2026 19:41:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dcfc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: a7ac5ba799c7 - stable/14 - LinuxKPI: netdevice add attach/detach skeleton functions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a7ac5ba799c74f34effc88e7161873777d3675d8 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:21 +0000 Message-Id: <696a9461.dcfc.31aef630@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7ac5ba799c74f34effc88e7161873777d3675d8 commit a7ac5ba799c74f34effc88e7161873777d3675d8 Author: Bjoern A. Zeeb AuthorDate: 2025-10-17 20:28:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:53 +0000 LinuxKPI: netdevice add attach/detach skeleton functions For the moment add skeleton functions for netif_device_attach/detach() needed by rtw8[89] v6.17. (cherry picked from commit 5ea941a4fbfd1ba2483e47fe30ed6713fe912284) (cherry picked from commit 4bdd0e51d7113aadcbfba9a76d72d8e924c5dcdf) --- sys/compat/linuxkpi/common/include/linux/netdevice.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/netdevice.h b/sys/compat/linuxkpi/common/include/linux/netdevice.h index cd7d23077a62..2e9fa910cf5a 100644 --- a/sys/compat/linuxkpi/common/include/linux/netdevice.h +++ b/sys/compat/linuxkpi/common/include/linux/netdevice.h @@ -478,6 +478,21 @@ netdev_priv(const struct net_device *ndev) return (__DECONST(void *, ndev->drv_priv)); } +/* -------------------------------------------------------------------------- */ + +static __inline void +netif_device_attach(struct net_device *ndev) +{ + pr_debug("%s: TODO\n", __func__); +} + +static __inline void +netif_device_detach(struct net_device *ndev) +{ + pr_debug("%s: TODO\n", __func__); +} + + /* -------------------------------------------------------------------------- */ /* This is really rtnetlink and probably belongs elsewhere. */ From nobody Fri Jan 16 19:41:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fx4T0Zz6NlYY for ; Fri, 16 Jan 2026 19:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fw5WF8z3y5X for ; Fri, 16 Jan 2026 19:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gv/Q/JZ8Ilz+e0cY/F8y89YZiKZzAVG0xV6aQHf2uFA=; b=vr+JLk9vhRXYfs/elv+DEf8NSpFBOXwABU8id0OMJ/vDjb7bjvd4/J74X5TIYSPM/gVFjy vmOVDraHqvccJDt2GQyaMq8t9dSXOSZndSVO4YZpFKipRMuJ9Xf9D5WiPyiz48l2rIDQpu 8kGWWhtfkmkbzz421PrIofWl0kFwa52DEFFrxCK1xmj0RNGA6nPmmxCOEqPA+X9BW7D1qD eTj7AhWcAu07PXY7sOgU4LITb701U08WcRaHxDQyWRytK/TPPmHwSLvSIT30oq7XeWcHmp 8YTs4GIjLha+hLpwpa2iqombhCZR+MKtdx4LR4FIv98FGg0x9wRBeACYOsp+Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gv/Q/JZ8Ilz+e0cY/F8y89YZiKZzAVG0xV6aQHf2uFA=; b=SCgRgALOznEommqvlXcFmez54YxSAxUWom20oNPhjazrJckJ6heVvb+MVepZW/1+YkXZyw qRXID9Wf599FSTfYWPgVwBxvngXFe0cD+AZrTWq8vJy9rJlHO0pnGMy3/tbgXYpXlEUYFI m/L6uC886uo7wJbkQAi8qm2tllmqcGMnZmSEu89zUYMWSVTP99DVPpJXhYGY0eynTtECaU 32+qsdtqHGjB0wk7r5Kxh2+C+JDg9XyoTuihdCNDpaKNV+p4/i5eBkwa0ZbgNTX0v0wv1w VtMK7NHJBnJ5MnuV4Xts/qqKX/VzO2uBhaZ8y6V4kRpn2ehp6rVGxws9vrz36A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592484; a=rsa-sha256; cv=none; b=QZFGy1z12reYEmAulSv+hps05lo0QD3Zyqvip7h8KzaX/qyCNGcMpaV1WnMXxsAtlOma3b isWC7BA/ODVEz4uAg/pPVegGlJ5MZD5YkgUVbeeIobkUdlEmC5B+B7bn6zJkywoKD+pRzQ jQcuUxz/sRNaTr/AwtTTNRgy1PyKNoqSdH5S91e5bL9vlkuenqcYG7CHLaXoKr3Ev0HUGW Jbj4NjsXzf+6yghWFNfI9YwHlXSqY3eEKm6Gy2LZ9CLUS3hAWLzAQAuF5Irwfb/ikWw4mn Q4a2uOSuilTliZMbd8QfqpTkMO+8UnMkR24QHOEAJFg/N+J5dGhvq5xkxpI4gw== 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 4dt9Fw55fFzCMG for ; Fri, 16 Jan 2026 19:41:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id bb74 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: bd339e8341ba - stable/14 - LinuxKPI: 802.11: make airtime fairness an IMPROVE 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bd339e8341bac1a20716c662b6d024161ec4f8c6 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:24 +0000 Message-Id: <696a9464.bb74.283fa825@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bd339e8341bac1a20716c662b6d024161ec4f8c6 commit bd339e8341bac1a20716c662b6d024161ec4f8c6 Author: Bjoern A. Zeeb AuthorDate: 2025-12-03 00:55:36 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:54 +0000 LinuxKPI: 802.11: make airtime fairness an IMPROVE We are ways away from implementing "airtime fairness" in LinuxKPI (or rather net80211). For now make it an 'improve' rather than a 'todo' to get the logging away. Everything will work without it. Sponsored by: The FreeBSD Foundation (cherry picked from commit 86bfe5b4d5a7b90d3746059dd1f87cdd5a0bf90c) (cherry picked from commit c55874da4cf57800fc8a665ee221e4c2e1ac6601) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 7977fb091f0c..b276bfcc18fc 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2288,7 +2288,7 @@ static __inline void ieee80211_sta_register_airtime(struct ieee80211_sta *sta, uint8_t tid, uint32_t duration, int x) { - TODO(); + IMPROVE("NL80211_EXT_FEATURE_AIRTIME_FAIRNESS and TX queus"); } static __inline void From nobody Fri Jan 16 19:41:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fy28rsz6NllQ for ; Fri, 16 Jan 2026 19:41: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 4dt9Fx6L5qz3xrt for ; Fri, 16 Jan 2026 19:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zsTt/d5vGVw9BZcrb67FhA8Apu/LhdI92YJs1dfp8ok=; b=L5c4fU5drBEJ1SYBJPIxdsdr9K7cecMiv2K1k1B/XQ7d6H4vO3WXZ+BSKZQrKugteRCGqV J4VriV9DY3WXpcVt3MX56Wm76GC+/uPmCBFK8DRzv9sF6RZ2Vs19sD9NLo83JxpG4Mmt7I rV+djjmr3d1OsP/7RdzG/yU68Be72+hZAbWdglsGxJtOBV3ELCA56DGh0+Htfi6QdHfweb g0qDkhi8Jq6Nw1L6hJ4y0/ulHd8fqr2RfDqvHMPGnHqaM2Q94nPd/L3W5XtWXUCRfe20JV 8pgilJ7428j0mDmbsL9K5pEBt4yXpD4Yu/+zrWPhyuPZvIPMvJXX0lBUoaLlxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zsTt/d5vGVw9BZcrb67FhA8Apu/LhdI92YJs1dfp8ok=; b=vxfbBVgzmmigda6mojq2aMIZlkXfJ1MQRNYHzBoRyOCPRBVEgI9NltObmEuq4+sK7edI0h a/80iZEUkusEwGUfbG4xy5SSzRfDlGyzWMFubXIYmpqMrzyVKLd3fyZtQQKmwAkARJxYu4 p3a6ofHctUI9GiAw1DCM2ySKF/inZmpF7xPdw/PYV/mYoPcES36rsfgKNiHku6cUFpnT0c hrDFJPptg8GKHR2v9RY87XZbgCLLeB1eUB5D/FJM19rd62a4v11TFkqyaj0tKbE5PcZqee /doV7jWrmxCwAvROsTK20J2BHZ+5sCp7hVZeukKPh5IFzbcxN3Y8xFRgRKUlyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592485; a=rsa-sha256; cv=none; b=jysEZ885PEGy47ag+sK6rUrA8KEG+M1oNHFIuHX6EtCArQ+Y/RhfJRvo4Xln0mpB8B7yXw pjgVEDI/3IdfZ4RmJBUpPDz6ow5W0aKqOvrscEAMiWKWv9DD9XWP6CReYSo+QiEs8HDYwt byd5AxilcKWl7fQQTHBGOB1mC7TBvx1ZWHrclyfAqDSezZn6sTMs4loBlVlL3gWYCvQdL1 Ii6i+3upzGtmh/bOvXzSSIhy/N44HXSUD9E4mG4ZMRqDhzGqhBNGZiHNwY0tciKHqT6u62 sIa0RZi8XNo+8NUERP+b6rVKdLkmASesiz8YnjWowJPaGQ9/MDvxa2g7dWngQA== 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 4dt9Fx5ttnzCf9 for ; Fri, 16 Jan 2026 19:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dc0a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 2a04a8562ecc - stable/14 - LinuxKPI: device: add a pr_debug("TODO") call to device_release_driver() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2a04a8562ecc23d68f64d0b8df86b5f3da223ac5 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:25 +0000 Message-Id: <696a9465.dc0a.28f92892@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2a04a8562ecc23d68f64d0b8df86b5f3da223ac5 commit 2a04a8562ecc23d68f64d0b8df86b5f3da223ac5 Author: Bjoern A. Zeeb AuthorDate: 2025-12-03 01:09:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:54 +0000 LinuxKPI: device: add a pr_debug("TODO") call to device_release_driver() The logic in device_release_driver() got disabled in 93b14194acaf2 and since left alone. Add a pr_debug() call so we have a chance to notice if that code is actually still in need to be fixed and re-enabled. Sponsored by: The FreeBSD Foundation (cherry picked from commit fc9666d0fc0c2541e44bfbcaa5bb1b670395687c) (cherry picked from commit 0f496780deee49cfd86f4e02db775b706405fef9) --- sys/compat/linuxkpi/common/include/linux/device.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index ab53add4be54..85917f788502 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -545,6 +545,7 @@ static inline void device_release_driver(struct device *dev) { + pr_debug("%s: TODO\n", __func__); #if 0 /* This leads to panics. Disable temporarily. Keep to rework. */ From nobody Fri Jan 16 19:41:28 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9G032j6z6NlYl for ; Fri, 16 Jan 2026 19:41: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 4dt9G00d5vz3y7Y for ; Fri, 16 Jan 2026 19:41:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k+z10HvvuOC8SPwZ0Ez+eqXYmf2tkFTxrdSUEf1VSHU=; b=cOEsYcvyAy8msBAiQ8ZE7kAMhFYRKFg61jhj23NQ3YPVKcuDrNyCFondUI7MWgXiEMo7su 3FTaGy4TJFxzxkKV6g02IqrTnXyr3gULFtKoSJ1RcqjU9zes+AiewMT8uhv8gXM/DhqpX3 BU7dPbEQGgqoqvFzAocajK0mHPf3F0xUtjMMTd4rkzF02SpksS43S0H67CP7/M7Yp02pNX FJSX5g8lPsNhjcdBOR+lRN7K4LLXZrL9YlqpJuSSftLqpew2l74ccOPOawd+O5ANuKK33c JG1sGkspsx4+5zN5amYrSqUtPrTblFf+RSgLw9AYvX6qr44gZYmkGGl6LjMOAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k+z10HvvuOC8SPwZ0Ez+eqXYmf2tkFTxrdSUEf1VSHU=; b=QhZBAR+RDdAmJBPU0v5NVg8Sr0S/hc0IObh+1m0mNbozerGLfM6+gSdOZVGSsBbkb0EeZ+ ZcqT6dbmIf+XtsVfGPkKpXz01wcr+PBMWvY1OTh514TIS0i9VKE9CR1zr+bVN2RcL+gXXp 21lieMGculPBpVJSF/dSXHvr9O/8W9oX50aoWs5HVesJBuKtE2aW+nBmNcr7ReSUy1kril +VkaKTv5iElV94/BvbzOWcNsIF/ainuW1SySNTuL4qhkI5ZJ57iBCPRyRi+64xsoDqldM5 Wvty8maCoEbwcRsnfOqp59Fo3u9auue8NH7ZpWfs7geTSXftdFLNYmW1oyYlfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592488; a=rsa-sha256; cv=none; b=AJZ0nsyk/Wb4+6cQ/nF0kwYqhs99nPPwtXZuyPr9whDe91FipvH0q0Bu4flRjK9vkssFLa 8k9T4twCXcs4d1JZyuUT7IhhfErBxw/xSafThhr85US/OCqbfTHfnH5ZkMjJt5styMv1oI ZaoySBK/a3CkB0MOQjOyrjxPcQcHvWBU5nHev/yBPcvMAT9JlyIm+GGmSqpP7Snx7SkUTL avQlornTFF9cl8GBgRDknU8NPcffEl9PuOcwxsI0fOlAVl41A94tSP9qhbuKOCPRq/qj7M nsf3mKUFNuMarKavBuyOCaNpSU7V53cknvXVv/URq1ya0PgwWOa1lhq0X3UUSA== 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 4dt9G008pLzCW6 for ; Fri, 16 Jan 2026 19:41:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id dea2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 7e2143845d30 - stable/14 - LinuxKPI: mt76: depend on CONFIG_NET_MEDIATEK_SOC_WED 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7e2143845d30bd66424e87c61eb2bd16a3da9622 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:28 +0000 Message-Id: <696a9468.dea2.74c8870f@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7e2143845d30bd66424e87c61eb2bd16a3da9622 commit 7e2143845d30bd66424e87c61eb2bd16a3da9622 Author: Bjoern A. Zeeb AuthorDate: 2025-11-25 17:20:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:54 +0000 LinuxKPI: mt76: depend on CONFIG_NET_MEDIATEK_SOC_WED If CONFIG_NET_MEDIATEK_SOC_WED is not set then be silent; if CONFIG_NET_MEDIATEK_SOC_WED is set we will enable logic or rather te pr_debug("TODO") calls for now. Spsonsored by: The FreeBSD Foundation (cherry picked from commit 51c73fc5f5dd95c6a0e3d232091a732a14c7ecc9) (cherry picked from commit 7ed3a99f3563fce1f1088a376151e7ad68b738d6) --- .../common/include/linux/soc/mediatek/mtk_wed.h | 28 +++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h b/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h index 9f3a1ee4c139..2b9c6ae4911e 100644 --- a/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h +++ b/sys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h @@ -14,6 +14,7 @@ struct mtk_wed_device { #define WED_WO_STA_REC 0x6 +#if defined(CONFIG_NET_MEDIATEK_SOC_WED) #define mtk_wed_device_start(_dev, _mask) do { pr_debug("%s: TODO\n", __func__); } while(0) #define mtk_wed_device_detach(_dev) do { pr_debug("%s: TODO\n", __func__); } while(0) #define mtk_wed_device_irq_get(_dev, _mask) 0 @@ -29,7 +30,6 @@ struct mtk_wed_device { static inline bool mtk_wed_device_active(struct mtk_wed_device *dev __unused) { - pr_debug("%s: TODO\n", __func__); return (false); } @@ -42,4 +42,30 @@ mtk_wed_get_rx_capa(struct mtk_wed_device *dev __unused) return (false); } +#else /* ! CONFIG_NET_MEDIATEK_SOC_WED */ + +#define mtk_wed_device_start(_dev, _mask) do { } while(0) +#define mtk_wed_device_detach(_dev) do { } while(0) +#define mtk_wed_device_irq_get(_dev, _mask) 0 +#define mtk_wed_device_irq_set_mask(_dev, _mask) do { } while(0) +#define mtk_wed_device_update_msg(_dev, _id, _msg, _len) -ENODEV +#define mtk_wed_device_dma_reset(_dev) do { } while (0) +#define mtk_wed_device_ppe_check(_dev, _skb, _reason, _entry) do { } while (0) +#define mtk_wed_device_stop(_dev) do { } while(0) +#define mtk_wed_device_start_hw_rro(_dev, _mask, _b) do { } while(0) +#define mtk_wed_device_setup_tc(_dev, _ndev, _type, _tdata) -EOPNOTSUPP + +static inline bool +mtk_wed_device_active(struct mtk_wed_device *dev __unused) +{ + return (false); +} + +static inline bool +mtk_wed_get_rx_capa(struct mtk_wed_device *dev __unused) +{ + return (false); +} +#endif /* CONFIG_NET_MEDIATEK_SOC_WED */ + #endif /* _LINUXKPI_LINUX_SOC_MEDIATEK_MTK_WED_H */ From nobody Fri Jan 16 19:41:26 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9Fz3lVhz6NlqS for ; Fri, 16 Jan 2026 19:41:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9Fz022Hz3xs5 for ; Fri, 16 Jan 2026 19:41:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3OzVOo1QLl9djRB7q13QE0MGnnn4C/ZPQ3oUrlIf5g=; b=IawCpQkqOLqhCMpA2ujFqk2kopSigHK2MX/9iI0HwMDUx5j2LpfDwpa5/34zC5nY9KrTZw 9lLcMrOqVyEGBzYAJSy7cZO4Ot5IUobrgsnQKtfRx+6EX3H37JDn2ocvEr9S6VD5eME1XA q/UWKDfhjfXccpD8Jhagnt306HC4W3x3lgx0ZU9QCO62PnBNsro1C04v1Uq+EMy5kgcKX0 XYv0EfkMY3i9ZapL+ARo1rm8uwSBEpGGmpmq9los4Iqj215No2wA6AZkQjwRtuRmtnvJo3 87qAyWQDKaNSryvExq9L5yXsExHdPaEWHbu0ZynjwBbfadNqOuhk2Gnc41I3zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3OzVOo1QLl9djRB7q13QE0MGnnn4C/ZPQ3oUrlIf5g=; b=PvpKeJv+dTB/QV3TQ2c2+58Dfg8fcRVqD0ZAYjkkYmNJy36wVxPtr2x4DoYYFlwdhMuA11 KiDlzwEw/r+agQ0GiiQf6ZITMy8Uw0RsRbMg14cxZUid46TGP1LG5zsbHgAJ3XEDpjqZdq XdMIDQV32TQyohoc0bL5eJcKCrJZSXbN2LaBYjqcdZzfFEDzx1Hd4hob8qKCUXb1K0dRFb dI73QJVcCLbIcDUpJzJ4pLBotA+2v2qpvlema8xapW/lHQV4btnViiclqwqhm6Ph7w7hQf 2rkQlJtEKbr4K5UyYOxfGECkAT6RCaad4NKDjJAlm2BsjKk8mTdzfcEkHY2kpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592487; a=rsa-sha256; cv=none; b=RrysXi/oJDib8AwnKWpxejLvJ+MEl2v1DK+UNXVC+iJxuW3v1aBik6jQGpOzj/8P++qZlc asbcQ50dMEoXOXNLl2DIb+4jZ04kM9fYj9HwTS6pTZVj4vhODMJjJYr/LvCXCRZQ9glrpc 3+m/Uip1zIWsqp73KAdJ+mg9BHsP4Xp2VfKjMic1yT3gp6WfNKL4Po2IhwSLEyDvAgb1NY uqF73ibFfDl+aQ4bga9L5FfYwTfOdjYDbsXFRtZcMc7q6vycx8pUKrNth39tyAud4eE8rl A6VQE8P9XMc1jGGNmpyXa+hPY6tt96JmsisalVwpv8MkLbb5Umo9UmmBgXuS4A== 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 4dt9Fy6V1WzCKW for ; Fri, 16 Jan 2026 19:41:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e322 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 78e0a224f508 - stable/14 - LinuxKPI: 802.11: move ieee80211_offload_flags 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 78e0a224f50856ad33fc0484fad11ee3dc3b2dcf Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:26 +0000 Message-Id: <696a9466.e322.34f3873f@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=78e0a224f50856ad33fc0484fad11ee3dc3b2dcf commit 78e0a224f50856ad33fc0484fad11ee3dc3b2dcf Author: Bjoern A. Zeeb AuthorDate: 2025-12-03 00:58:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:54 +0000 LinuxKPI: 802.11: move ieee80211_offload_flags Move the enum and leave a comment on the struct member for the vif about the type. No functional changes. Sponsored by: The FreeBSD Foundation (cherry picked from commit b10ff7ed37a9b891bec7e1093e44fa7abb2054b4) (cherry picked from commit a714641fa5380cc320d23181d4b18f7f89ccd183) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index b276bfcc18fc..f1438734aa24 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -821,11 +821,17 @@ struct ieee80211_vif_cfg { uint8_t ap_addr[ETH_ALEN]; }; +enum ieee80211_offload_flags { + IEEE80211_OFFLOAD_ENCAP_4ADDR, + IEEE80211_OFFLOAD_ENCAP_ENABLED, + IEEE80211_OFFLOAD_DECAP_ENABLED, +}; + struct ieee80211_vif { /* TODO FIXME */ enum nl80211_iftype type; int cab_queue; - int offload_flags; + int offload_flags; /* enum ieee80211_offload_flags */ enum ieee80211_vif_driver_flags driver_flags; bool p2p; bool probe_req_reg; @@ -942,12 +948,6 @@ struct ieee80211_low_level_stats { uint32_t dot11RTSSuccessCount; }; -enum ieee80211_offload_flags { - IEEE80211_OFFLOAD_ENCAP_4ADDR, - IEEE80211_OFFLOAD_ENCAP_ENABLED, - IEEE80211_OFFLOAD_DECAP_ENABLED, -}; - struct ieee80211_ops { /* TODO FIXME */ int (*start)(struct ieee80211_hw *); From nobody Fri Jan 16 19:41:31 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9G36yymz6Nlvj for ; Fri, 16 Jan 2026 19:41: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 4dt9G32m39z3y8K for ; Fri, 16 Jan 2026 19:41:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0F5woW5fY51dQOun4rRURQ//mvpQggzJRZSAzbEzXKs=; b=HwWp5amS8GGn5ZRI0MFNo/VqLvWEWUuFqIzaW8oqBuFYiRm3BVOjUm1iMSw9L2ugLYrhaZ SRexneHMmixq2MZyKYD0DO3O1tXQs8sWJU2ltoatJD4nAzvNZnrqE0cnPT8GLwqS6b6+8W JugyqpFnlJ6mCXmAhr+1QwpEwOdjm/XM+v6hWvmGKY3gagVQv4lKBgVtJb7Hfcj6+vzBYy LwwI4j0tps81GRlsFoeioEndQBnsdcb6qrD3tQmeaXAtWCmwwsha7FH8J6D2umpFruKy4T Ic0k0f5nCIayF7EsLYqSU4P9Lqn7keRCkXqF3Lw/1ShJWHfLiEhDo2842Br0Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0F5woW5fY51dQOun4rRURQ//mvpQggzJRZSAzbEzXKs=; b=V3dR5mVDHcrLBXU30dJuZTznd57yMfeSYU1/gVb1MS4YubqjZpshagIBK6bGBaRq4xksfy beYNb9g1mnCPsbV2GMzaU1Q6BBX1CICfW3jaRbpZjpv5RgjerrI+Vb8VJrqqhkTF5Xu3e9 QaIh3WIoR8X7Mp+/n8iCeOUzAW5OLK3oBLvfdllZhs4kb7VB7vkxKT3jmHPmXHfMhjTgDA aP2JnXULTBEETG9/LOoHcAALX7Fl/D3dbJhDcRpkh925jVf9Mwlsl+QmghdqXEFvmhBdsM pu1elHa53jvky7ZVBG0ujozPDBC/YJX0E9nQMe1d7vlEegKxlz3Yn000PWjkPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592491; a=rsa-sha256; cv=none; b=tFJbY3lhN8LZd4uHpV4feSWTXLjBAOs2g86wQfzWhkg/WwT4ZoL05t9oCjy/DA/AvN08KD gzUOWsRrONv0XEZ9dqx0Hj/uINdJODm0ZopgsF9ukmmXolMBkRIh+k/H9l8+BmIiq4kJuA 8YzMwYapY1imQIm1iVfOYc9RXwomvRtULWoBTYMF5jCGx5UTJGSdqdKTGWKJGgy/BNgTVq jPkzs8/EuwACk0RE1dfUH/0nUMkFd8hqIv8bjpSa1S30i5sPa2MoTQPLnMZZNAEzqdGQbj t9FtDqIyI7cRGcE7dQa4pJgrqObQdgZWRaw84BCGzNQLzrkKZ9fBfi2bXzUzKQ== 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 4dt9G329XwzCfC for ; Fri, 16 Jan 2026 19:41:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de20 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 3fc5eb05910f - stable/14 - sys/bitcount.h: add __const_bitcount 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3fc5eb05910f0377e661c0ed57842baa1642b237 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:31 +0000 Message-Id: <696a946b.de20.4b1ba44e@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3fc5eb05910f0377e661c0ed57842baa1642b237 commit 3fc5eb05910f0377e661c0ed57842baa1642b237 Author: Bjoern A. Zeeb AuthorDate: 2025-09-15 23:54:57 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:55 +0000 sys/bitcount.h: add __const_bitcount Add a version of __const_bitcount which can be used to get the numbers at compile-time when __builtin_popcountg() is not available (see sys/compat/linuxkpi/common/include/linux/bitops.h for LLVM before 19 and gcc before 14). Obtained from: https://reviews.freebsd.org/D50995#1174884 by obiwac Sponsored by: The FreeBSD Foundation Reviewed by: brooks, emaste Differential Revision: https://reviews.freebsd.org/D54301 (cherry picked from commit 27aa23cee81088b0ffa974eec9f03c654c36438e) (cherry picked from commit 605389e40b938088718bd8aa75f4919884789927) --- sys/sys/bitcount.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sys/sys/bitcount.h b/sys/sys/bitcount.h index aaa85c38d2e3..dfbba70f4d6a 100644 --- a/sys/sys/bitcount.h +++ b/sys/sys/bitcount.h @@ -41,6 +41,28 @@ #include +#define __const_bitcount8(x) ( \ + !!((x) & (1 << 0)) + \ + !!((x) & (1 << 1)) + \ + !!((x) & (1 << 2)) + \ + !!((x) & (1 << 3)) + \ + !!((x) & (1 << 4)) + \ + !!((x) & (1 << 5)) + \ + !!((x) & (1 << 6)) + \ + !!((x) & (1 << 7))) + +#define __const_bitcount16(x) ( \ + __const_bitcount8(x) + \ + __const_bitcount8((x) >> 8)) + +#define __const_bitcount32(x) ( \ + __const_bitcount16(x) + \ + __const_bitcount16((x) >> 16)) + +#define __const_bitcount64(x) ( \ + __const_bitcount32(x) + \ + __const_bitcount32((x) >> 32)) + #ifdef __POPCNT__ #define __bitcount64(x) __builtin_popcountll((__uint64_t)(x)) #define __bitcount32(x) __builtin_popcount((__uint32_t)(x)) From nobody Fri Jan 16 19:41:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9G25WHHz6Nlj6 for ; Fri, 16 Jan 2026 19:41: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 4dt9G11PT3z3xyY for ; Fri, 16 Jan 2026 19:41:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WxD+Ctn8saJJQ8M6CdA2c55I4U3Xgl1jUMOzX2bOIbQ=; b=A1aslG0igr3ZqGGQ7S5FR3YVMTQiz7+I6lni3/fHuvJpV27z4mA6yQ0W2mvIXUqg/ZYsWN BZ5rTkSr1QV6vN8RHCXS/sJ3yqW16TLbNdUAk6ieuaI+VScwqVO6SeDicYXdYgL/aCHmx7 3P+M/svv5x0HZm7ZalMWaQyAKTt7OJVxjn2fZftiVkhr9xEfwycUzGuX6T9Gt2eq1slYwJ YvrHisSKnjoY3S7I6HyJVXpX+fWlM5LtwyKQmpb+d9lyqhThcnLV4dp+zfq/IEFYiA4rwq 9ogvQj6LBHjPCAKn9dtpbufDEIbbcMgjHgGtn+Ltnp73Thmg45pUuiyDCe47Sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WxD+Ctn8saJJQ8M6CdA2c55I4U3Xgl1jUMOzX2bOIbQ=; b=GyP0hSqKFjxyUQ+wyWhWkUWr2FxHmMhzj2bWBxH+LbXMYQS/M79IEYhA9VJEsV8hXpqBWR gR4WuDslhm96MP3JtgMqS9wW7VZGfokKNU9D2m2aAYhf2MiQYwyIagMdTfZK/k/JwZWxVo qnSXW74ORH4+tZiOiPJvBPYUdTd+qGg7VRVyuRzaSRKNTySYXLwzTUv84ePo8INT54Imij +ZPy9DSeObgJLfwNSmcWI8uAYNyfsmlYqGBu6J1GR0nbdRhKbXF2H3/XdGhAe4ZAHqnuAr uoPVYTzP9W1QOBC5G7s7zVoNfER8xo/MG7hgL48CYn4mUnrhsSYfcAorY+GyTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592489; a=rsa-sha256; cv=none; b=vCGhIPsp93LJBzxGKdIuqTlvXWhBGVkVdDFKoH7D1ciFfv7AaJd7AADvBFd9GOEwIszYvV RiNoJaTvjd2oIjJ8hN/+tv/MyZ0Rm99LfmPM0X3ua63ZR4ZJSw6yW7jDnhLUlR0XN2cSAC 8MwoRBz6RLFtNK4yZneDAQucClRtAucxHsDefOZlEc4jrbaZap3FshPMrqSaRqhZMirwlh ZUdSAPdLxBE9WZGo2JLHlFoXJ+qPRWjZP3qcyi4aVE0EMOpWQ3qrnmG0iBCX3F1+9rupW9 lyWbgmQ+WoIchpzQeDidd7p2jPqu6cvV/bblfYqEdFWl2bJkMP8TxE4tjSjnoQ== 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 4dt9G110GGzCMH for ; Fri, 16 Jan 2026 19:41:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de1c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 1b9d37ebbdb3 - stable/14 - mt76: set appropriate CONFIG options for the module build 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1b9d37ebbdb36be70c26da4c3a801cd2fb346b70 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:29 +0000 Message-Id: <696a9469.de1c.7a31e4ef@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1b9d37ebbdb36be70c26da4c3a801cd2fb346b70 commit 1b9d37ebbdb36be70c26da4c3a801cd2fb346b70 Author: Bjoern A. Zeeb AuthorDate: 2025-11-25 17:16:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:55 +0000 mt76: set appropriate CONFIG options for the module build Always set CONFIG_ARCH_DMA_ADDR_T_64BIT as it is true for all architectures we support. Add an option for CONFIG_NET_MEDIATEK_SOC_WED, which we currently do not yet support. Sponsored by: The FreeBSD Foundation (cherry picked from commit 87aa494dfca73204516799033821ab1db184933f) (cherry picked from commit e2ebe56c50e77f3302c85a8203f8fa4050ae0f54) --- sys/modules/mt76/Makefile.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/modules/mt76/Makefile.inc b/sys/modules/mt76/Makefile.inc index f1aa69f1bc8e..c6f220ea35d3 100644 --- a/sys/modules/mt76/Makefile.inc +++ b/sys/modules/mt76/Makefile.inc @@ -7,11 +7,15 @@ COMMONDIR= ${SRCTOP}/sys/contrib/dev/mediatek/mt76 WITH_CONFIG_PM= 0 WITH_DEBUGFS= 0 +WITH_SOC_WED= 0 # Other SRCS+= ${LINUXKPI_GENSRCS} SRCS+= opt_wlan.h opt_inet6.h opt_inet.h +# This is true for all architectures we build for. +CFLAGS+= -DCONFIG_ARCH_DMA_ADDR_T_64BIT + # Helpful after fresh imports. #CFLAGS+= -ferror-limit=0 @@ -23,7 +27,12 @@ CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} CFLAGS+= -DCONFIG_MAC80211_DEBUGFS=${WITH_DEBUGFS} .endif +.if defined(WITH_SOC_WED) && ${WITH_SOC_WED} > 0 +CFLAGS+= CONFIG_NET_MEDIATEK_SOC_WED +.endif + CFLAGS+= -I${COMMONDIR} CFLAGS+= ${LINUXKPI_INCLUDES} + # end From nobody Fri Jan 16 19:41:30 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9G25YrZz6Nlp4 for ; Fri, 16 Jan 2026 19:41: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 4dt9G22ht3z3xyj for ; Fri, 16 Jan 2026 19:41:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dHlvzYczWbkh5YpvvujJDv+ml7aUpk76V27nFlhrbx8=; b=IlDcjadT+LKFzSxGaMeDwQyoTR1m3wOyp4bMwAWwSMcKKGyFSwjuNzP9T+627N2qSPQX68 c0Ve+85fFSH3v7Wm6w4kB5Y4FHhSgd9tH2p0uD9hdKT94+6fnPFyIDBS8SNM7a8/ul3/4G BLX6xgtuqPtrpYoKBUm+kHsUSly1rTf1yhHJRmXs73ee5QHBbbT4/DpvN1SNqGdC2Cbn62 pI31t8LY87RX8S2zyViQOtt1eSvZvVgfteEhoRFI8BG/cGG1VnSuwn8pWIuDdVTIppDTbN X+FRElfo0U5ebqwItuG4eNQXsAnrjqNfcAUwnYkp0SpjcDV11EQMnXJdA2rLmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dHlvzYczWbkh5YpvvujJDv+ml7aUpk76V27nFlhrbx8=; b=ml4vAwLRSCDdg9VmykorsFWw+hXgzhWd7Rjos4kc+ylatCiThDnpmKeK4nZdj8omXYd2Ek LEDpEAg9dLTN2l+TXQEMMIsayqzPu/F6fhjOJW5x1kFYwrcYEN/94kL/w43xlv+qmbNO69 tr0/UjslNvM/IuZhpEuusYLErzyRosQKTvBYrNlrakCceuA+U2HOw2K3mPriNCdSkyXzme uk0FxdvpSWlgDm2bidcDFvvgTwtaueZf/zBBuv5hOzzSE0+ocdsoSJRyDtfu18oxloH9pd c91oXL7p8G1ELdeoFhd8d1isvMNt5zOwmbge/xZCVsegYZTWMkflt65gLwPnOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592490; a=rsa-sha256; cv=none; b=GK0dllivWSLpaR4cmIcM9DD1SAxITXquaLsR6I6SECFCvQAIU09aWcVYuxQ8gjdQ+kcfMN OR4FgqtH+TnzuJQXi8tPQ1hjEdABy1V2YEXnAqzmfFOPOJ4qg6i+NxSzp+iS5Fa+0cxJef gXPQXIucBD8Q1xDgx7xZPX3TYvh2zc3M0cr5i9lfWVPyvg6eFusQXWr4DZHsUwoK/C+npL sipMSMCC6cHHccrC91t05yMJCCOwBV1DRaBeeaOCQje+mdC4uBNa4j0V0kcmJn+mXxMXVF 4FvMtTiirmmm7cMAfOy79iDWEiDcrJDakGYb+LjNlPiu8XGNaCN0EoFuFFKqrw== 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 4dt9G21gDWzCbt for ; Fri, 16 Jan 2026 19:41:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id e144 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 8fc0789a4dda - stable/14 - LinuxKPI: 802.11: lock down the "txq_scheduled" tailq 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8fc0789a4dda595311bec566719ff3c2e2744ee2 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:30 +0000 Message-Id: <696a946a.e144.2051a685@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8fc0789a4dda595311bec566719ff3c2e2744ee2 commit 8fc0789a4dda595311bec566719ff3c2e2744ee2 Author: Bjoern A. Zeeb AuthorDate: 2025-12-10 20:29:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:55 +0000 LinuxKPI: 802.11: lock down the "txq_scheduled" tailq For consistency rename the "scheduled_txqs" tailq to "txq_scheduled" and add a lock per txq ("txq_scheduled_lock[]"). We use the "_bh" locking as this called from the device driver. This fixes panics due to concurrent access to the tailq, especially in between "first" and "remove" on the out-direction and between "insert" and "elem_init" on the in-direction. This was easily reproducible just running iperf3 at basic rates for a few seconds to minutes with multiple chipsets, not only rtw89. Sponsored by: The FreeBSD Foundation PR: 290636 Reported by: arved, and others before (cherry picked from commit 567a097c8ab60d9fcd68a87c3c5ad605fe8715cc) (cherry picked from commit 2e1156f75836a0e5a4026e13d72b54f272e705cb) --- sys/compat/linuxkpi/common/src/linux_80211.c | 51 ++++++++++++++++++++++------ sys/compat/linuxkpi/common/src/linux_80211.h | 3 +- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 96d9890beeb3..a92f3f75912d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6019,8 +6019,9 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) sx_init_flags(&lhw->lvif_sx, "lhw-lvif", SX_RECURSE | SX_DUPOK); TAILQ_INIT(&lhw->lvif_head); for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { + spin_lock_init(&lhw->txq_scheduled_lock[ac]); lhw->txq_generation[ac] = 1; - TAILQ_INIT(&lhw->scheduled_txqs[ac]); + TAILQ_INIT(&lhw->txq_scheduled[ac]); } /* Chanctx_conf */ @@ -6054,6 +6055,7 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) { struct lkpi_hw *lhw; struct mbuf *m; + int ac; lhw = HW_TO_LHW(hw); free(lhw->ic, M_LKPI80211); @@ -6114,6 +6116,9 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) } } + for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) + spin_lock_destroy(&lhw->txq_scheduled_lock[ac]); + /* Cleanup more of lhw here or in wiphy_free()? */ spin_lock_destroy(&lhw->txq_lock); LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); @@ -8121,7 +8126,12 @@ linuxkpi_ieee80211_wake_queue(struct ieee80211_hw *hw, int qnum) spin_unlock_irqrestore(&lhw->txq_lock, flags); } +/* -------------------------------------------------------------------------- */ + /* This is just hardware queues. */ +/* + * Being called from the driver thus use _bh() locking. + */ void linuxkpi_ieee80211_txq_schedule_start(struct ieee80211_hw *hw, uint8_t ac) { @@ -8129,10 +8139,16 @@ linuxkpi_ieee80211_txq_schedule_start(struct ieee80211_hw *hw, uint8_t ac) lhw = HW_TO_LHW(hw); - IMPROVE_TXQ("Are there reasons why we wouldn't schedule?"); - IMPROVE_TXQ("LOCKING"); + if (ac >= IEEE80211_NUM_ACS) { + ic_printf(lhw->ic, "%s: ac %u out of bounds.\n", __func__, ac); + return; + } + + spin_lock_bh(&lhw->txq_scheduled_lock[ac]); + IMPROVE("check AIRTIME_FAIRNESS"); if (++lhw->txq_generation[ac] == 0) lhw->txq_generation[ac]++; + spin_unlock_bh(&lhw->txq_scheduled_lock[ac]); } struct ieee80211_txq * @@ -8145,24 +8161,33 @@ linuxkpi_ieee80211_next_txq(struct ieee80211_hw *hw, uint8_t ac) lhw = HW_TO_LHW(hw); txq = NULL; - IMPROVE_TXQ("LOCKING"); + if (ac >= IEEE80211_NUM_ACS) { + ic_printf(lhw->ic, "%s: ac %u out of bounds.\n", __func__, ac); + return (NULL); + } + + spin_lock_bh(&lhw->txq_scheduled_lock[ac]); /* Check that we are scheduled. */ if (lhw->txq_generation[ac] == 0) goto out; - ltxq = TAILQ_FIRST(&lhw->scheduled_txqs[ac]); + ltxq = TAILQ_FIRST(&lhw->txq_scheduled[ac]); if (ltxq == NULL) goto out; if (ltxq->txq_generation == lhw->txq_generation[ac]) goto out; + IMPROVE("check AIRTIME_FAIRNESS"); + + TAILQ_REMOVE(&lhw->txq_scheduled[ac], ltxq, txq_entry); ltxq->txq_generation = lhw->txq_generation[ac]; - TAILQ_REMOVE(&lhw->scheduled_txqs[ac], ltxq, txq_entry); txq = <xq->txq; TAILQ_ELEM_INIT(ltxq, txq_entry); out: + spin_unlock_bh(&lhw->txq_scheduled_lock[ac]); + return (txq); } @@ -8175,8 +8200,6 @@ void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *hw, ltxq = TXQ_TO_LTXQ(txq); - IMPROVE_TXQ("LOCKING"); - /* Only schedule if work to do or asked to anyway. */ LKPI_80211_LTXQ_LOCK(ltxq); ltxq_empty = skb_queue_empty(<xq->skbq); @@ -8184,20 +8207,26 @@ void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *hw, if (!withoutpkts && ltxq_empty) goto out; + lhw = HW_TO_LHW(hw); + spin_lock_bh(&lhw->txq_scheduled_lock[txq->ac]); /* * Make sure we do not double-schedule. We do this by checking tqe_prev, * the previous entry in our tailq. tqe_prev is always valid if this entry * is queued, tqe_next may be NULL if this is the only element in the list. */ if (ltxq->txq_entry.tqe_prev != NULL) - goto out; + goto unlock; + + TAILQ_INSERT_TAIL(&lhw->txq_scheduled[txq->ac], ltxq, txq_entry); +unlock: + spin_unlock_bh(&lhw->txq_scheduled_lock[txq->ac]); - lhw = HW_TO_LHW(hw); - TAILQ_INSERT_TAIL(&lhw->scheduled_txqs[txq->ac], ltxq, txq_entry); out: return; } +/* -------------------------------------------------------------------------- */ + void linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index eb7bae811695..ea5d1d72e78c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -226,7 +226,8 @@ struct lkpi_hw { /* name it mac80211_sc? */ struct mtx txq_mtx; uint32_t txq_generation[IEEE80211_NUM_ACS]; - TAILQ_HEAD(, lkpi_txq) scheduled_txqs[IEEE80211_NUM_ACS]; + spinlock_t txq_scheduled_lock[IEEE80211_NUM_ACS]; + TAILQ_HEAD(, lkpi_txq) txq_scheduled[IEEE80211_NUM_ACS]; spinlock_t txq_lock; /* Deferred RX path. */ From nobody Fri Jan 16 19:41:32 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9G4501nz6Nllw for ; Fri, 16 Jan 2026 19:41: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 4dt9G43684z3xqL for ; Fri, 16 Jan 2026 19:41:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ke/oyLxNau4HU4Ur69KLmBx1mYdR+WsD4veR1lL0vB8=; b=O4evpTirX1euAN3UA1eSAX5AybWya9wy+ovZ11owWyA1ky24MDi3ZmCJGtd11M+eeWDnfK GN05ipiWDJEBDjK44519Q+Bw8qCnYqt2lLVSSIdymMCTOUEoo9NHL4jTbu2XVYwHnnAGOw hYQFMfJSRjMXodlEsBZHg6ArnbayfKy9FqcRUOvCylo9hdSN2a25uHXoeemQHoKdwTCFoh W/L9uZU5Tv/G26LvtZdvJwT0dj+VNwODoJ7oXPxUvs48eHflzkpwhJZjVbIDko118OjuIt m5plpwrE/rhGZjO2Ec65gJue3BETUgadj9TolWukLPBVYKNIURcZb4VDqevsUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ke/oyLxNau4HU4Ur69KLmBx1mYdR+WsD4veR1lL0vB8=; b=iuVmrLcLPXCBNUnCtC+AVasUi+Wyu5JADSe8FWgf2G74zL4/GedXmLi7ybaCgTXqDOW6lb kQmZyWrTX25UsLE8M2VbMZ1YTZX+Z8sCqEpabWsCnmo/zbZfHtRcroBLevC5KBKWN7iIXx fsDpqFvT7/N1fs+C0OauQkP6lpqBeEc4yuQ+6bW4Ebs1op+KenaIF+CCMYyaGsVBu9wWl9 wIpqOrwGznz6EPuQxaGSUEcitmpm/VeOCfsPO8/hWe8R40Rz21HwYaH6aUKVazEbmMFDa+ nS2RK11gOwvQHcF1cbUrkn+OLrDXQ1ybhmJXxf6EHwIYKAUCmQ9vqJ0VChg/Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592492; a=rsa-sha256; cv=none; b=QFbOGKxjQAtg6QKbOLB5C8oENvzUQ7ty3xrP0exJVxHule8dt8v4jWdxOd/w4CoH++pdu4 jP18Tp3kIjDhs8Nua2CUoowk9t5iOmfsk5xRUZiEmteh5+ApFlYNy/ggnVkUchZ91T7fbD oeLQnxdZ3lTPY85NtbWw6p3cKYwQmPpYd9M1Ax+TmYguK7CqLOnw4auMNz9HzdwytKSxw9 gSfjlb05agC7bFZ+KP5jBi75turPb4ubam9rRriO5tz91IEOE6LukLL0Rk87QOOQ3IjWvc Yw1ZE/bG0O+l4W0dQ22lHGi0eoOl+tKJmvuGR4DJJwhhJ5MlvyiDWJYXg6XroA== 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 4dt9G42XVmzCW8 for ; Fri, 16 Jan 2026 19:41:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id de24 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: e7c3b91d3017 - stable/14 - LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e7c3b91d30176988612f3ab95140f50f13f29178 Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:32 +0000 Message-Id: <696a946c.de24.c9aa8d8@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e7c3b91d30176988612f3ab95140f50f13f29178 commit e7c3b91d30176988612f3ab95140f50f13f29178 Author: Bjoern A. Zeeb AuthorDate: 2025-12-28 17:03:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:55 +0000 LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by queue information. This was helpful for debugging various issues, like selecting the outbound queue, stopping queues for BAR and helped finding multiple bugs. Sponsored by: The FreeBSD Foundation (cherry picked from commit 32ea8209825af594cbfa1fc654d45eb9a6aab528) (cherry picked from commit 6b9c0ac008a9c52b21b05c96ead6def41aa89ead) --- share/man/man4/linuxkpi_wlan.4 | 9 +++- sys/compat/linuxkpi/common/src/linux_80211.c | 78 ++++++++++++++++++++++++++-- sys/compat/linuxkpi/common/src/linux_80211.h | 4 ++ 3 files changed, 85 insertions(+), 6 deletions(-) diff --git a/share/man/man4/linuxkpi_wlan.4 b/share/man/man4/linuxkpi_wlan.4 index e433fc1c8549..b4e7262a9b1e 100644 --- a/share/man/man4/linuxkpi_wlan.4 +++ b/share/man/man4/linuxkpi_wlan.4 @@ -6,7 +6,7 @@ .\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from .\" the FreeBSD Foundation. .\" -.Dd June 13, 2025 +.Dd December 28, 2025 .Dt LINUXKPI_WLAN 4 .Os .Sh NAME @@ -108,6 +108,13 @@ Print statistics for a given, associated .Xr wlan 4 interface; typically IF would be .Em wlan0 . +.It Va compat.linuxkpi.80211.IF.dump_stas_queues +Like +.Va compat.linuxkpi.80211.IF.dump_stas +but also print queue statistics. +This sysctl is +.Sq hidden +and normally only needed for debugging purposes. .El .Sh SEE ALSO .Xr iwlwifi 4 , diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index a92f3f75912d..e82b1eecc0ac 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -275,7 +275,7 @@ lkpi_nl80211_sta_info_to_str(struct sbuf *s, const char *prefix, } static void -lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) +lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s, bool dump_queues) { struct lkpi_hw *lhw; struct ieee80211_hw *hw; @@ -285,6 +285,7 @@ lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) struct ieee80211_sta *sta; struct station_info sinfo; int error; + uint8_t tid; vif = LVIF_TO_VIF(lvif); vap = LVIF_TO_VAP(lvif); @@ -369,6 +370,39 @@ lkpi_80211_dump_lvif_stas(struct lkpi_vif *lvif, struct sbuf *s) sbuf_printf(s, " he_dcm %u he_gi %u he_ru_alloc %u eht_gi %u\n", sinfo.txrate.he_dcm, sinfo.txrate.he_gi, sinfo.txrate.he_ru_alloc, sinfo.txrate.eht_gi); + + if (!dump_queues) + continue; + + /* Dump queue information. */ + sbuf_printf(s, " Queue information:\n"); + sbuf_printf(s, " frms direct tx %ju\n", lsta->frms_tx); + for (tid = 0; tid <= IEEE80211_NUM_TIDS; tid++) { + struct lkpi_txq *ltxq; + + if (sta->txq[tid] == NULL) { + sbuf_printf(s, " tid %-2u NOQ\n", tid); + continue; + } + + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); +#ifdef __notyet__ + sbuf_printf(s, " tid %-2u flags: %b " + "txq_generation %u skbq len %d\n", + tid, ltxq->flags, LKPI_TXQ_FLAGS_BITS, + ltxq->txq_generation, + skb_queue_len_lockless(<xq->skbq)); +#else + sbuf_printf(s, " tid %-2u " + "txq_generation %u skbq len %d\n", + tid, + ltxq->txq_generation, + skb_queue_len_lockless(<xq->skbq)); +#endif + sbuf_printf(s, " frms_enqueued %ju frms_dequeued %ju " + "frms_tx %ju\n", + ltxq->frms_enqueued, ltxq->frms_dequeued, ltxq->frms_tx); + } } wiphy_unlock(hw->wiphy); } @@ -386,7 +420,28 @@ lkpi_80211_dump_stas(SYSCTL_HANDLER_ARGS) sbuf_new_for_sysctl(&s, NULL, 1024, req); - lkpi_80211_dump_lvif_stas(lvif, &s); + lkpi_80211_dump_lvif_stas(lvif, &s, false); + + sbuf_finish(&s); + sbuf_delete(&s); + + return (0); +} + +static int +lkpi_80211_dump_sta_queues(SYSCTL_HANDLER_ARGS) +{ + struct lkpi_vif *lvif; + struct sbuf s; + + if (req->newptr) + return (EPERM); + + lvif = (struct lkpi_vif *)arg1; + + sbuf_new_for_sysctl(&s, NULL, 1024, req); + + lkpi_80211_dump_lvif_stas(lvif, &s, true); sbuf_finish(&s); sbuf_delete(&s); @@ -4019,6 +4074,11 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], SYSCTL_CHILDREN(node), OID_AUTO, "dump_stas", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, lvif, 0, lkpi_80211_dump_stas, "A", "Dump sta statistics of this vif"); + SYSCTL_ADD_PROC(&lvif->sysctl_ctx, + SYSCTL_CHILDREN(node), OID_AUTO, "dump_stas_queues", + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_SKIP, lvif, 0, + lkpi_80211_dump_sta_queues, "A", + "Dump queue statistics for any sta of this vif"); IMPROVE(); @@ -5244,6 +5304,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) LKPI_80211_LTXQ_LOCK(ltxq); skb_queue_tail(<xq->skbq, skb); + ltxq->frms_enqueued++; #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) printf("%s:%d mo_wake_tx_queue :: %d %u lsta %p sta %p " @@ -5273,6 +5334,7 @@ ops_tx: control.sta = sta; wiphy_lock(hw->wiphy); lkpi_80211_mo_tx(hw, &control, skb); + lsta->frms_tx++; wiphy_unlock(hw->wiphy); } @@ -7591,6 +7653,8 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, LKPI_80211_LTXQ_LOCK(ltxq); skb = skb_dequeue(<xq->skbq); + if (skb != NULL) + ltxq->frms_dequeued++; LKPI_80211_LTXQ_UNLOCK(ltxq); stopped: @@ -8232,18 +8296,21 @@ linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { struct lkpi_hw *lhw; - struct ieee80211_txq *ntxq; - struct ieee80211_tx_control control; - struct sk_buff *skb; lhw = HW_TO_LHW(hw); LKPI_80211_LHW_TXQ_LOCK(lhw); ieee80211_txq_schedule_start(hw, txq->ac); do { + struct lkpi_txq *ltxq; + struct ieee80211_txq *ntxq; + struct ieee80211_tx_control control; + struct sk_buff *skb; + ntxq = ieee80211_next_txq(hw, txq->ac); if (ntxq == NULL) break; + ltxq = TXQ_TO_LTXQ(ntxq); memset(&control, 0, sizeof(control)); control.sta = ntxq->sta; @@ -8251,6 +8318,7 @@ linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, skb = linuxkpi_ieee80211_tx_dequeue(hw, ntxq); if (skb == NULL) break; + ltxq->frms_tx++; lkpi_80211_mo_tx(hw, &control, skb); } while(1); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index ea5d1d72e78c..bad77a543dba 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -138,6 +138,9 @@ struct lkpi_txq { bool stopped; uint32_t txq_generation; struct sk_buff_head skbq; + uint64_t frms_enqueued; + uint64_t frms_dequeued; + uint64_t frms_tx; /* Must be last! */ struct ieee80211_txq txq __aligned(CACHE_LINE_SIZE); @@ -164,6 +167,7 @@ struct lkpi_sta { bool in_mgd; /* XXX-BZ should this be per-vif? */ struct station_info sinfo; /* statistics */ + uint64_t frms_tx; /* (*tx) */ /* Must be last! */ struct ieee80211_sta sta __aligned(CACHE_LINE_SIZE); From nobody Fri Jan 16 19:41:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9G56Ld6z6NlcY for ; Fri, 16 Jan 2026 19:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dt9G53RG1z3yH7 for ; Fri, 16 Jan 2026 19:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y405ohMfid9+9pPGgTR6x0l54jSd46DmKuWLuwHPXWc=; b=F7JsjKQR14JYzZl/dOf0mt78WFYCJrpwQsP8JWW1AhICAhS3f69xTQi5MvrBwBfLtKowkQ yws5Qk+4YGphrT1EKXlDxgFPV7pnsBO8czPjH+rBUHZNQzP7hZyS/3GDkC/kgIbaN7REAK ptDlkUVdOXXwrrxZap7BbGNIv2yovJ/NWhCvQtg3uVnEA71ANfbRSC+ziTYw7HgYuaGXjw E/uZLJSrMYtXM0Ifs/SF+Ya4UEl2bOO5xHILjtKjogY6UFgpXLNXgMHUO18HNQ0Ph4UC87 4sFN5DousPac8gd3ONtwxCCmOKUsO9XWK1hI2OK3+aXIo+aby1ASQtW/2fattw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y405ohMfid9+9pPGgTR6x0l54jSd46DmKuWLuwHPXWc=; b=GBCwE239Yn0lGAuCiz1cNAyp8qdBxkQdoDOE6dDK01Bm6lxLmqlmf+pb0qEMMmwP6Wt2p/ OazjJ07XvbFyKsPeWz9mDzLNag8CzuMH1jD2CZ2XNZdwp6sLrvIu0Kt0Evu3HpnF3ZVxxj hFOlOXpxLPje42xd36hzLnP8yvVCW2G723lrps+3uk0vbwn9El7BTWGWCqxp5V7A2WOTJ0 w7FCV1oDUKKUtDGirjaBNAKaWiFIZaeuCmhXPSxFlVOsCBXNXEVzK4dB7cewO9awE71eJX dG4mmRrUhKqHwRlNsxf2rH83GI35R1ViGCiwebrkYlVdSPv2BSr27uV0I1embw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592493; a=rsa-sha256; cv=none; b=E8ikngXRIPzQg9Hwr7cwYE8i+a9TKE2OJuYXRlzuhPJRxquVUdTL/ScC8HX/yeP5VwTYi/ q7yKxmtCQKrRttZ1NvC/CH5x0x7EzunkdEKsCRyM8b5gkOowk4jOnCoe8KKPCCY1humSfA +AiDESU9pSRP5xlnbWGoAEBPiZT3MO/ETQDecU3MU3/XO1pYySCYPNh9/pxHO3Gz/9Eb7W 6/Tn5eZKaUe4W10SQuQ8+IQhb4aKiPOKfBoUSjK4ndOyCFjhwSmShjjNgc26QhmfH766t8 jYcyOvWCw9JTVsOzhunuCQw0l5ijpcm0+qqJdRW4gJhvWwtcUQq7mwQsr3HG5g== 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 4dt9G532ZszCWB for ; Fri, 16 Jan 2026 19:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cae3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:41:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: fff9ab9ed295 - stable/14 - LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fff9ab9ed295e7f584feba459a1f0a3f4a1b783e Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:41:33 +0000 Message-Id: <696a946d.cae3.3ea7fde3@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=fff9ab9ed295e7f584feba459a1f0a3f4a1b783e commit fff9ab9ed295e7f584feba459a1f0a3f4a1b783e Author: Bjoern A. Zeeb AuthorDate: 2025-12-28 17:15:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:37:55 +0000 LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one() When lkpi_80211_txq_tx_one() calls into the crypto offloading parts to possibly make space in the headroom, the beginning of our frame moves. We have to reset hdr after that call as otherwise later classifications based on the hdr->frame_control will fail or cause wrong classificaiton of packets. This makes sure frames will either be directly sent using (*mo_tx)() or use the correct tid for the correct queue. This helps to get rtwx8 packets flowing after BA was negotiated. Sponsored by: The FreeBSD Foundation Fixes: 11db70b6057e4 (cherry picked from commit f0395993e1ea83705e0da6623843e7d5d03f7269) (cherry picked from commit 4d255abe992fef69c97ce10991d815eda638c76d) --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index e82b1eecc0ac..cd7898ab16ca 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5281,6 +5281,8 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) dev_kfree_skb(skb); return; } + /* Reset header as data might have moved. */ + hdr = (void *)skb->data; } #endif From nobody Fri Jan 16 19:49:44 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dt9RX4ml9z6NmbC for ; Fri, 16 Jan 2026 19:49: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 4dt9RX21Jzz3HjV for ; Fri, 16 Jan 2026 19:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+QxufN+e8xb1YoCVcd9QKqmIkp40vYUDbTgDJ56jdU=; b=YMPWpt417t9bHT1XtmdRlGIlHtIVUCCPWY5wJmpL6UVcj24oQ3abPEFWbj8yGhsf9mZhWJ dB6A85NCj+45QP1iGtUPTm3liX9HIC/1MlOBb5eN+abaKMYkDWB04Z/ztQ1ZgT2sQrhcAm VXt11ucMKzb3y0D2B1DVfxhaNUBcIPVdJnIweH/SLDlB5X8ELCWh0f+F1h1nNVf4Zndopn uyf6EuY/MjtHSxYBhk7z5Tp0jXMS4D9XADeRChm9MgNuibUJoytaHQFT6iKN9RF0Vfz8P5 3EViG//QDkTUTI24aXuXWvUm0heiLo6AyE/H01cMQ10s9awcLPz+7ikt7eYJ3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768592984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+QxufN+e8xb1YoCVcd9QKqmIkp40vYUDbTgDJ56jdU=; b=KA4KZMbdQQxnwlrFDMO7fsGki2nT3UvEoyPpXw9X/0OXdB2Z17UJeqvIpR5/1SRm/pocdg meldzVO0iveUkfu+CXrpBkxMxmZ1ipqpZbSJzNdKOEb6XlSkOJa0+9+navP7gv2YLQnFBA dGm41LQQJrpBta7MtY+muDX65ZrTeLwesZEXIHKSpqzd7GTnX2PhBbHPpKFLnaXIYcHQ8f /pDf3TCBwlVyrP6RMOYlSvwPPSqoZZCeSNOE+lfqUy+vn1MLYrvQKZo7m5oAMDuAsBmALE VHTuOR5YgiB0b6zggz1svYU00kVlI39sS65iocHFU3wtVKPTRvSIXEk/vhB+Lg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768592984; a=rsa-sha256; cv=none; b=tz0NwCzg6n/kV1Flm8xuuXvLMm5vfmLlqFEAY1I8ioso3eDqrjs/hCSf/JpOqseBFavSh5 yH20nsQVilF/bjDaSKWw7KxZ2Ha98NtgZ8iSb7u6TNWoE3ZcIuhVAMasOt6Quxz8ZIi7HT ed9/mQBmMZeoOFwAkmu+81rB3FJX2JmCQJKd4JW70+xMgaeAxJpiD1uIFCLLaVPP529KsL +iqz51aRydAMa8ChsrH/CrlDyjHSO8QrV7A4Yy5Qz55aGciuXg5xIVYuarm2HiYDsTF2t7 MQFQfJfARJTkAikTOW7xTVJFJZ+eMPv8OGOQAwPVkkCmCjznEecOT090vj5Xlg== 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 4dt9RX0mvMzCcS for ; Fri, 16 Jan 2026 19:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ca65 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 16 Jan 2026 19:49:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 16e2bb8177bd - stable/14 - UPDATING: Bump __FreeBSD_version to 1403508 for various LinuxKPI changes 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 16e2bb8177bd86a954ef968551d8c8980582381a Auto-Submitted: auto-generated Date: Fri, 16 Jan 2026 19:49:44 +0000 Message-Id: <696a9658.ca65.287ecc60@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=16e2bb8177bd86a954ef968551d8c8980582381a commit 16e2bb8177bd86a954ef968551d8c8980582381a Author: Bjoern A. Zeeb AuthorDate: 2026-01-16 19:46:50 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-16 19:48:36 +0000 UPDATING: Bump __FreeBSD_version to 1403508 for various LinuxKPI changes Precautiously bump __FreeBSD_version for various LinuxKPI changes so they could be detected if needed (which they should not need to, hopefully). --- UPDATING | 4 ++++ sys/sys/param.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 5396fa8204c1..4c3ea27970cb 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,10 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20260116: + Bump __FreeBSD_version to 1403508 for various LinuxKPI changes + so they could be detected if needed. + 20250916: If SRCCONF is unset and a file named src.conf is present at the top of the source tree, it will now be used instead of diff --git a/sys/sys/param.h b/sys/sys/param.h index 73f122785266..03aa6059190a 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -76,7 +76,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1403507 +#define __FreeBSD_version 1403508 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sat Jan 17 13:09:09 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcVs6f7fz6Nh09 for ; Sat, 17 Jan 2026 13:09: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 4dtcVs3TZvz3DKt for ; Sat, 17 Jan 2026 13:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+X3gDAMj7HocCqadyruCyz0Dy0yv5cB9+cuQrxRuGd8=; b=TEm1PiAEqP9tev6+1P/hLr76fRsP/MFevLhL85jHhK2FsPojArp8FJ77C3toe6xsDgP51H OlInpK4TjESppfUBIRwA4WFam4r0nLuY7+cBw+rQly00mAFLHkWvQE0WrgJWY8L9gUkZYW 3cBeWjItxUy85NOr0fN2m8RVkGS/1b9pzTDqMR/fLm0DwR2yH10QQBZrLJGjaTR+S3JxAV rffSWfuOLmVi95KsY4JThdmRQjtEcP9x8R6xn3Zv+2XRKY9reDUQ5YyKjvDblYQy/qwMiO Qf1Ji36nx4qpLGDEz55fs8Si8zNtwwmBrFEZ3H3bupF4XHbWJ73w6aFUaxG25w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+X3gDAMj7HocCqadyruCyz0Dy0yv5cB9+cuQrxRuGd8=; b=a5m9cE+WoFSYQKDNOjC8+ZUmE+v0DfU2Kz2/3BiZo5vSLN/v782VVlfdqOuGgmZjOprATa 2B6+ofP0De5AMGHBVN62jP92ODQHzEq0xX2NWwgxPEs8v3rB7dQ/qcWDe+bkI9ZMl6YTis q859O2XxCp1qyzs2eRZ8u24CKx1vf75/rVKxzaOqhWyLkFvC4GW1bccT3ciHlxS1/G19P9 5PWACFvlLbB+nyjA0fT8e26LM2N+zdBkAA7xMhYJAdHR8oYxSWnTNnjQl5DRsQh/ti1egx DRZLD7VX2g1wtnrKABpY/XOPa+v9C0UocXT7BJDVcTRwyse3cDZZdR9EvXPN3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655349; a=rsa-sha256; cv=none; b=L7FauWAhel2x42KTgh06ZOtEWAPDKxWAOFnHT29aX6myHFqdpxhVY2h3v+G2YW6t7hSDBj wLfmI8AFJaj5WTtIRsKU28LCyrouhLImvOZvdcvDtR730I4uTZ06ibuuAISNsvJ/jG7vod tM7zfOE7Baegb4DQwC6uuL9FVoLFR7ZM5wtJ2bOjKMnczILf15J0NleHDCL7ygVAxzi6mr JURR4dItYHAdgDwrnLBgsVk8qqpq+hxMRWznpmD0XE12KxbuJ1ZDB971FV8n2P851xo601 EY6JxnGJeqSsGHntozTyXlHm5EJfuwtoaD+D6z21OucJDHqDgB1+Z9a8hkUtNA== 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 4dtcVs23gqz11hh for ; Sat, 17 Jan 2026 13:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 439bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:09:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 24777428cbc2 - stable/15 - riscv: add (a dummy) acpica_machdep.h 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 24777428cbc248291ba70552b1c367afd7e3bbf4 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:09:09 +0000 Message-Id: <696b89f5.439bd.755b4246@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=24777428cbc248291ba70552b1c367afd7e3bbf4 commit 24777428cbc248291ba70552b1c367afd7e3bbf4 Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 20:33:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 07:50:57 +0000 riscv: add (a dummy) acpica_machdep.h We have reports that iwlwifi(4) works on RISC-V. While we can turn off full ACPI-specific files easily, intermittent code still relies on the header files to be present. In order to not need to completely #ifdef everything out we want to include acpi.h from LinuxKPI and as a result need this file. With this the iwlwifi(4) code compiles just fine and will do the right thing (given the functional ACPI parts are disabled/ unavailable). Sponsored by: The FreeBSD Foundation Reviewed by: mhorne, emaste Differential Revision: https://reviews.freebsd.org/D54691 (cherry picked from commit 0fa7b3bee72e7cfedabe371c7082fbf44508ec05) --- sys/riscv/include/acpica_machdep.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/sys/riscv/include/acpica_machdep.h b/sys/riscv/include/acpica_machdep.h new file mode 100644 index 000000000000..ad162f5c0907 --- /dev/null +++ b/sys/riscv/include/acpica_machdep.h @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2026 The FreeBSD Foundation + * + * This software was developed by Björn Zeeb + * under sponsorship from the FreeBSD Foundation. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef __ACPICA_MACHDEP_H__ +#define __ACPICA_MACHDEP_H__ + +/* + * This is a placeholder until full ACPI support for RISC-V emerges. + * With is we can include acpi.h from LinuxKPI and avoid (major) local changes + * to compile drivers otherwise fine on RISC-V. + */ + +#endif /* __ACPICA_MACHDEP_H__ */ From nobody Sat Jan 17 13:09:10 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcVt4Y1Cz6NgtL for ; Sat, 17 Jan 2026 13:09: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 4dtcVt2Tswz3DKv for ; Sat, 17 Jan 2026 13:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hyTj27rDIarPSYc5JeOPs2Yf3ZtYydESWzA/iXlE3kA=; b=YnWWDc3OY4qgFOuUAboNbNTNZxdBUPDSX25lZaXhY7w/KnMZ8zbbJEodWAvaD9JKRFYr+t Opmy8+z2Kdf4Q8uEUA42O4isNY6uGPgDVBTjTwETscC+k1zFSs/W46ilpUGQ8NlLVbuArh FqGQ41SNheKYAf3Ya9aU4eQGy8xxbuEkBNA3TxbL0cEJd+7E8I+ndYRo0PoppaXeSz8qY9 T6q0MN72IzynSNlHPyyabIuHaYMPuxxMvHio1ZFzhM/UjfXa6/fLxFF5O3gquhecitGIcS t9v5q6nYZC9UcL2Ay5AsOgske3wc2GiV5roRzqzjRkqmzwMGD96h32zO3qJXhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hyTj27rDIarPSYc5JeOPs2Yf3ZtYydESWzA/iXlE3kA=; b=Wa65VTlejxxk39TjUevQFs7kUZdnclVZRskBteyb+TZJjpIllrPCzY20PdGyEDY4PUCTJ9 rEAxppmN22yD26iXWaN7BHT4nsmhaBLDSLr5LyecvTVW3Sbv09iRuRhV+M3raPFkFCpdQG pmnOV5AJCrwN/O4G3qcLglWq1p4R/FQmzXLWFbw5tj1QTbJuhhbd/xtZ5eGmscwaq1UyJR Bu9dVFo/Hz5dvMEPy2YbFmbZxCsht/5Mm9NRnghrDgXbew4amPOgjoni26u3qiV1fcorOG BcVdt5sa4keyYoTa/Wnl5j4mmItu295ltlbrNRJsZOd0ndAlwbGGWQTyZEjk2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655350; a=rsa-sha256; cv=none; b=pTi93wzPvZn7MELav4vovvC/kz/+R4Lrx4A1NSRtDXHxnzhtWAiJMN8Lkjfg9kTduodFpo doNrp9eAFg54AtPw+FUh92Yj3BHF2bx5tfIggAnWvOMkrFwJZ3oUCz7BZYxY5xPO7w6hzS FLWxxzKAUNs28dAZ+7ayPUswyeYsuc2zTq+e55IrHwj346L5Ox/HcolfSrpbsj+7pIqACT iVE/zqh4gLfTUr+ZJ853ydxTleyzXiOp3hAN/wXiUf0FIPdPFfkvHQ3QOi0o0YkPpNtpTO QvF28C6GJxsKc0ijxF/e4qjr8VzrKKq3o69/wQJHLL9gI/h/0XvneceA7/FEjw== 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 4dtcVt1mwrz11Vs for ; Sat, 17 Jan 2026 13:09:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44295 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:09:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: d301aadc994f - stable/15 - LinuxKPI: include acpi headers for RISC-V 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d301aadc994f534b0d2500dd42c5c4f64d055def Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:09:10 +0000 Message-Id: <696b89f6.44295.22cc3597@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d301aadc994f534b0d2500dd42c5c4f64d055def commit d301aadc994f534b0d2500dd42c5c4f64d055def Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 20:39:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 07:51:03 +0000 LinuxKPI: include acpi headers for RISC-V In order to compile iwlwifi(4), which is reported to work on RISC-V, include the ACPI headers to avoid adding further FreeBSD-specific #ifdefs to the driver. With this iwlwifi(4) just compiles on RISC-V (at least if ACPI support is turned off in the module Makefile). Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54692 (cherry picked from commit c71f18998e0b107845f2b627861225bf6156cda6) --- sys/compat/linuxkpi/common/include/linux/acpi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/acpi.h b/sys/compat/linuxkpi/common/include/linux/acpi.h index 3e1ec1b20626..a764a975c983 100644 --- a/sys/compat/linuxkpi/common/include/linux/acpi.h +++ b/sys/compat/linuxkpi/common/include/linux/acpi.h @@ -32,7 +32,7 @@ #include #include -#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__) +#if defined(__aarch64__) || defined(__amd64__) || defined(__i386__) || defined(__riscv) #include #include From nobody Sat Jan 17 13:09:11 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcVw3Pgzz6Ngws for ; Sat, 17 Jan 2026 13:09: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 4dtcVv37J9z3DSf for ; Sat, 17 Jan 2026 13:09:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E4y7mobuGuxHeCILLGFC6EEujbQ/vfhKR+FXtG71QG0=; b=rgf1m0mAUmgeuHw3Po6RFl2Hrm+kW5Cw1ridTgU/0QAaqfdRqck+EFpg/UzhUvU8u1L1Vl iLJXThwPYZtsKAF8/YLTUi7JNWYtk0K+oZjXUI3690JzTN83+8spu/tYM5N/N/YZMC0Rw5 O4MJVQ8ce1URNx6Zp4OrNQOGyRa2wnIwAS+i5pg+PItQX/sxmBobqnbRcimPtv08G+gsWF kzGbt5RRKDWY+t5PdLqe4NLZmEO7aLF1FkuEwZav1C6DWOVzc6Dp5/5bH5bjJ/G16St7Uk ID7yR3dq1nkYpj4Rl6h3IZ4pd7SpaFWeLasKkssIqVwqh0g3unjJ+27yNUFTjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E4y7mobuGuxHeCILLGFC6EEujbQ/vfhKR+FXtG71QG0=; b=ReWhpgIZ7a9Dma36fGo1A3yatjRfMxBNkv6XIgAOHlfaRgIOGit61UK2ZA+qJD+6BLRUaa 2hVtljvQ1lauvKiK3od9lo7XZ3CHQ88SyeGEdbXffvuDtWuQQUHljPn95FVX8ftmePYSHJ pDw0XFD0zXAH9NBxtdjVBeuey1MT8j2caqA0LDKMb+51J2ujOWqfeiTBEm2QrPxAZkVECr izzsBomDH0+8TJ+IumMa8XR7NRKrwKnjFjkBC8rYCRYJ80KVw/PEeGwRIF50ikP5bNfZlg WZQ359U7h6rLRJtqknsF5YSEh7a9ojHCG7ADUBwTcmGfJWuqf3zzj6cawnnqiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655351; a=rsa-sha256; cv=none; b=a1+tCrTa+PDWpajy/5j5hRT5yqVUhHkXCtzQNY5B+/7+mXI6e19vJK9jViePyzncvF9zSe LI1dQ9nFCATe55ZbdqB0yX+qBgi9CQOkReK4/VWfeGhXgbPXCu7BbDgKuImsplLF6dto1m Dbalti2Phs1grkd+gNz8tdXJZSuIXTJ8+Y0U3VaEsUx8Tb9Zac8dGzgJVCKGZdoalAiHOm Wx//xYmMGR/3UTZE+x3RxkRnpeck2nfHrSEfwVNhoEAUYZ6ZYlTiRcseET4h8b5XIEuZ5b 5cTJ51BJhmH2l+5s7KbiTwpoiFOH1bgK8TDNy7D3jPpUYZIlBfZIScFqCGnlWw== 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 4dtcVv2bfLz11Vt for ; Sat, 17 Jan 2026 13:09:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43561 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:09:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 7990fa2a819c - stable/15 - modules: factor out LinuxKPI based wireless drivers and add RISC-V 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 7990fa2a819c21affcad341cd3e4f62d16c6f636 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:09:11 +0000 Message-Id: <696b89f7.43561.23b22814@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7990fa2a819c21affcad341cd3e4f62d16c6f636 commit 7990fa2a819c21affcad341cd3e4f62d16c6f636 Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 21:05:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 07:51:08 +0000 modules: factor out LinuxKPI based wireless drivers and add RISC-V The LinuxKPI based wireless drivers are currently limited to amd64 and arm64 (and until cleaned up i386). Adding RISC-V now as we have a report that iwlwifi(4) works on RISC-V [1]. Factor the LinuxKPI based wireless drivers out into their own block. Given RISC-V has no ACPI support yet (though we fixed #includes in order to keep compiling the drivers without further modifications where possible) we need to take care of rtw89 which fails to compile without ACPI enabled. A quick check at the Linux build files indicates that the depenency is not correctly recorded there either. Disable compiling rtw89 without ACPI (on RISC-V) for the moment until this is fixed. [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless Sponsored by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54693 (cherry picked from commit 4162a419a475089c8a3d2350de40c58b023e9288) --- sys/modules/Makefile | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 2b41366579bb..924ddd880000 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -548,6 +548,17 @@ SUBDIR+= linux64 SUBDIR+= linux_common .endif +# LinuxKPI based wireless drivers. +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "riscv" +_iwlwifi= iwlwifi +_rtw88= rtw88 +# rtw89 currently cannot be compiled without ACPI (seems also broken in Linux). +.if ${KERN_OPTS:MDEV_ACPI} +_rtw89= rtw89 +.endif +.endif + .if ${MACHINE_CPUARCH} != "arm" .if ${MK_OFED} != "no" || defined(ALL_MODULES) _ibcore= ibcore @@ -579,9 +590,6 @@ _mlx5ib= mlx5ib _ena= ena _gve= gve _igc= igc -_iwlwifi= iwlwifi -_rtw88= rtw88 -_rtw89= rtw89 _vmware= vmware .endif From nobody Sat Jan 17 13:09:12 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcVx0lj4z6NgrK for ; Sat, 17 Jan 2026 13:09: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 4dtcVw4PLmz3DXv for ; Sat, 17 Jan 2026 13:09:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z1uM8+SGmmaN6DArg8t+c2PPBLiLPz03faAqD7U/cHQ=; b=Rt65gJYxe8QbXzrkPF/Cm01+6Tl1nVFOKHu/csmPQ+m9WphismcfWnA0V6+6AMlt0NRapY hCtT0atJPsNzSABvFQtNN/8xnx5JNiwWBKymTd8EpN4TmfDROuTXHbp3kSnTijy1Dr9ouY hL4wojTEv0Y7heLKqcBQCkRz5tFY+UXCe7jWPnevm6CzGOUUjCG5nnA8Bfh5cPxixNHYHc 73/K7LYYKQtE0IxdEsHodqHOpbUyQam5q6C23/PaBUlN1z3B/u2JQOOuqbmc8o6V6HMC/M S4JLJX2634BVGe0Ui3qxbE0/Jp7I/27Yllx+diOMqaO9b8Uyp4Ec1xaCNZ+HaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z1uM8+SGmmaN6DArg8t+c2PPBLiLPz03faAqD7U/cHQ=; b=o3am2zLCpEb5QseqlAf/Chv3N3/ULgv8549gHRzS6Xqa2ldJmDU+QBGRnr0pkeVpwdY7mz U1jUya+o5rbq3p6UipoNMNqVA11KTS2xCTSbfeVrAczW5f471HxNmHaATaUTklPxdgnokR PUuWsGY7c4rp8KKZDSnl9a6HqmW8BA8aATn+ZCCSsPk4U4jHgpitEfbZhFvchHHHI+aS1W +CKvaQJfEIcvMNMOUyX/Z4+4kXG1f029yLUjIJQKfD4rmGbditZONGW4+Wi0mD3B5iuu41 Fc8yZtXbE7m5TtddecfVmDodNUApjA0zaNisKk9LIDksB2sV/CFCx/EQnWOLWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655352; a=rsa-sha256; cv=none; b=XBOf18VfOmRAQ7PWteRmDdjg0daK/h/Ej2cX31K1TZwNmiAYgayB18f/p3/4uRWqkS0RxE dBui760go4xsrwb74KFUaXsvqRqarYgem722TrxkX2r8bP2P1EUYiIxXDV4+Z4J/hFfVQF JMrKtlgmDupNeI2YR+rYx2BaCkDTVYlHhgWLRo6OYmQYgUHAVoD2oRLalntfa9o3UmnBC3 IMCHB4jWAgeeYa0j6RRBbHl95c+jJxqeYfvd0XfulDaa8C5eELXcMCsOxYGaNAQwdGv2G4 DHIghov6Z3A7f17OaEQ42m1VXkgkJhHxREq15R/dvcTx+KMPIN4AifWVrzSvkQ== 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 4dtcVw3Pskz119b for ; Sat, 17 Jan 2026 13:09:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44881 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:09:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 4a56313c73eb - stable/15 - iwlwifi/rtw89: improve module Makefile dependency on ACPI 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 4a56313c73eba3dcd33a8690aec502e40211b01b Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:09:12 +0000 Message-Id: <696b89f8.44881.113ad6b0@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4a56313c73eba3dcd33a8690aec502e40211b01b commit 4a56313c73eba3dcd33a8690aec502e40211b01b Author: Bjoern A. Zeeb AuthorDate: 2026-01-13 21:09:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 07:51:12 +0000 iwlwifi/rtw89: improve module Makefile dependency on ACPI In order to compile iwlwifi(4) and rtw89(4) on RISC-V [1] make the currently manually tracked ACPI support option automatic based on DEV_ACPI. rtw89(4) is missing proper CONFIG_ACPI checks in the driver (or the mandatory dependency on ACPI) even upstream it seems. We just added that check to the modules/Makefile until this is fixed. [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless Sponosred by: The FreeBSD Foundation Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D54694 (cherry picked from commit f5a77dc8f8df09a907c2a2bdf86802513b1ebb15) --- sys/modules/iwlwifi/Makefile | 7 +++++-- sys/modules/rtw89/Makefile | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index 5d4830537a0b..1d0c52276b84 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -4,7 +4,9 @@ DEVIWLWIFIDIR= ${SRCTOP}/sys/contrib/dev/iwlwifi WITH_CONFIG_PM= 0 WITH_DEBUGFS= 0 +.if ${KERN_OPTS:MDEV_ACPI} WITH_CONFIG_ACPI= 1 +.endif KMOD= if_iwlwifi @@ -60,10 +62,11 @@ CFLAGS+= -DCONFIG_PM_SLEEP .endif .if defined(WITH_CONFIG_ACPI) && ${WITH_CONFIG_ACPI} > 0 -SRCS+= fw/acpi.c +SRCS.DEV_ACPI+= fw/acpi.c CFLAGS+= -DCONFIG_ACPI -CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI .endif +# This needs to always stay on for the LinuxKPI header file. +CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI # Other SRCS+= ${LINUXKPI_GENSRCS} diff --git a/sys/modules/rtw89/Makefile b/sys/modules/rtw89/Makefile index 1307abf3d9b4..98174fff2a1b 100644 --- a/sys/modules/rtw89/Makefile +++ b/sys/modules/rtw89/Makefile @@ -4,13 +4,16 @@ DEVRTW89DIR= ${SRCTOP}/sys/contrib/dev/rtw89 WITH_CONFIG_PM= 0 WITH_DEBUGFS= 0 +.if ${KERN_OPTS:MDEV_ACPI} +WITH_CONFIG_ACPI= 1 +.endif KMOD= if_rtw89 SRCS= core.c SRCS+= pci.c pci_be.c SRCS+= chan.c mac80211.c mac.c mac_be.c phy.c phy_be.c fw.c -SRCS+= acpi.c cam.c efuse.c efuse_be.c regd.c sar.c coex.c ps.c ser.c +SRCS+= cam.c efuse.c efuse_be.c regd.c sar.c coex.c ps.c ser.c SRCS+= util.c SRCS+= rtw8852a.c rtw8852a_rfk.c rtw8852a_rfk_table.c rtw8852a_table.c SRCS+= rtw8852ae.c @@ -26,6 +29,13 @@ SRCS+= rtw8852bte.c SRCS+= rtw8922a.c rtw8922a_rfk.c SRCS+= rtw8922ae.c +.if defined(WITH_CONFIG_ACPI) && ${WITH_CONFIG_ACPI} > 0 +SRCS.DEV_ACPI+= acpi.c +CFLAGS+= -DCONFIG_ACPI +.endif +# This needs to always stay on for the LinuxKPI header file. +CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI + # USB parts #SRCS+= rtw8851bu.c rtw8852bu.c #SRCS+= usb.c @@ -44,7 +54,6 @@ SRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h CFLAGS+= -DKBUILD_MODNAME='"rtw89"' CFLAGS+= -DLINUXKPI_VERSION=61700 -CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI CFLAGS+= -I${DEVRTW89DIR} CFLAGS+= ${LINUXKPI_INCLUDES} From nobody Sat Jan 17 13:09:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcVy0x6jz6NgrM for ; Sat, 17 Jan 2026 13:09:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtcVx5622z3Ddl for ; Sat, 17 Jan 2026 13:09:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GU+a3nO/tKcr4HEllPpfOoxb4iX52dTPeis4p6HPKWI=; b=f2x3WcO+lOSzaY8TyqB1A2/zEcGC9oSXdyMgvMV5alnYxWPdlHh2+5CrOP5UH/883XyAqN C7dmZjmGweXVBKYyN5lRbtiG8JC37CGQv/GaNtRlQZCwYuTKjPBXqg/abk5aVSEefXzEvK AuWom94QjMQDRlshWb+cf2zfe4zDxmzaAXuk+cs9gCmIzI+PcMx9e+BMCH+UeT7vVDrzbN hkzqUdtsQcp2sP6se5oTcFb7iuJlGVVrqiV3U3z4T2iSpVewD+rV4Py6taDO4NMVr73fwc B1ac9/x3Bwoc/4c1losDLPD5Zjg399M9GjUzuYfnEAzqCmouhZTa2cCHNaxqYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GU+a3nO/tKcr4HEllPpfOoxb4iX52dTPeis4p6HPKWI=; b=YN62yVp89RdTmZqEScI9KqpQJfhW+plahuUx3gz6SAcUzU2/CBiDtrqpqOAE+vitqCiBVO nBAqc57d6RXwyFZ+8VxtuGa1vHMLDqpZbNrNI3hcAtg/EZPKCv9i3KtqYKLrJOnJ85Xf9P awzxsqhj51/HJCupZ9HHXjorp24AWBGL3nqGRq4jgxbS7qvNl8dLVOmUoeuSpqyIWIQABs UWe61dzA3ecZxVzSC6IQ6Rt6IkOknIHJ9U0mrtgPxPnFFFxIF2v+bNbvCqHLQ//eyxgQYX 5FVs3EDtcCK3drS44TrM45VPCGQ+khmO+rzWSzSQPdz5mmSbE1cQMTkCCfNMmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655353; a=rsa-sha256; cv=none; b=q00avCHdTcvDNCyl6Hm4lA5NEoxa9j8JQIOMT4lC+WbWwVfolfGBiJRwt0QoHY4du4sMMm iw/lDQU8OCio2eif46c1DQWeWBPq3EsmhnrnCY+6NTaQaswKfLkSNdDmYpXuVRlcadO0Dk eIVTCJjERIEvedLUnvjGuYbw6g8sbj1JLGpDUbiSVht0hei7myIf8BMTsp0GmaqzTVpU9M +KG1c1exX6smYCWM5buc2O7Plozv/WrQIgBCE1E4KH36+4zEceugcKCC3k+0EluDc/6lEo K4dF4TMy1Kr1JmHkRWKSVU/1hkZ8ZhacGoulcs0Vsx97Kg553L6IUrHd/WMl1w== 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 4dtcVx4HRVz11kp for ; Sat, 17 Jan 2026 13:09:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43565 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:09:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c22f46da9d10 - stable/15 - LinuxKPI: pci: fix pcie_get_speed_cap() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: c22f46da9d10383d8b227db8dc305117df758967 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:09:13 +0000 Message-Id: <696b89f9.43565.317f57b1@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c22f46da9d10383d8b227db8dc305117df758967 commit c22f46da9d10383d8b227db8dc305117df758967 Author: Bjoern A. Zeeb AuthorDate: 2025-09-17 23:37:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 07:51:17 +0000 LinuxKPI: pci: fix pcie_get_speed_cap() pcie_get_speed_cap() has a hard coded skip of 3 devices at the beginning. It is either called on a pdev or on a result from pci_upstream_bridge(). In the latter case skipping another three devices might get us to acpi0 or nexus, neither of which is a PCI device still and pci_get_vendor() will panic() on that. Sponsored by: The FreeBSD Foundation (commit) GHI: https://github.com/freebsd/drm-kmod/issues/393 Differential Revision: https://reviews.freebsd.org/D53862 (cherry picked from commit fa24602ca6282d71c26079136a74b85824c0e63b) --- sys/compat/linuxkpi/common/include/linux/pci.h | 27 +++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 06336bf963d6..cda1cf7dfb5e 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1122,19 +1122,28 @@ pci_num_vf(struct pci_dev *dev) static inline enum pci_bus_speed pcie_get_speed_cap(struct pci_dev *dev) { + struct pci_dev *pbus; device_t root; uint32_t lnkcap, lnkcap2; int error, pos; - root = device_get_parent(dev->dev.bsddev); - if (root == NULL) - return (PCI_SPEED_UNKNOWN); - root = device_get_parent(root); - if (root == NULL) - return (PCI_SPEED_UNKNOWN); - root = device_get_parent(root); - if (root == NULL) - return (PCI_SPEED_UNKNOWN); + /* + * We should always be called on a PCI device. + * The only current consumer I could find was amdgpu which either + * calls us directly on a pdev(drmn?) or with the result of + * pci_upstream_bridge(). + * + * Treat "drmn" as special again as it is not a PCI device. + */ + if (dev->pdrv != NULL && dev->pdrv->isdrm) { + pbus = pci_upstream_bridge(dev); + if (pbus == NULL) + return (PCI_SPEED_UNKNOWN); + } else + pbus = dev; + + /* "root" may be misleading as it may not be that. */ + root = pbus->dev.bsddev; if (pci_get_vendor(root) == PCI_VENDOR_ID_VIA || pci_get_vendor(root) == PCI_VENDOR_ID_SERVERWORKS) From nobody Sat Jan 17 13:09:14 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcVz1dSCz6Ngwt for ; Sat, 17 Jan 2026 13:09:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtcVy6CkMz3Ddw for ; Sat, 17 Jan 2026 13:09:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655354; h=from:from:reply-to:subject:subject: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=v2CjJz8r8SSllZooANDRGU6phfV5Fh9Wi3aTir5X27k=; b=F88e9DCnRjoIf4lI8Z8E4XK6rOI4S1TtX/BJElKuJo4tbOGZQ5yoRDSQm8v56aVF9DH7RH ARGsA3sXWpME8Czw8YYDSo1XMGj72d8eRA6UZuKtoeuZR9gRlZVE8caItCpqZM+Pj4egUj cG95TMrickEq7vbLT632tRNrmafaX1dRPCnApxIiBdF/IrfmWFaGrS1qdcwYXwD0gV5XIc HYxhYo6yyu4bV0ew9CGkO0fAgIZMKS80i12AlNuP5Ru5gfAXYTegcTbG6yr6Sh6BV0tFKF IIbLXO5dbDvN1LQl2vNSTVn1MoZx0n2jXfftPJH91nClI1RqJUcl9KAl2wCq0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655354; h=from:from:reply-to:subject:subject: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=v2CjJz8r8SSllZooANDRGU6phfV5Fh9Wi3aTir5X27k=; b=q+2r0zRGJUul49pkvCF3khAqXMnBBSSf2ETopRc9K/Dl4p4zgcbud6xP5XU8yONnFUyrlh 9v+UZCqzOrOTdZsoeXg6c+Xq+u91+wFt3DHvaNExFzrTV2b81lMcYya9EIjSXol+M9hDwS tRjWClaipcEOfzx4TBupsB8tALEOLCr5yWoC6esBPrF712+gTxlaaQYtq3Tq87ceMLdhq/ LxAEsM9mgock4lsJ5G+gFm4XF4oIr7TvURiIESIjBBMLHO1ewlh7GgEFHCcVr/QhqidJIv dCJc4HIXM2qy9a/4o3VADyXcqpthTU78oJyD41UewRbWjNqbGSxZWlnWpb97SQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655354; a=rsa-sha256; cv=none; b=SCip0YDs6nVA4SFBduf7SmtrfBVTw+SnFfFavKhlGPMngN1/cGcDhF5WXhcRQuQ2s+XpkY 3DmY1b0vJd8YnHsRr13Fiwxk99ICn3l6xGsiVCKVsB7SDOU3UM9mXwcwdcGQpVCJfGtidD EXuGf43j5/0DuwJT50rOZo6fZeDQPGRgrXCYYgQjYHUYGd+SnXNXLDTo2nSBYOp6xg/c8P YzyIdjYZP2DgGzJpfGTRs0lofUtlBNg/2csqFO5tbMdRvPcCuQyY3+yxJsEVFbBDv783vB ed6jrE1ROXmvDxl8RgVtI1PrLxC9M2kHmBuqEmz/105iJ6oKeD2NcjtjmY1smg== 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 4dtcVy50N5z119d for ; Sat, 17 Jan 2026 13:09:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42175 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:09:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Yichen Chai From: Bjoern A. Zeeb Subject: git: 2e93d2f39d72 - stable/15 - net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2e93d2f39d72e5542781165c368343d7d73643e9 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:09:14 +0000 Message-Id: <696b89fa.42175.444c7d3f@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2e93d2f39d72e5542781165c368343d7d73643e9 commit 2e93d2f39d72e5542781165c368343d7d73643e9 Author: Yichen Chai AuthorDate: 2026-01-14 18:44:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 07:51:24 +0000 net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate Fix the arguments to the debug statement. (slightly adjusted from the original submission by bz) PR: 286448 (cherry picked from commit 75556c7e999e9095ce71558ae61f49c1ba61a192) --- sys/net80211/ieee80211_proto.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 0c161d98a55a..1e035cece584 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -747,8 +747,8 @@ ieee80211_fix_rate(struct ieee80211_node *ni, ((flags & (IEEE80211_F_DOFRATE|IEEE80211_F_DOFMCS)) && fixedrate != ucastrate)) { IEEE80211_NOTE(vap, IEEE80211_MSG_XRATE | IEEE80211_MSG_11N, ni, - "%s: flags 0x%x okrate %d error %d fixedrate 0x%x " - "ucastrate %x\n", __func__, fixedrate, ucastrate, flags); + "%s: flags 0x%x okrate %d error %d fixedrate 0x%x ucastrate 0x%x\n", + __func__, flags, okrate, error, fixedrate, ucastrate); return badrate | IEEE80211_RATE_BASIC; } else return IEEE80211_RV(okrate); From nobody Sat Jan 17 13:16:33 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtcgP51CHz6NhLy for ; Sat, 17 Jan 2026 13:16:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtcgP4HM1z3GNp for ; Sat, 17 Jan 2026 13:16:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655793; h=from:from:reply-to:subject:subject: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=x9Jsq/b+cazUWTkqGvFxTmDZsPazhdDOITjiy4qkYWs=; b=EFjLNsOQBIVn1WBFTboUmDED7ID1iw5THe6HhZwo+AvweNEkjnqjsNOHIVMRvNFqcYqAzY Ia9dz3VdSKYP2Otlx+Wn9OS7AXiMRNBJjruKU+INd2pFgeaxw6abj7a4YUjCg+Lv86RZ9L Y1oXgoGG4zl01DWX8g96xZtndWnYLfbjLf5jczlLQgUzP56vNz618kcW4siepf8qDEdCpD bKtxLhGoILMDV4w/HwCMy2xbAzCttH5vSORX7PWF5itxx7sopASp3dQqLh3eRTeY7hMXEF SN9i1XSav+iK8F+3woXRSBFkzOkiFhZhlrMNxvTW4pCcTl8q219x25OCzAgDOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768655793; h=from:from:reply-to:subject:subject: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=x9Jsq/b+cazUWTkqGvFxTmDZsPazhdDOITjiy4qkYWs=; b=eMBLSG06OlwTSKOTq2wf5ayRohpN9CV7zLnyuF47deCxLacRLv24d1wJHyFyrDyWsYeBCO ZrYJnKDywdp0LjZ/5Oudusp9vSVaO+yXssfFhUZP4V3S1xjn87LKa23Wwyrlmn91mYqDa/ pKZ8gNhPSOxpiV7ZF1ah9jyz8he6WY1n/oh7/VEpfwPtkb+ma6P05oAqstoQL5jPgVkClB xzqL8Ud1hAdIfuWDlD17IBGYgAbu9qwKTSBB6IHxjPtVrs64tO8SiCvG9ZEesTvAlAi/aZ DHR8nL0wPE5l+vEs2cwbJznatW4sYaQurQZpPVCd/bTj3T3299o1MApEzJx/dQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768655793; a=rsa-sha256; cv=none; b=IZtsJmlAyzR8Ni7UmJyV+7jlRCd+/WhjKwAZapXLzgwlughs/3cS2rOhNFWTEN2DOeM45a C+COrxsh8bym9rno1OGRl3bRaZXnKZcEFhyb++e4T6WdMPfLXA16/TzRtukfHA5YIUHE4e 9orRhv3HCGyN5s2UQRZsc0gXOPqsIDfrOrHrFwmEy60HLniLRoVHMqqTdvJXzZ6KpIoKVr B2bgn8uacly+3Al/c4PR8TJsG/fMyvoM0g55cs/ijzqAP1mNwh2vS6V5O1pdeqaIE62E9y G2GkxcQdcWtMLiduHz3PoQcIEWcPUtkf6ZlWBWVhwtbcSjVPo6IITIEW70/S2w== 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 4dtcgP3gFKz11Wd for ; Sat, 17 Jan 2026 13:16:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4453b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 17 Jan 2026 13:16:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Yichen Chai From: Bjoern A. Zeeb Subject: git: dd1d6a06542c - stable/14 - net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: dd1d6a06542cb07acf23682d77eed1a093226d76 Auto-Submitted: auto-generated Date: Sat, 17 Jan 2026 13:16:33 +0000 Message-Id: <696b8bb1.4453b.18604ae1@gitrepo.freebsd.org> The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=dd1d6a06542cb07acf23682d77eed1a093226d76 commit dd1d6a06542cb07acf23682d77eed1a093226d76 Author: Yichen Chai AuthorDate: 2026-01-14 18:44:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-01-17 13:15:58 +0000 net80211: fix arguments to IEEE80211_NOTE in ieee80211_fix_rate Fix the arguments to the debug statement. (slightly adjusted from the original submission by bz) PR: 286448 (cherry picked from commit 75556c7e999e9095ce71558ae61f49c1ba61a192) (cherry picked from commit 2e93d2f39d72e5542781165c368343d7d73643e9) --- sys/net80211/ieee80211_proto.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 823f1ab3f486..ae92462c5ca9 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -747,8 +747,8 @@ ieee80211_fix_rate(struct ieee80211_node *ni, ((flags & (IEEE80211_F_DOFRATE|IEEE80211_F_DOFMCS)) && fixedrate != ucastrate)) { IEEE80211_NOTE(vap, IEEE80211_MSG_XRATE | IEEE80211_MSG_11N, ni, - "%s: flags 0x%x okrate %d error %d fixedrate 0x%x " - "ucastrate %x\n", __func__, fixedrate, ucastrate, flags); + "%s: flags 0x%x okrate %d error %d fixedrate 0x%x ucastrate 0x%x\n", + __func__, flags, okrate, error, fixedrate, ucastrate); return badrate | IEEE80211_RATE_BASIC; } else return IEEE80211_RV(okrate); From nobody Sun Jan 18 02:55:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtyrD5J1wz6Ng1W for ; Sun, 18 Jan 2026 02:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtyrD2hB8z3rlJ for ; Sun, 18 Jan 2026 02:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768704924; h=from:from:reply-to:subject:subject: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=dgd+IyvqJ0zM39VnEFj3ZPU/DI59gR8QZVGBNsuBQ10=; b=PrL1RnroDjA3BPVHODzsfX4br9CQFoUiUZzs1D3xz1Eje89VcTaQ7xotsmmkEzr4u0Cebp JZBSiy1+AARnX4Dxr3ZNbPozQGbzeTagy6ztiqbo1gltskrEkZBv20IM0wbDKhLj+JoSTx eNAud7xQdw5ko8O8OreqgjhPVGRkMCIpO3b4Rjj/wsaqr6Ka672plAGZkgukblDaw0diyR yqGkiLgGcWvzn/CL43DEWL+8AIpLHJoEv6cE++KLisnJ+Cy4bI2x/e6lQMBdn9cJh9Wjyj DshCHCD1qtP5964HRm/npmRGqGwE37jQEj6c8FdSaGVEdvBs2vEMxfwK/WTRkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768704924; h=from:from:reply-to:subject:subject: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=dgd+IyvqJ0zM39VnEFj3ZPU/DI59gR8QZVGBNsuBQ10=; b=mYdVzsXjByYCO4dyqUBJgFfDpaTxJsVoRp3PXxHoF6Ku0enio0CEVbAcOkMwqKJECFBo3I PWQBkhXGgJlN/0SHdqSLJTkHYhE6JP/HSmNcMUXmh37OC+t5oFf6GM7GpiOdSh7syj7hpX 9CvuqRcjTRG6tt9ZYTWFApKUZNksn47AWBYsHvNXjkjzEnL0M35m29X8dqk1dK6dlOQf/+ /be762nmRGvQugwnB5aBUmhk20kktgA/owGvzylwXPWHpc2woQN/yEF09IpzfyLmusH/1n 2nhsy4Zj7FR+7yqS5ZJYlVpRzRHHPRlk0CN4A29K3VNtKpsckAFUZrj9RHYwpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768704924; a=rsa-sha256; cv=none; b=B+wM2rQ0ItO/1TDSq/mTe1b9BxZ0Jxwv03Jr9Kmxvie8aURe4X3Dgibd+M6g5NEw3l/kxu 5ywkSLdYfMyqBFrJiQtZKv5McE+behFQpPoNTaVcJ2NEtvCT1THcSpJwbO61gMZscUFuIR fQAVmpyGyM11Pvf0zNuOh7RgGACag5/wR93D1wHS6+BQtPP3o6huLz8nHjDgAYr0KxmH+b v3bJTEMV+oePUSvAyG6bKq9irgPqVxp3eCSQmwnVRb8lcbNWxRi1yIdz0hdu9SwNggVFyL R1EnVonVAhES/QEe3eVf0Yt/GXvFyx3tCydczAH4sqdCgeOUnfRcokHNR/OOuQ== 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 4dtyrD1YybzBPw for ; Sun, 18 Jan 2026 02:55:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id ce43 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 02:55:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: William Carrel From: Xin LI Subject: git: 2184a2d18a1b - stable/15 - GCE: ARM64 Support: Add hw.pci.honor_msi_blacklist=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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2184a2d18a1b08796b3a5fba987d753395b2f8d8 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 02:55:24 +0000 Message-Id: <696c4b9c.ce43.2f7f70c3@gitrepo.freebsd.org> The branch stable/15 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=2184a2d18a1b08796b3a5fba987d753395b2f8d8 commit 2184a2d18a1b08796b3a5fba987d753395b2f8d8 Author: William Carrel AuthorDate: 2026-01-08 08:56:27 +0000 Commit: Xin LI CommitDate: 2026-01-18 02:55:04 +0000 GCE: ARM64 Support: Add hw.pci.honor_msi_blacklist=0. This is required for MSI support on GCE ARM64 instances which is prerequisite to gve(4) not panicking at boot, and nvme(4) also has a real sad time without interrupts. Tested on a variety of c4a VMs. This is meant to be a temporary hack; long term fix would be to check for the hypervisor and quirk gve(4) device with PCI_QUIRK_ENABLE_MSI_VM. PR: kern/292081 MFC after: 1 week (cherry picked from commit 9ae43352c89c776c8171f5881a984bc39acf5d6a) --- release/tools/gce.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release/tools/gce.conf b/release/tools/gce.conf index 934007759279..7298aabf3956 100644 --- a/release/tools/gce.conf +++ b/release/tools/gce.conf @@ -59,6 +59,9 @@ console="comconsole,vidconsole" kern.timecounter.hardware=ACPI-safe aesni_load="YES" nvme_load="YES" + +# Required for arm64. +hw.pci.honor_msi_blacklist=0 EOF metalog_add_data ./boot/loader.conf From nobody Sun Jan 18 02:58:52 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dtywD3Rjfz6Nfx3 for ; Sun, 18 Jan 2026 02:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dtywD2HNVz3sff for ; Sun, 18 Jan 2026 02:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768705132; h=from:from:reply-to:subject:subject: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=j6StmaHo9ij3eNzX21wWFwMXvpWCoz/VNZAgY/n/E/I=; b=u+38T9fJFP22bnd04lGixjpCYfRS2WLhBviKT296Op41ALxROx3ccry40nUE5zis2Ntf/F tgqx8+GgKJ/6e1BnPwgQ/5i3iMHL5ue5a/UKtWaPpT+GaWm1jJGaV5XD9pxc5KrRtgcac4 u7tAFj/SM/x6V4WNUAItr9PUD/13/cD8wgriZGt5n4+YaZXq/QOih/h7dlEmsvWT6a9JQF qth8ibIwch/y/p2H+xOjelxNwoUdAnUv1p8uTgXEDotnoNzJH/mX1oBRfZOLAnBWjBtpfD uqC1bLdNBjzWKz+cAY6o4tA+vXJWBFhdRupaXW14p3037x/vGF0yKB5rbecLvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768705132; h=from:from:reply-to:subject:subject: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=j6StmaHo9ij3eNzX21wWFwMXvpWCoz/VNZAgY/n/E/I=; b=m7qejO+605CQTv3MsaFqUVaZmaeuxWYFXkUkpOD3Wxjfgi0tz9KrtmvMMvI4pd8Pbd2FZP zpBbrMnSUzWLa2uO/ZsK1hL9VADBfN3WeTG4wOq7HxrlrgPtbBU/COBQ66FuY7Fwc8I8jw NwE8QytdmO0yeSo2qthExcYhwyjXmUmFF8fOjNk4xiaL3qZ2XpANSGrIVJGKhIDOBqaQ37 smBIJR66jnDT8X4HxxnlHXGCQpSMWgCNxMt4sxsWFhEi3QclH71tPWz/q5p3e8HtxZQ6lt yKIthnZQcxJOrIKe3uTBKPcsaIpTIKQN5pToEhvm2nA9KpzVTHZ4CmA0bk3T6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768705132; a=rsa-sha256; cv=none; b=J8fAqHLM3AJMWSoivZCi20cjQ3d5umloxtqldL1NcP/wuq7yvSPRoTWF2VVAQeqm7dGk03 DjJSIo2UFEU9UG8rsYpH9PocH9zIRW6mU78kC7tEtcPvz6dTywTOznk6KHplw9c2xOp+4c ymzp0yxcXxZiN2s+Nfa1hDi7S0Ju93m+kgWEE/EDC6ARLgNNL6AEPIFeEruGHl5Wxz4FMm dk1O+l5NhxXdoY7c8BmHczCpyDGRdeMPfSymVhqHeUeb8kWD1mNN0dlWn8vHYl6sEgd8MW +2iDG+iTVJnOg7qcoBKBOZzgIVJMnpwp7kMhTtOtyht68uXgOUUISrjMJTYhSA== 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 4dtywD1hBlzC6L for ; Sun, 18 Jan 2026 02:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id da9e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 02:58:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: William Carrel From: Xin LI Subject: git: 8241dbc3a2af - stable/14 - GCE: ARM64 Support: Add hw.pci.honor_msi_blacklist=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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8241dbc3a2af6e422774904dfa42feb0241b36c5 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 02:58:52 +0000 Message-Id: <696c4c6c.da9e.20ca5eda@gitrepo.freebsd.org> The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=8241dbc3a2af6e422774904dfa42feb0241b36c5 commit 8241dbc3a2af6e422774904dfa42feb0241b36c5 Author: William Carrel AuthorDate: 2026-01-08 08:56:27 +0000 Commit: Xin LI CommitDate: 2026-01-18 02:58:28 +0000 GCE: ARM64 Support: Add hw.pci.honor_msi_blacklist=0. This is required for MSI support on GCE ARM64 instances which is prerequisite to gve(4) not panicking at boot, and nvme(4) also has a real sad time without interrupts. Tested on a variety of c4a VMs. This is meant to be a temporary hack; long term fix would be to check for the hypervisor and quirk gve(4) device with PCI_QUIRK_ENABLE_MSI_VM. PR: kern/292081 (cherry picked from commit 9ae43352c89c776c8171f5881a984bc39acf5d6a) --- release/tools/gce.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release/tools/gce.conf b/release/tools/gce.conf index ef1cf6abea31..fd87aee5eaad 100644 --- a/release/tools/gce.conf +++ b/release/tools/gce.conf @@ -46,6 +46,9 @@ console="comconsole,vidconsole" kern.timecounter.hardware=ACPI-safe aesni_load="YES" nvme_load="YES" + +# Required for arm64. +hw.pci.honor_msi_blacklist=0 EOF echo '169.254.169.254 metadata.google.internal metadata' >> \ From nobody Sun Jan 18 03:57:40 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dv0D45knyz6NkjF for ; Sun, 18 Jan 2026 03:57: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 4dv0D453S9z3y0Q for ; Sun, 18 Jan 2026 03:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768708660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V0TrRtn17frKJc/meojdT683wcwj/XzAs74CjDPiBXo=; b=mXCkXMAEQEGp9CMxAHQq3nDdCLe6VplqdyMMLCNJi8JM3cNNlM9bwlGfmHE1l0DKbmcFRK 1ud1+6bbcmbuf/6Yvv8EC3J5FMucQ/lbAbfAFEaFpirNbqEu94IQdNNiDfoR4p200Jlu26 pAiaK8aUrTb1tnJfFLe56BPvkhx5eMJ9utPMbsHvOvqeb2HJcLBOGf6PLT/XHo89xpJM9E q3TxlG9We5OUW76de8Zr+C572SBqhInWyLPEnOLwq4WyaGOT2Kiv1NV/ZSO17EGtXEnE9G tFwEwbx4S3kXolNOkCPb+sNH2WymGJOaMnOrwPsaBXCcxDHMXd4P4nuj6qVI1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768708660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V0TrRtn17frKJc/meojdT683wcwj/XzAs74CjDPiBXo=; b=brEo1Xu2NJ5XMMydBzqk/MPfS3uwgLchC4Ac9XQItrVi+A4BsOI9QPA1+aFtB1G7r28Yt8 lpwiFB2I6WwoEGil70KzP3LczbEB/WRe2EwESwywsz7F11fXJhU+OQddxaFj+vIZMh5QMQ 79hKPPsGyRLQKWdJkdo6Yy7BUQEcG81kLdEChfQKtAz3YjUvc8GLgmzd9Do8vRdH0esD0L MXce1vbjUqdCrLOhTO+ECzs90CQ2Ro/M32L6bgQXIf4a8hAY7ZNM8a+flTN70Y9EERBwMR YSVyEFKqST/jwFmz9+eT6i//qwv8kPTwxszYiWK/mNEPRdzn6IB529lAQzt4tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768708660; a=rsa-sha256; cv=none; b=XtRQltrQvZCSowchRdjm/iCUKfZYSnxb5SYJjYJGFLoRTUjxlg3gjBlIbfYUT/C3OIp00g NPbw1ScTKDF0BW/yQwDYDBTJpYJIgH16wsAn9/chp3CR/nAdt9Hv8/5napRZHnT0nR7bfV tCebXOvyCLgxmy7ZXba31FEAeBgW5VxGOdFrL+q5zvVqHPoJw3W2DyfCsRuhuCRt20NY9+ JX3yYi+/sCN1seXxEfVW7aR4ZlTrqAQdAVb6WM39sXrKzBlBh5MpiZ8fU8nwtEg+37vWNh HmUkoVtcLXSI9shLvD6pOfEgBQYacOZjNuXlgqsqHhFDLckaRKeZ3trWKGT0CQ== 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 4dv0D44ZKlzTWZ for ; Sun, 18 Jan 2026 03:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2325b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 03:57:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: e2e7269461e9 - 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: e2e7269461e94c56792801a6447ddee18baab52f Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 03:57:40 +0000 Message-Id: <696c5a34.2325b.958bc04@gitrepo.freebsd.org> The branch stable/15 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=e2e7269461e94c56792801a6447ddee18baab52f commit e2e7269461e94c56792801a6447ddee18baab52f Author: Jose Luis Duran AuthorDate: 2026-01-11 16:42:18 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-18 03:56:23 +0000 Import latest mtree from NetBSD Merge commit '7e59b238fcf32f3d365e78ddc702ca494e1ff68d' This commit partially reverts the previous vendor import, given that the "type" keyword has been historically mandatory and should not be removed by "-R all". This was clarified in the man page. Reported by: glebius PR: 219467 MFC after: 1 week (cherry picked from commit 4250d2ad991b7bb9915e4c6b6d93b17369747ff0) --- contrib/mtree/create.c | 7 +++---- contrib/mtree/mtree.8 | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/contrib/mtree/create.c b/contrib/mtree/create.c index 191d69c6a537..68abbfa0258b 100644 --- a/contrib/mtree/create.c +++ b/contrib/mtree/create.c @@ -1,4 +1,4 @@ -/* $NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $ */ +/* $NetBSD: create.c,v 1.81 2026/01/10 14:53:39 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.80 2025/12/18 18:16:48 christos Exp $"); +__RCSID("$NetBSD: create.c,v 1.81 2026/01/10 14:53:39 christos Exp $"); #endif #endif /* not lint */ @@ -236,8 +236,7 @@ statf(FILE *fp, int indent, FTSENT *p) offset += fprintf(fp, "%*s", (INDENTNAMELEN + indent) - offset, ""); - if (keys & F_TYPE && - !S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) + if (!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.8 b/contrib/mtree/mtree.8 index 99e3199de943..4421cf735c99 100644 --- a/contrib/mtree/mtree.8 +++ b/contrib/mtree/mtree.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: mtree.8,v 1.78 2023/12/02 13:26:09 christos Exp $ +.\" $NetBSD: mtree.8,v 1.80 2026/01/10 17:12:04 uwe Exp $ .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -56,7 +56,7 @@ .\" .\" @(#)mtree.8 8.2 (Berkeley) 12/11/93 .\" -.Dd December 2, 2023 +.Dd January 8, 2026 .Dt MTREE 8 .Os .Sh NAME @@ -178,8 +178,8 @@ and respectively. . .It Fl f Ar spec -Read the specification from -.Ar file , +Read the specification from the file +.Ar spec , instead of from the standard input. .Pp If this option is specified twice, the two specifications are compared @@ -242,18 +242,14 @@ If is specified, add all of the other keywords. . .It Fl k Ar keywords -Use the +Use the mandatory .Sy type keyword plus the specified (whitespace or comma separated) .Ar keywords -instead of the current set of keywords. +to replace the current set of keywords. If .Ql all -is specified, use all of the other keywords. -If the -.Sy type -keyword is not desired, suppress it with -.Fl R Cm type . +is specified, use all of the available keywords. . .It Fl L Follow all symbolic links in the file hierarchy. @@ -338,9 +334,13 @@ This occurs when the directory is a symbolic link. .It Fl R Ar keywords Remove the specified (whitespace or comma separated) keywords from the current set of keywords. +The +.Sy type +keyword is mandatory and is always retained. If .Ql all -is specified, remove all of the other keywords. +is specified, remove all keywords except +.Sy type . . .It Fl r Remove any files in the file hierarchy that are not described in the From nobody Sun Jan 18 03:57:56 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dv0DN5NXdz6NkMp for ; Sun, 18 Jan 2026 03:57: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 4dv0DN4XBlz3yH9 for ; Sun, 18 Jan 2026 03:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768708676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mb/smL2SKn59xv0/lzjaEP8WaunKyuNKkSGhfTQKzz4=; b=ZrFTgnUleumydy1OS0KMTj3dMEBq224gkCZjhajmUqCTR5/jw1QgBtcrXNZPkQ+0IDVYyW KJxEs7bOdKTVIpZ3yuJQYnEmMJgyu25po9JRbswUJ/Jp7/r9Z1+FpztOK4CobjOoyy3EQt doSnJcOLQC3mUmr/VhGY7qKeRTykBpMd52tv84dJKVCiL0fcWJciqAC1e6Bq7NJgFXqDqS kQrxKnjVOlOVqAq36Mk0hywSXc3DuOQOIvdKa67mGWrCAxuE9Sed1PoFdjWbp1uC1CeFpM yjqOCRSbf2LBDv39IgLuQg5H6NRDjRvTJ4ot4iKV9Upjrry2xKJlNXJYcSEO5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768708676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mb/smL2SKn59xv0/lzjaEP8WaunKyuNKkSGhfTQKzz4=; b=j/U2OFZCoFwVaOEHZGeZ+HmApkmRuo/pTvOmQDnH6xmuRbScrDWL7TbGO67S/Ss2iREeoI R86q5KUt4XahXJXroeHxfWzHcpqgOuxXhOztl2sM/fPtbUD/M2uflaay6dgDlTCr5LMdpX YdaIcdlJsD/hj71rF3kx7//3ng81carm+L7I5MVjuap92Nt3qceHK6geA3oMjvEirdhcu5 SmqgIztIgR5V5k3kP76u9WGtqCjxpfz9Q8saUd1tX8dw2So4EtVYTjqpk2VbMRdhjbsA5f 0RQazWCNG5BY/k02rCdpLY/oLB0cd07AjdX98lQ65ZTpde8vuB+M62qUQHBqOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768708676; a=rsa-sha256; cv=none; b=oT0ORzzg+Jgb0dgg9TsMxrpW889loCYLmIfl1KPgc1EkqrjhAThn99/5PLXxQbIrRuchKt BgtRkVb3lMGvR7LsQM4uCTyFCmDhsvsLUFAJtdQOBDnXzZCcOUMIImMqzRs8/FPu+dmN+F m+mDtLUH9ChY6U1BURP+yCGIoGjUFTcjIyFfB5KLr0oEGtRqBzWAVdX0EgImjvTC/KG/Kg yus01tuuo0sPnCgMRYrsDV86/U0DNGHhG+kCY4xueSVjyPA08U+uetElpI3XDnmOM2Q72B PWiwZUswatB48510fTQLm+TH8z1CVtG3ypIRWq2EAco+TEXpIwFB2D1CBDvX2A== 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 4dv0DN41l5zTWb for ; Sun, 18 Jan 2026 03:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 246c9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 03:57:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: f957857c4835 - 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: f957857c48351396dbd0127bc0fdd47f69e82f6d Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 03:57:56 +0000 Message-Id: <696c5a44.246c9.3f665940@gitrepo.freebsd.org> The branch stable/14 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=f957857c48351396dbd0127bc0fdd47f69e82f6d commit f957857c48351396dbd0127bc0fdd47f69e82f6d Author: Jose Luis Duran AuthorDate: 2026-01-11 16:42:18 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-18 03:55:38 +0000 Import latest mtree from NetBSD Merge commit '7e59b238fcf32f3d365e78ddc702ca494e1ff68d' This commit partially reverts the previous vendor import, given that the "type" keyword has been historically mandatory and should not be removed by "-R all". This was clarified in the man page. Reported by: glebius PR: 219467 MFC after: 1 week (cherry picked from commit 4250d2ad991b7bb9915e4c6b6d93b17369747ff0) --- contrib/mtree/create.c | 7 +++---- contrib/mtree/mtree.8 | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/contrib/mtree/create.c b/contrib/mtree/create.c index 191d69c6a537..68abbfa0258b 100644 --- a/contrib/mtree/create.c +++ b/contrib/mtree/create.c @@ -1,4 +1,4 @@ -/* $NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $ */ +/* $NetBSD: create.c,v 1.81 2026/01/10 14:53:39 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.80 2025/12/18 18:16:48 christos Exp $"); +__RCSID("$NetBSD: create.c,v 1.81 2026/01/10 14:53:39 christos Exp $"); #endif #endif /* not lint */ @@ -236,8 +236,7 @@ statf(FILE *fp, int indent, FTSENT *p) offset += fprintf(fp, "%*s", (INDENTNAMELEN + indent) - offset, ""); - if (keys & F_TYPE && - !S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) + if (!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.8 b/contrib/mtree/mtree.8 index 99e3199de943..4421cf735c99 100644 --- a/contrib/mtree/mtree.8 +++ b/contrib/mtree/mtree.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: mtree.8,v 1.78 2023/12/02 13:26:09 christos Exp $ +.\" $NetBSD: mtree.8,v 1.80 2026/01/10 17:12:04 uwe Exp $ .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -56,7 +56,7 @@ .\" .\" @(#)mtree.8 8.2 (Berkeley) 12/11/93 .\" -.Dd December 2, 2023 +.Dd January 8, 2026 .Dt MTREE 8 .Os .Sh NAME @@ -178,8 +178,8 @@ and respectively. . .It Fl f Ar spec -Read the specification from -.Ar file , +Read the specification from the file +.Ar spec , instead of from the standard input. .Pp If this option is specified twice, the two specifications are compared @@ -242,18 +242,14 @@ If is specified, add all of the other keywords. . .It Fl k Ar keywords -Use the +Use the mandatory .Sy type keyword plus the specified (whitespace or comma separated) .Ar keywords -instead of the current set of keywords. +to replace the current set of keywords. If .Ql all -is specified, use all of the other keywords. -If the -.Sy type -keyword is not desired, suppress it with -.Fl R Cm type . +is specified, use all of the available keywords. . .It Fl L Follow all symbolic links in the file hierarchy. @@ -338,9 +334,13 @@ This occurs when the directory is a symbolic link. .It Fl R Ar keywords Remove the specified (whitespace or comma separated) keywords from the current set of keywords. +The +.Sy type +keyword is mandatory and is always retained. If .Ql all -is specified, remove all of the other keywords. +is specified, remove all keywords except +.Sy type . . .It Fl r Remove any files in the file hierarchy that are not described in the From nobody Sun Jan 18 03:58:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dv0Dk1GK4z6Nknb for ; Sun, 18 Jan 2026 03:58:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dv0Dj6X0Dz40Yv for ; Sun, 18 Jan 2026 03:58:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768708693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nBiWbnFK9qQjzxc0BqmLTzOIi2+8xcPf+whLhRxgvPM=; b=BJkl25yE1qCkbJA2HKraiWDt1HoS9V0JNZnrXe5RqSn29S5hONMrys/Itl0xomDV8b0OmL FM045j/K79PsZdWUHGblChUm1KOrdTI9qyfTUleSbg1m9EbON7nXsugqkUIKSxhzCfEVz7 T2wVFA/oHp7WykW8eRni60axGmpYG1SYqgQTVqf3XmUSDOlZuoDJb+k00rGe2JDo9aZo/5 9SjOJEYvjUMn/T2l8Dhcl88NbSrgId/YEwB75pLJvG0FBRYymkY0NhTnbiWTlU9Vx2O4RL Spw9On9Hj1oC2FIbnMScrSVRg2cV6wNmpyB9fYG7uB3x+uFOpfTgkQ1qkZZDXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768708693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nBiWbnFK9qQjzxc0BqmLTzOIi2+8xcPf+whLhRxgvPM=; b=PFXBWrkEuQRXcYWnlffE600M/Y2KCuopclQTv2J/ukO5hPDfgT5O3/N1A1F0wiRG/gEZeF UzQP9aQl+pUmKCxtPFHs1/VsqQxFU3EATXhGGrRiz1kcCv+OsbrpeDyABdlairEHJHtD5w WCnoWzsO1xtGyUI71h4tIivA0JgJNhfo+Bz+QRcpXew1H9HeB81inEWgy7salZZitgu6pO y0af16Zk6T+vmu4VXnlV22tti30Z/ivBTIPGXykwTbHRsUztraBA4iv1KRVze1R8mtbH5r fJn7DGIdbG8ytWdfPqEijR0YFsTSIgmqKr9HTcs5S1RtnwNwIhgEYBFR+zVM2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768708693; a=rsa-sha256; cv=none; b=PFmAkczMzDN5vHkhhYXSo8eaJjXgjUe5vstBu8SjZS6ckhOIeJewFkvr6a9aCmzvRXzeMJ OeusA6Np6B/cmkXyXGrY3n65blatVfw4N5b3drvfTh+9+HColqEdOYCx0FmNmrm45hJbAM ht3W4mK3ZKZQSpblLJGe5Zj3PbLsCc6JCBMftGOJWKIUrLk2ZNR3RFTVL7G04PQM15ceaf FWPLwx22F/g/rU75ElxFs055r1OfJST1hv9aPPLrgI46zdjCM+DbBr9lz1ja0PAL0xH2fN njQzA1EFzCHvWaqDX7T/xjHMCJ0GUPFnRBgjlPjXPzclkbW47YNJFJUHoidzdw== 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 4dv0Dj65PPzTZ5 for ; Sun, 18 Jan 2026 03:58:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23eb3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 03:58:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jose Luis Duran Subject: git: fc614b08ef6c - 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: fc614b08ef6cce1568f449de1bf562d0b2d5f777 Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 03:58:13 +0000 Message-Id: <696c5a55.23eb3.7b03a4c5@gitrepo.freebsd.org> The branch stable/13 has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=fc614b08ef6cce1568f449de1bf562d0b2d5f777 commit fc614b08ef6cce1568f449de1bf562d0b2d5f777 Author: Jose Luis Duran AuthorDate: 2026-01-11 16:42:18 +0000 Commit: Jose Luis Duran CommitDate: 2026-01-18 03:57:12 +0000 Import latest mtree from NetBSD Merge commit '7e59b238fcf32f3d365e78ddc702ca494e1ff68d' This commit partially reverts the previous vendor import, given that the "type" keyword has been historically mandatory and should not be removed by "-R all". This was clarified in the man page. Reported by: glebius PR: 219467 MFC after: 1 week (cherry picked from commit 4250d2ad991b7bb9915e4c6b6d93b17369747ff0) --- contrib/mtree/create.c | 7 +++---- contrib/mtree/mtree.8 | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/contrib/mtree/create.c b/contrib/mtree/create.c index 191d69c6a537..68abbfa0258b 100644 --- a/contrib/mtree/create.c +++ b/contrib/mtree/create.c @@ -1,4 +1,4 @@ -/* $NetBSD: create.c,v 1.80 2025/12/18 18:16:48 christos Exp $ */ +/* $NetBSD: create.c,v 1.81 2026/01/10 14:53:39 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.80 2025/12/18 18:16:48 christos Exp $"); +__RCSID("$NetBSD: create.c,v 1.81 2026/01/10 14:53:39 christos Exp $"); #endif #endif /* not lint */ @@ -236,8 +236,7 @@ statf(FILE *fp, int indent, FTSENT *p) offset += fprintf(fp, "%*s", (INDENTNAMELEN + indent) - offset, ""); - if (keys & F_TYPE && - !S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag)) + if (!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.8 b/contrib/mtree/mtree.8 index 99e3199de943..4421cf735c99 100644 --- a/contrib/mtree/mtree.8 +++ b/contrib/mtree/mtree.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: mtree.8,v 1.78 2023/12/02 13:26:09 christos Exp $ +.\" $NetBSD: mtree.8,v 1.80 2026/01/10 17:12:04 uwe Exp $ .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -56,7 +56,7 @@ .\" .\" @(#)mtree.8 8.2 (Berkeley) 12/11/93 .\" -.Dd December 2, 2023 +.Dd January 8, 2026 .Dt MTREE 8 .Os .Sh NAME @@ -178,8 +178,8 @@ and respectively. . .It Fl f Ar spec -Read the specification from -.Ar file , +Read the specification from the file +.Ar spec , instead of from the standard input. .Pp If this option is specified twice, the two specifications are compared @@ -242,18 +242,14 @@ If is specified, add all of the other keywords. . .It Fl k Ar keywords -Use the +Use the mandatory .Sy type keyword plus the specified (whitespace or comma separated) .Ar keywords -instead of the current set of keywords. +to replace the current set of keywords. If .Ql all -is specified, use all of the other keywords. -If the -.Sy type -keyword is not desired, suppress it with -.Fl R Cm type . +is specified, use all of the available keywords. . .It Fl L Follow all symbolic links in the file hierarchy. @@ -338,9 +334,13 @@ This occurs when the directory is a symbolic link. .It Fl R Ar keywords Remove the specified (whitespace or comma separated) keywords from the current set of keywords. +The +.Sy type +keyword is mandatory and is always retained. If .Ql all -is specified, remove all of the other keywords. +is specified, remove all keywords except +.Sy type . . .It Fl r Remove any files in the file hierarchy that are not described in the From nobody Sun Jan 18 21:11:36 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dvR943Pn8z6NxVs for ; Sun, 18 Jan 2026 21:11:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dvR942TYYz3sXJ for ; Sun, 18 Jan 2026 21:11:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768770696; h=from:from:reply-to:subject:subject: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=nV3Nou97LPSR1mFCwGci/GPhAOLdWalkHxtNHyZ5rx8=; b=YlNhadMecdVAS3napNnz/fgfzMnRU6k4RZdoRWfhtRX4cJDK3u1JEzcAeyaGweh6FWzIXX PU90uV2IiEnm/NOmgRdDctoQ5k27xf4gjtXlD7geTNxI1s6ZvckRoA1EwGQ8gwLerBWYfl 8VP2xxucGBd5QmL1MYPDwsX0398Ie832Cxwwua1DuzZCFSuO1Knc9a3+6d9DAv7X5ws1bQ OXizSt5fZhETpEzU2lxyvydoF+lkomLIlXDAOwdOkSCENiiDVvVwgrHzVC+hRmqY3Asz2h PddB3Rg1LdakywmqQWnKlnGKtk7lCqyPZGpW7VRb59Wga0qJC5TViTw4tpsFcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768770696; h=from:from:reply-to:subject:subject: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=nV3Nou97LPSR1mFCwGci/GPhAOLdWalkHxtNHyZ5rx8=; b=lVEvguGR/ZS1REHq+/v2JwD6iugLBciw7P37ryqJe2yrCvtoiVVHHLRkwxaypCDOuZYDHq 9PkJb8AQtGEI6uala2f0kjYQgeVvhY6Pg+1cowz/AfPZBcvNDpAE4cHlh9zzilzuxri5ff cU6/IgTHyijOiyvLa8SpjIWVYLpfuc9CBTa4Spxk3tpQMtX6pel/pa/5/x7k7aCxMhZNdX AszlZgTOcl8mzQfi4eQe2viC9BkLWRcvvaUmc+P/Ggr+cOd4xajSGs+TRIpVvx6T9QxvNk 5ILPVfTXVhpCbgnLC2iSIWAFS7D1ZZ/YoZ8cIeZzxkkkmb4wlG9weUvdSDuIsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768770696; a=rsa-sha256; cv=none; b=MUBht+M1bKhif3zRj0p0Xd8hXjISMrTD6s82i3rRUoAP/aWvkx8ptbGYrhiGJ8qXJuJcAY bQb13h535JlQ4sBzabv2FjUBOuXZVHuHfuxknWLgdww2vE9TVBlMdCvnTRXLqRdzxN2iEV tvZXADVFgG2fl3ETRAUQ5/bqFBgN+IKGsg54m81DRkls940fuCEo0cPzMK5GW90WxIo+9r JD4fTOzb6PclYM9HfQ15EwevrumsTrnjDY8+FhLv3sTjSjXNls5hKF9O4yEyeByVTLFBtK Mpy3tOCurF98UrUnoRBU+J8Pqbudk46wfYcLTGMaa3lkrPp17KHOgmMsdHZlqw== 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 4dvR941gTnz12nR for ; Sun, 18 Jan 2026 21:11:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2232b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Jan 2026 21:11:36 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alexander Ziaee From: Warner Losh Subject: git: 916166d9f98f - stable/14 - uchcom.4: Add HARDWARE, makeover 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 916166d9f98f6db8630b1955c1ae5606614a950f Auto-Submitted: auto-generated Date: Sun, 18 Jan 2026 21:11:36 +0000 Message-Id: <696d4c88.2232b.7b79f6e3@gitrepo.freebsd.org> The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=916166d9f98f6db8630b1955c1ae5606614a950f commit 916166d9f98f6db8630b1955c1ae5606614a950f Author: Alexander Ziaee AuthorDate: 2025-06-25 04:37:37 +0000 Commit: Warner Losh CommitDate: 2026-01-18 21:10:52 +0000 uchcom.4: Add HARDWARE, makeover Tag spdx, improve document description for apropos, improve synopsis for clarity and consistency, improve description to explain usage, improve hardware for hardware release notes, mention the sysctl, xref the application to use this driver, improve history. MFC: no (unless change adding CH9102/CH343 mfcs) Fixes: 1395712cab8e9 (add support for CH9102 and CH343) Reviewed by: carlavilla, kevlo Differential Revision: https://reviews.freebsd.org/D51036 (cherry picked from commit f0ba0b99ef0a9cf9e7822278d7d2bc0a80911361) --- share/man/man4/uchcom.4 | 88 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 64 insertions(+), 24 deletions(-) diff --git a/share/man/man4/uchcom.4 b/share/man/man4/uchcom.4 index 4d395573589f..6cee3d82c2ce 100644 --- a/share/man/man4/uchcom.4 +++ b/share/man/man4/uchcom.4 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" $NetBSD: uchcom.4,v 1.2 2008/04/30 13:10:54 martin Exp $ .\" .\" Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -27,37 +30,75 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 19, 2024 +.Dd June 25, 2025 .Dt UCHCOM 4 .Os .Sh NAME .Nm uchcom -.Nd WinChipHead CH9102/CH343/CH341/CH340 serial adapter driver +.Nd WinChipHead CH9102/CH343/CH341/CH340 USB to serial UART driver .Sh SYNOPSIS -To compile this driver into the kernel, -place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent .Cd "device usb" .Cd "device ucom" .Cd "device uchcom" -.Ed .Pp -Alternatively, to load the driver as a -module at boot time, place the following line in -.Xr loader.conf 5 : -.Bd -literal -offset indent -uchcom_load="YES" -.Ed +In +.Xr rc.conf 5 : +.Cd kld_list="uchcom" +.Pp +In +.Xr sysctl.conf 5 : +.Cd hw.usb.uchcom.debug=1 .Sh DESCRIPTION The .Nm -driver provides support for the WinChipHead CH9102/CH343/CH341/CH340 -USB-to-RS-232 Bridge chip. +driver provides support for the WinChipHead USB to serial UART adapters. +If the appropriate hardware is detected, +the driver will be loaded automatically by +.Xr devmatch 8 . +To load the driver manually, add it to the +.Ic kld_list +in +.Xr rc.conf 5 , +or use +.Xr kldload 8 +at runtime. +The device is accessed through the +.Xr ucom 4 +driver, which makes it behave like a +.Xr tty 4 . +.Pp +Call out through this interface with applications like +.Xr cu 1 +or +.Xr tip 1 . +.Sh HARDWARE +The +.Nm +driver supports the following USB to serial UART controllers: .Pp -The datasheets for the CH340/CH341 list the maximum -supported baud rate as 2,000,000. -CH9102/CH343 devices support any baud rate up to 6 Mbps. +.Bl -bullet -compact +.It +WinChipHead CH9102 (max 6Mbps) +.It +WinChipHead CH343 (max 6Mbps) +.It +WinChipHead CH341 (max 2Mbps) +.It +WinChipHead CH340 (max 2Mbps) +.El +.Sh SYSCTL VARIABLES +These settings can be entered in the +.Xr loader 8 +prompt, set in +.Xr loader.conf 5 , +.Xr sysctl.conf 5 , +or changed at runtime with +.Xr sysctl 8 : +.Bl -tag -width "hw.usb.uchcom.debug" +.It Va hw.usb.uchcom.debug +Enable debugging messages, default +.Ql 0 +.El .Sh FILES .Bl -tag -width "/dev/ttyU*.init" -compact .It Pa /dev/ttyU* @@ -73,15 +114,14 @@ for callout ports corresponding callout initial-state and lock-state devices .El .Sh SEE ALSO +.Xr cu 1 , .Xr tty 4 , .Xr ucom 4 , .Xr usb 4 .Sh HISTORY The .Nm -driver first appeared in -.Nx . -The first -.Fx -release to include it was -.Fx 8.0 . +driver appeared in +.Fx 8.0 +from +.Nx 5.0 .