FreeBSD/src c72edc2sys/dev/ahci ahci_pci.c

ahci(4): Add another device ID for Marvell 9128 SATA controller: 0x91a3

This was encountered on a Gigabyte GA-P55A-UD4 motherboard identifying itself
as:
ahci0 at pci0:2:0:0:       class=0x01018f rev=0x11 hdr=0x00 vendor=0x1b4b device=0x91a3 subvendor=0x1458 subdevice=0xb000
    vendor     = 'Marvell Technology Group Ltd.'
    class      = mass storage
    subclass   = ATA

The physical chip has "88SE9128-NAA2" printed on it.

Similar code has been in Linux for a long time:
https://github.com/torvalds/linux/commit/50be5e3657cd2851a297dc0b3fd459f25829d29b

Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR:             288526
Reviewed by:    jhb
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D56464
DeltaFile
+2-0sys/dev/ahci/ahci_pci.c
+2-01 files

FreeBSD/ports dc2ae3cbenchmarks/hipercontracer distinfo Makefile

benchmarks/hipercontracer: Update 2.1.13 => 2.1.14

Changelog:
https://github.com/dreibh/hipercontracer/blob/hipercontracer-2.1.14/ChangeLog

Commit log:
https://github.com/dreibh/hipercontracer/compare/hipercontracer-2.1.13...hipercontracer-2.1.14

PR:             294728
Sponsored by:   UNIS Labs
DeltaFile
+3-3benchmarks/hipercontracer/distinfo
+1-1benchmarks/hipercontracer/Makefile
+4-42 files

FreeBSD/ports 5c20dfdfilesystems/zfstools Makefile

filesystems/zfstools: Fix with Ruby 3.4.

It needs rubygem-getoptlong.

PR:     294720
DeltaFile
+3-1filesystems/zfstools/Makefile
+3-11 files

FreeBSD/ports 1b109ddnet/teddycloud pkg-message Makefile, net/teddycloud/files pkg-message.in patch-src_home__assistant.c

net/teddycloud: Update 0.6.7 => 0.6.8

Changelog:
https://github.com/toniebox-reverse-engineering/teddycloud/releases/tag/tc_v0.6.8

Port changes:
 * Replace several source code patch files with CFLAGS instead.
 * Replace long paths with DATADIR and ETCDIR instead.
 * Pet portlint: remove empty line between *_DEPENDS.
 * Convert pkg-message to files/pkg-message.in and fix typo.

PR:             294230
Reported by:    Michael Pape <freebsd at pe82.de> (maintainer)
Approved by:    vvd (co-mentor)
DeltaFile
+27-0net/teddycloud/files/pkg-message.in
+0-27net/teddycloud/pkg-message
+13-10net/teddycloud/Makefile
+0-19net/teddycloud/files/patch-src_home__assistant.c
+0-18net/teddycloud/files/patch-src_handler__api.c
+0-15net/teddycloud/files/patch-src_toniesJson.c
+40-896 files not shown
+52-15112 files

FreeBSD/ports 02e2484net/freerdp3 distinfo Makefile

net/freerdp3: Update 3.24.0 => 3.25.0

Changelogs:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.24.1
https://github.com/FreeRDP/FreeRDP/releases/tag/3.24.2
https://github.com/FreeRDP/FreeRDP/releases/tag/3.25.0

PR:             294663
Security:       CVE-2026-40254
Sponsored by:   UNIS Labs
MFH:            2026Q2

(cherry picked from commit 283e7c903a5d4c8d1fd25a48e24e504f43416504)
DeltaFile
+3-3net/freerdp3/distinfo
+1-1net/freerdp3/Makefile
+1-0net/freerdp3/pkg-plist
+5-43 files

FreeBSD/ports e0374f5audio/noson distinfo Makefile

audio/noson: Update to 2.12.32
DeltaFile
+3-3audio/noson/distinfo
+1-1audio/noson/Makefile
+1-1audio/noson/pkg-plist
+5-53 files

FreeBSD/ports e238e73audio/noson-app distinfo Makefile

audio/noson-app: Update to 5.6.24
DeltaFile
+3-3audio/noson-app/distinfo
+1-1audio/noson-app/Makefile
+4-42 files

FreeBSD/ports 283e7c9net/freerdp3 distinfo Makefile

net/freerdp3: Update 3.24.0 => 3.25.0

Changelogs:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.24.1
https://github.com/FreeRDP/FreeRDP/releases/tag/3.24.2
https://github.com/FreeRDP/FreeRDP/releases/tag/3.25.0

PR:             294663
Security:       CVE-2026-40254
Sponsored by:   UNIS Labs
MFH:            2026Q2
DeltaFile
+3-3net/freerdp3/distinfo
+1-1net/freerdp3/Makefile
+1-0net/freerdp3/pkg-plist
+5-43 files

FreeBSD/src f4418cfsys/compat/linuxkpi/common/include/linux seq_file.h, sys/compat/linuxkpi/common/src linux_seq_file.c

LinuxKPI: Update seq_file to properly implement the iterator interface

The seq_file.rst documentation in the Linux kernel documents the
iterator interface for the seq_file structure.  In particular, the
ppos passed to seq_read is a logical offset into a seq_file managed by
the iterator interface, not an offset into the generated data.  For
example, if a seq_file outputs state for each node in a linked-list or
array, *ppos might be used as the index of the node to output, not a
byte offset.

Rewrite seq_read to honor this contract which fixes a few bugs:

- Treat *ppos as a logical iterator offset that is only updated by the
  next callback after outputting a single item via the show method.

- Use a loop to permit outputting descriptions of multiple items if
  the user buffer is large enough.

- Always invoke the stop method after terminating the loop to cleanup

    [9 lines not shown]
DeltaFile
+57-7sys/compat/linuxkpi/common/src/linux_seq_file.c
+2-0sys/compat/linuxkpi/common/include/linux/seq_file.h
+59-72 files

FreeBSD/src 9b95cabcontrib/tzdata northamerica NEWS

contrib/tzdata: import tzdata 2026b

Changes: https://github.com/eggert/tz/blob/2026b/NEWS

MFC after:      3 days
DeltaFile
+55-1contrib/tzdata/northamerica
+45-8contrib/tzdata/NEWS
+3-0contrib/tzdata/zonenow.tab
+1-1contrib/tzdata/zone1970.tab
+1-1contrib/tzdata/version
+1-1contrib/tzdata/zone.tab
+106-126 files

FreeBSD/src 44e4f45sys/arm64/arm64 pmap.c, sys/arm64/include hypervisor.h pmap.h

arm64/vmm: Enable 16-bit VMIDs when in use by pmap

pmap_init always uses 16-bit VMIDs when supported, but we never enable
them in VTCR_EL2 (for ASIDs, locore enables them in TCR_EL1 and
pmap_init keys off whether they've been enabled, but the order in which
pmap_init and vmmops_modinit run is reversed). As a result, although the
full 16-bit value can be stored to VTTBR_EL2 and read back, the upper 8
bits are treated as 0, and so VMIDs that our VMID allocation believes
are distinct end up aliasing.

In future this interface may change such that vmm decides on the VMID
width and tells the pmap to use that, with appropriate support for
unloading and reloading vmm, but that can come as a follow-up change, as
this is a more minimal bug fix.

Reviewed by:    markj
Obtained from:  CheriBSD
Fixes:          47e073941f4e ("Import the kernel parts of bhyve/arm64")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55860
DeltaFile
+11-0sys/arm64/arm64/pmap.c
+2-0sys/arm64/include/hypervisor.h
+2-0sys/arm64/vmm/vmm_arm64.c
+1-0sys/arm64/include/pmap.h
+16-04 files

FreeBSD/ports e221ea2audio/libgme distinfo Makefile

audio/libgme: Update to 0.6.5

PR:             294675
DeltaFile
+3-3audio/libgme/distinfo
+2-2audio/libgme/Makefile
+1-1audio/libgme/pkg-plist
+6-63 files

FreeBSD/src 5cfcccfcontrib/tzcode NEWS version, contrib/tzdata northamerica zonenow.tab

Revert "Import tzdata 2026b"

This reverts commit 5417f0bbde91c148b3c3982eb2ab23a675b5e8d1.
DeltaFile
+1-55contrib/tzdata/northamerica
+8-45contrib/tzcode/NEWS
+0-3contrib/tzdata/zonenow.tab
+1-1contrib/tzcode/version
+1-1contrib/tzdata/zone.tab
+1-1contrib/tzdata/zone1970.tab
+12-1066 files

FreeBSD/ports d2443c1security/rage-encryption distinfo Makefile

security/rage-encryption: Update to 0.11.2
DeltaFile
+3-3security/rage-encryption/distinfo
+1-2security/rage-encryption/Makefile
+4-52 files

FreeBSD/doc c79b665website/content/en/status/report-2026-01-2026-03 cppc.adoc sbom.adoc

Status/2026Q1: Fixes

- Change syntax of a numbered list to fix warnings (use actual numbers
instead of repeating "1."'s)
- URL encode "..." to ensure links do not break (replacing ... with …)
DeltaFile
+6-6website/content/en/status/report-2026-01-2026-03/cppc.adoc
+1-1website/content/en/status/report-2026-01-2026-03/sbom.adoc
+7-72 files

FreeBSD/src 5417f0bcontrib/tzcode NEWS version, contrib/tzdata northamerica zonenow.tab

Import tzdata 2026b
DeltaFile
+55-1contrib/tzdata/northamerica
+45-8contrib/tzcode/NEWS
+3-0contrib/tzdata/zonenow.tab
+1-1contrib/tzdata/zone1970.tab
+1-1contrib/tzdata/zone.tab
+1-1contrib/tzcode/version
+106-126 files

FreeBSD/poudriere 0d2ab43src/etc poudriere.conf.sample, src/man poudriere-bulk.8

CHECK_CHANGED_OPTIONS is incorrectly documented (#1336)

This fixes #1336

(cherry picked from commit 1ea382382158abe2954858a528b89824d0b4ccf6)
DeltaFile
+1-1src/man/poudriere-bulk.8
+1-0src/etc/poudriere.conf.sample
+2-12 files

FreeBSD/poudriere ce96e2csrc/etc poudriere.conf.sample, src/man poudriere-bulk.8

Merge pull request #1337 from michael-o/CHECK_CHANGED_OPTIONS

CHECK_CHANGED_OPTIONS is incorrectly documented (#1336)
DeltaFile
+1-1src/man/poudriere-bulk.8
+1-0src/etc/poudriere.conf.sample
+2-12 files

FreeBSD/src def146f. northamerica NEWS

Import tzdata 2026b
DeltaFile
+55-1northamerica
+45-8NEWS
+3-0zonenow.tab
+1-1zone1970.tab
+1-1zone.tab
+1-1version
+106-126 files

FreeBSD/src ff11ae1sys/amd64/amd64 mp_machdep.c

amd64: fix INVLPGB range invalidation

AMD64 Architecture Programmer's Manual Volume 3 says the following:

> ECX[15:0] contains a count of the number of sequential pages to
> invalidate in addition to the original virtual address, starting from
> the virtual address specified in rAX. A count of 0 invalidates a
> single page. ECX[31]=0 indicates to increment the virtual address at
> the 4K boundary. ECX[31]=1 indicates to increment the virtual address
> at the 2M boundary. The maximum count supported is reported in
> CPUID function 8000_0008h, EDX[15:0].

ECX[31] being what we call INVLPGB_2M_CNT, signaling to increment the
VA by 2M.

> This instruction invalidates the TLB entry or entries, regardless of
> the page size (4 Kbytes, 2 Mbytes, 4 Mbytes, or 1 Gbyte). [...]

Combined with this, my interpretation of the current code is: if

    [21 lines not shown]
DeltaFile
+6-19sys/amd64/amd64/mp_machdep.c
+6-191 files

FreeBSD/src 280cfe2sys/amd64/amd64 mp_machdep.c

amd64: fix INVLPGB range invalidation

AMD64 Architecture Programmer's Manual Volume 3 says the following:

> ECX[15:0] contains a count of the number of sequential pages to
> invalidate in addition to the original virtual address, starting from
> the virtual address specified in rAX. A count of 0 invalidates a
> single page. ECX[31]=0 indicates to increment the virtual address at
> the 4K boundary. ECX[31]=1 indicates to increment the virtual address
> at the 2M boundary. The maximum count supported is reported in
> CPUID function 8000_0008h, EDX[15:0].

ECX[31] being what we call INVLPGB_2M_CNT, signaling to increment the
VA by 2M.

> This instruction invalidates the TLB entry or entries, regardless of
> the page size (4 Kbytes, 2 Mbytes, 4 Mbytes, or 1 Gbyte). [...]

Combined with this, my interpretation of the current code is: if

    [21 lines not shown]
DeltaFile
+6-19sys/amd64/amd64/mp_machdep.c
+6-191 files

FreeBSD/src 09fe5cctests/sys/kqueue kqueue_fork.c

tests: kqueue: improve diagnostics for our CPONFORK test

Notably, confirm in the child that our close-on-fork fd is actually
closed, and break RECV_ALL out into a table and check each bit
individually to provide a better message when the test fails.

While we're here, just switch to waitid() rather than trying to identify
the point where we have to make the switch.  This reduces maintenance
slightly, as keeping our assertion static would require still adding to
a _RECV_ALL mask *just* for that purpose.

Reviewed by:    kib, markj (both slightly earlier version)

(cherry picked from commit 51d2c38010824b90d7462711896a88165db9d015)
DeltaFile
+60-11tests/sys/kqueue/kqueue_fork.c
+60-111 files

FreeBSD/src 5cbb1e0usr.bin/find function.c find.1, usr.bin/find/tests find_test.sh

find: add -xattr and -xttrname

We use -xattr in our openrsync tests for convenience, and it seems like
a good addition to FreeBSD.  -xattr and -xattrname will both consult all
available namespaces by default, but -xattrname allows filtering by
namespace using a "user:" or "system:" prefix.

Inspired by:    https://github.com/apple-oss-distributions/shell_cmds
Reviewed by:    kib, rmacklem
Sponsored by:   Klara, Inc.

(cherry picked from commit 22fba3a9d64140d80a9e2093cfc02c9c503b2e19)
DeltaFile
+94-0usr.bin/find/function.c
+80-0usr.bin/find/tests/find_test.sh
+21-2usr.bin/find/find.1
+2-0usr.bin/find/option.c
+2-0usr.bin/find/extern.h
+199-25 files

FreeBSD/src ca19c92sys/sys extattr.h

<sys/extattr.h>: use designated initializers for EXTATTR_NAMESPACE_NAMES

This is not a functional change, but it makes it more clear upon
inspection of the definition that the mapping property described is
preserved.  Maybe more importantly, if one ends up getting an index
wrong or punching a hole in the name array unexpectedly, then it'll
hopefully manifest more clearly as a (null) or nullptr deref rather than
potentially just emitting the wrong namespace name.

It's noted that this almost certainly invalidates its use in C++, but
there aren't really any known C++ consumers of it- let's just cross
that bridge if we get there.

Reviewed by:    kib, mckusick, rmacklem
Sponsored by:   Klara, Inc.

(cherry picked from commit 84ce651836e0d037f611cd33a5c65e1d57049432)
DeltaFile
+3-3sys/sys/extattr.h
+3-31 files

FreeBSD/src cee4e16lib/libutil trimdomain.c trimdomain.3

libutil: take a size_t in trimdomain()

INT_MAX is already larger than a reasonable hostname might be, but
size_t makes some of this easier to reason about as we do arithmetic
with it.  This would maybe not be worth it if we had to bump the
soversion because of it, but libutil does symbol versioning now so we
can provide a compat shim.

While we're here, fix some inconsistencies in argument names in the
manpage.

Reviewed by:    des
Obtained from:  https://github.com/apple-oss-distributions/libutil
Sponsored by:   Klara, Inc.

(cherry picked from commit 7e70589b1bee4853cb11e3d8eb963079b18ff534)
DeltaFile
+17-1lib/libutil/trimdomain.c
+4-4lib/libutil/trimdomain.3
+4-1lib/libutil/Symbol.map
+1-1lib/libutil/libutil.h
+26-74 files

FreeBSD/src f3c488flib/libutil trimdomain.c, lib/libutil/tests trimdomain_test.c

libutil: avoid an out-of-bounds read in trimdomain(3)

memchr(3) will happily believe we've passed in a valid object, but
hostsize could easily exceed the bounds of fullhost.  Clamp it down to
the string size to be safe and avoid UB.  This plugs a potential
overread noted in the compat shim that was just added.

Reviewed by:    des
Sponsored by:   Klara, Inc.

(cherry picked from commit f268f95955f5f0f91f4d39e13bcd69a24e0d8ce4)
DeltaFile
+6-0lib/libutil/trimdomain.c
+3-1lib/libutil/tests/trimdomain_test.c
+9-12 files

FreeBSD/src 60000d9tests/sys/netpfil/pf nat.sh

tests/pf/nat: endpoint_independent: wait for tcpdump to start

This matches pflog.sh tests and fixes flaky tests found in CI[0].

[0] https://ci.freebsd.org/job/FreeBSD-main-amd64-test/28126/testReport/junit/sys.netpfil.pf/nat/endpoint_independent_exhaust/

PR:     289628
Reviewed by:    glebius
Approved by:    lwhsu (mentor)
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D56145
DeltaFile
+28-16tests/sys/netpfil/pf/nat.sh
+28-161 files

FreeBSD/ports 4a6c7c3science/orthanc-dicomweb distinfo Makefile

science/orthanc-dicomweb: Update to 1.23

A few minor enhancements
Changes: https://orthanc.uclouvain.be/hg/orthanc-dicomweb/file/tip/NEWS

Reported by:    portscout
DeltaFile
+5-5science/orthanc-dicomweb/distinfo
+2-2science/orthanc-dicomweb/Makefile
+7-72 files

FreeBSD/ports 4ec8a87science/orthanc-mysql Makefile distinfo

science/orthanc-mysql: Update to allow build alongside orthanc 1.12.11

Does not build with bundled orthanc 1.12.11.
Pin bundled version to 1.12.10 instead of ../orthanc/version.mk.
DeltaFile
+4-2science/orthanc-mysql/Makefile
+1-1science/orthanc-mysql/distinfo
+5-32 files

FreeBSD/ports f50ffedscience/orthanc-postgresql distinfo Makefile

science/orthanc-postgresql: Update to 10.1

Change label filtering behavior
Changes: https://orthanc.uclouvain.be/hg/orthanc-databases/file/\
            tip/PostgreSQL/NEWS

Reported by:    portscout
DeltaFile
+5-5science/orthanc-postgresql/distinfo
+1-2science/orthanc-postgresql/Makefile
+6-72 files