FreeBSD/src 1fd43eesys/dev/tpm tpm20.c tpm_tis_core.c

tpm: fix multi-threaded access with per-open state

The TPM driver currently has a single buffer per instance to hold the
result of a command, and does not allow subsequent commands to be sent
until the current result is read by the same OS thread that sent the
command, with a timeout to throw away the result after a while if the
result is not read in a timely fashion.  This has a couple problems:

 - The timeout code has a bug which causes all subsequent commands to
   hang forever if a different OS thread tries to read the result
   before the OS thread which sent the command, and the OS thread
   which sent the command never tries to read the result.

 - Even if the first problem is fixed, applications expect to be able
   to read the result from a different OS thread than the OS thread
   which sent the command. The particular case that we saw was a go
   application where the go runtime scheduled the goroutine which read
   the result to a different OS thread from one where the goroutine
   that sent the command ran, and there's no way to force these to

    [11 lines not shown]
DeltaFile
+46-70sys/dev/tpm/tpm20.c
+14-14sys/dev/tpm/tpm_tis_core.c
+9-10sys/dev/tpm/tpm_crb.c
+7-6sys/dev/tpm/tpm20.h
+5-0sys/dev/tpm/tpm_if.m
+81-1005 files

FreeNAS/freenas aab24aasrc/middlewared/middlewared/alembic/versions/26.0 2026-03-20_15-53_iscsi_mode.py

Add alembic migration for iSCSI mode
DeltaFile
+26-0src/middlewared/middlewared/alembic/versions/26.0/2026-03-20_15-53_iscsi_mode.py
+26-01 files

FreeNAS/freenas be83468src/middlewared/middlewared/api/v26_0_0 iscsi_global.py, src/middlewared/middlewared/plugins dlm.py

Add mode to iSCSI config
DeltaFile
+22-0src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+10-6src/middlewared/middlewared/plugins/failover_/event.py
+10-5src/middlewared/middlewared/plugins/iscsi_/alua.py
+5-1src/middlewared/middlewared/plugins/dlm.py
+6-0src/middlewared/middlewared/utils/iscsi/constants.py
+2-0src/middlewared/middlewared/api/v26_0_0/iscsi_global.py
+55-126 files

FreeNAS/freenas 9305526src/middlewared/middlewared/utils interface.py

NAS-140381 / 26.0.0-BETA.2 / Use netlink API for default interface detection with IPv6 fallback (by sonicaj) (#18534)

This commit fixes Apps/Docker setup failing on IPv6 single-stack
deployments with "Unable to determine interface" error. The existing
get_default_interface() only read /proc/net/route (IPv4). This replaces
the procfs text parsing with the truenas_pynetif netlink API
(get_default_route), which tries IPv4 first and falls back to IPv6. Dead
constants RTF_GATEWAY and RTF_UP are removed.

Thank you @xionglingfeng for highlighting this issue and your
contribution.

Original PR: https://github.com/truenas/middleware/pull/18528

Co-authored-by: Waqar Ahmed <waqarahmedjoyia at live.com>
DeltaFile
+8-8src/middlewared/middlewared/utils/interface.py
+8-81 files

FreeNAS/freenas c45ed68src/middlewared/middlewared/utils interface.py

NAS-140381 / 27.0.0-BETA.1 / Use netlink API for default interface detection with IPv6 fallback (#18528)

This commit fixes Apps/Docker setup failing on IPv6 single-stack
deployments with "Unable to determine interface" error. The existing
get_default_interface() only read /proc/net/route (IPv4). This replaces
the procfs text parsing with the truenas_pynetif netlink API
(get_default_route), which tries IPv4 first and falls back to IPv6. Dead
constants RTF_GATEWAY and RTF_UP are removed.

Thank you @xionglingfeng for highlighting this issue and your
contribution.
DeltaFile
+8-8src/middlewared/middlewared/utils/interface.py
+8-81 files

LLVM/project 6e3ac64flang/lib/Lower/OpenMP ClauseProcessor.cpp, flang/test/Lower/OpenMP declare-simd.f90

Fix declare simd linear stride rescaling and arg_types verifier

1. Rescale constant linear steps from source-level element counts to byte
   strides in Flang's processLinear(). For reference-like parameters
   (pointers or non-VALUE dummy arguments) with Linear or LinearRef ABI
   kind, the step must be multiplied by the element size in bytes. This
   matches Clang's rescaling in CGOpenMPRuntime.cpp. Val and UVal kinds
   are not rescaled as they describe value changes, not pointer strides.
   Var-strides are also not rescaled as the value is an argument index.

2. Add a verifier check in DeclareSimdOp to ensure 'arg_types' length
   matches the number of function arguments, preventing out-of-bounds
   access during MLIR-to-LLVM IR translation.

Also restructure processLinear() to compute stepOperand per-variable
instead of appending the same operand for all objects in the clause,
enabling per-variable rescaling.

Assisted with copilot.
DeltaFile
+49-6flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+6-6flang/test/Lower/OpenMP/declare-simd.f90
+8-0mlir/test/Dialect/OpenMP/invalid.mlir
+7-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+2-2mlir/test/Dialect/OpenMP/ops.mlir
+72-145 files

LLVM/project cc4461eflang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics openmp-utils.cpp check-omp-loop.cpp

Remove handling of unsourced messages
DeltaFile
+3-19flang/lib/Semantics/openmp-utils.cpp
+3-12flang/include/flang/Semantics/openmp-utils.h
+3-3flang/lib/Semantics/check-omp-loop.cpp
+9-343 files

FreeNAS/freenas e7f772fsrc/middlewared/middlewared/plugins failover.py, src/middlewared/middlewared/plugins/enclosure_ enclosure2.py

NAS-140347 / 26.0.0-BETA.2 / Expose `failover` namespace and several other public methods in API docs (by creatorcary) (#18533)

Automatic cherry-pick failed. Please resolve conflicts by running:

    git cherry-pick -x 5ef002c21543d0d839a1fc7622e27d4b540d6bdd

If the original PR was merged via a squash, you can just cherry-pick the
squashed commit:

    git reset --hard HEAD~5
    git cherry-pick -x ad71fbed025f09eedd584d53fb02fa8972e4d3e4

Some methods, like the entire `failover` namespace (not including
sub-namespaces like `failover.reboot`), are excluded from the API docs.
This is because of two overlooked rules:
1. Setting `private = True` in the `Config` class of one `Service` class
is the same as setting `private = True` in the `Config`s of all
`Service` classes with the same name.
2. `private = True` in the `Config` class overrides `@api_method` with

    [45 lines not shown]
DeltaFile
+21-29src/middlewared/middlewared/plugins/zpool/crud.py
+40-4src/middlewared/middlewared/plugins/enclosure_/enclosure2.py
+20-22src/middlewared/middlewared/plugins/failover.py
+11-4src/middlewared/middlewared/plugins/failover_/remote.py
+8-6src/middlewared/middlewared/plugins/webui/enclosure.py
+8-4src/middlewared/middlewared/plugins/fc/fc.py
+108-697 files not shown
+142-8113 files

FreeBSD/ports f68b4f2net-mgmt/librenms Makefile

net-mgmt/librenms: Remove ImageMagick - it is not used

PR:             292483
DeltaFile
+1-3net-mgmt/librenms/Makefile
+1-31 files

LLVM/project 5804f7dllvm/lib/CodeGen CodeGenPrepare.cpp, llvm/test/Transforms/CodeGenPrepare/AArch64 ptrauth.ll

[CGP][PAC] Flip PHI and blends when all immediate modifiers are the same

GVN PRE, SimplifyCFG and possibly other passes may hoist the call to
`@llvm.ptrauth.blend` intrinsic, introducing multiple duplicate call
instructions hidden behind a PHI node. This prevents the instruction
selector from generating safer code by absorbing the address and
immediate modifiers into separate operands of AUT, PAC, etc. pseudo
instruction.

This patch makes CodeGenPrepare pass detect when discriminator is
computed as a PHI node with all incoming values being blends with the
same immediate modifier. Each such discriminator value is replaced by a
single blend, whose address argument is computed by a PHI node.
DeltaFile
+142-0llvm/test/Transforms/CodeGenPrepare/AArch64/ptrauth.ll
+75-0llvm/lib/CodeGen/CodeGenPrepare.cpp
+217-02 files

FreeBSD/ports 0762347filesystems/ltfs distinfo Makefile

filesystems/ltfs: Update to 2.4.8.2
DeltaFile
+3-3filesystems/ltfs/distinfo
+2-2filesystems/ltfs/Makefile
+5-52 files

FreeNAS/freenas b72bc1asrc/middlewared/middlewared/plugins/enclosure_ enclosure2.py, src/middlewared/middlewared/service core_service.py

retain cli_private on enclosure2

(cherry picked from commit 979811d79cd00e8282d6dd8dc8bbdfc9142955b9)
DeltaFile
+1-1src/middlewared/middlewared/plugins/enclosure_/enclosure2.py
+1-1src/middlewared/middlewared/service/core_service.py
+2-22 files

FreeNAS/freenas b3c5135src/middlewared/middlewared/plugins/fc fc.py, src/middlewared/middlewared/plugins/rdma rdma.py

cli_private = True

(cherry picked from commit 4b3f8e0aeb80cbf391ccf71a1ff2aee12ed7d520)
DeltaFile
+3-0src/middlewared/middlewared/plugins/rdma/rdma.py
+1-0src/middlewared/middlewared/plugins/fc/fc.py
+4-02 files

FreeNAS/freenas 0210954src/middlewared/middlewared/plugins/failover_ remote.py, src/middlewared/middlewared/plugins/zfs_ pool_status.py

expose failover namespace and zpool.query to public API

(cherry picked from commit 14e6b9b923e5eb572dcb2c7ebce38c7a88e061b5)
DeltaFile
+11-4src/middlewared/middlewared/plugins/failover_/remote.py
+5-2src/middlewared/middlewared/plugins/zfs_/pool_status.py
+2-0src/middlewared/middlewared/service/base.py
+18-63 files

FreeNAS/freenas cdaec61src/middlewared/middlewared/plugins/enclosure_ enclosure2.py, src/middlewared/middlewared/plugins/fc fc.py

expose several other public methods in the API docs

(cherry picked from commit bdf80add821de8dc238bd5a6872386a8642c5db5)
DeltaFile
+6-2src/middlewared/middlewared/plugins/enclosure_/enclosure2.py
+5-2src/middlewared/middlewared/plugins/webui/enclosure.py
+5-2src/middlewared/middlewared/plugins/fc/fc.py
+2-2src/middlewared/middlewared/plugins/webui/main_dashboard.py
+0-3src/middlewared/middlewared/plugins/rdma/rdma.py
+0-1src/middlewared/middlewared/plugins/webui/crypto.py
+18-126 files

FreeNAS/freenas a3a7d59src/middlewared/middlewared/api/base/server method.py, src/middlewared/middlewared/service core_service.py

consider methods under private namespaces as truly private

(cherry picked from commit c761034cc64ee59a1146acc9bb8d687668143b15)
DeltaFile
+3-0src/middlewared/middlewared/service/core_service.py
+1-1src/middlewared/middlewared/api/base/server/method.py
+4-12 files

FreeNAS/freenas ad71fbesrc/middlewared/middlewared/plugins failover.py, src/middlewared/middlewared/plugins/enclosure_ enclosure2.py

NAS-140347 / 27.0.0-BETA.1 / Expose `failover` namespace and several other public methods in API docs (#18490)

Some methods, like the entire `failover` namespace (not including
sub-namespaces like `failover.reboot`), are excluded from the API docs.
This is because of two overlooked rules:
1. Setting `private = True` in the `Config` class of one `Service` class
is the same as setting `private = True` in the `Config`s of all
`Service` classes with the same name.
2. `private = True` in the `Config` class overrides `@api_method` with
`private=False`.

## Changes

- The following public methods (already being used by webui) will now be
displayed in the generated API docs:

| Namespace | Method | File |
|-----------|--------|------|
| `failover` | `do_update` | `failover.py:108` |

    [31 lines not shown]
DeltaFile
+21-29src/middlewared/middlewared/plugins/zpool/crud.py
+40-4src/middlewared/middlewared/plugins/enclosure_/enclosure2.py
+20-22src/middlewared/middlewared/plugins/failover.py
+11-4src/middlewared/middlewared/plugins/failover_/remote.py
+8-6src/middlewared/middlewared/plugins/webui/enclosure.py
+8-4src/middlewared/middlewared/plugins/fc/fc.py
+108-6910 files not shown
+147-8616 files

FreeNAS/freenas 9a575c5src/middlewared/middlewared/common/ports __init__.py, src/middlewared/middlewared/plugins/ports ports.py __init__.py

Add batch port validation endpoint `port.validate_ports`

This commit adds a new `port.validate_ports` endpoint that validates
multiple port/bindip combinations in a single call. Currently the apps
library calls `port.validate_port` once per port, each of which
internally queries all registered port delegates via `ports_mapping()`.
For apps with many ports (e.g. SeaweedFS with 15), this results in
redundant repeated work.

The new endpoint accepts a list of `{"port": int, "bindip": str}` dicts
and calls `ports_mapping()` only once for the entire batch. It supports
two modes:
- `raise_error=True`: raises a single `ValidationErrors` with all
  conflicts (same pattern as the existing endpoint)
- `raise_error=False`: returns a JSON-serializable list of
  `(attribute, errmsg, errno)` tuples

The existing `validate_port` endpoint is refactored to share a
`_validate_single_port` helper but its inputs, outputs, and behavior
are unchanged.
DeltaFile
+178-0src/middlewared/middlewared/pytest/unit/plugins/test_port_attachments.py
+57-8src/middlewared/middlewared/plugins/ports/ports.py
+26-1src/middlewared/middlewared/plugins/ports/__init__.py
+6-1src/middlewared/middlewared/common/ports/__init__.py
+267-104 files

pfSense/pfsense 5f1d908src/etc/inc copynotice.inc

Make sure the 'Accept' button is displayed with the message.
DeltaFile
+1-1src/etc/inc/copynotice.inc
+1-11 files

LLVM/project 9431920llvm/test/tools/llvm-debuginfod-find headers-winhttp.test

[llvm] Silence llvm-debuginfod-find/headers-winhttp.test on Windows bots temporarily (#187753)

Windows bots are still failing after a3db68a97b2c321e and
d7dbba55bff52f342. This test is new, let's take it off while
we investigate.
DeltaFile
+1-1llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test
+1-11 files

FreeBSD/ports 9997928lang/quickjs distinfo Makefile

lang/quickjs: update: 2025.09.13-20251018 -> 2025.09.13-20251222

PR:             293584
Approved by:    yuri (maintainer, timeout >2 weeks)

Sponsored by:   tipi.work
DeltaFile
+3-3lang/quickjs/distinfo
+2-2lang/quickjs/Makefile
+5-52 files

HardenedBSD/src 8ab3fe2. Makefile.inc1

HBSD: Resolve merge conflict

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+1-4Makefile.inc1
+1-41 files

HardenedBSD/src ed58e04. Makefile.inc1, libexec/pkg-serve pkg-serve.c pkg-serve.8

Merge remote-tracking branch 'origin/freebsd/current/main' into hardened/current/master

Conflicts:
        Makefile.inc1 (unresolved)
DeltaFile
+230-0libexec/pkg-serve/tests/pkg_serve_test.sh
+180-0libexec/pkg-serve/pkg-serve.c
+107-0libexec/pkg-serve/pkg-serve.8
+29-0share/man/man4/man4.arm/dwcotg.4
+20-2Makefile.inc1
+9-9stand/efi/loader/main.c
+575-1133 files not shown
+657-4139 files

LLVM/project 07896d4clang/test/OpenMP target_firstprivate_codegen.cpp target_teams_distribute_simd_codegen.cpp

[OpenMP] Emit aggregate kernel prototypes and remove libffi dependency (#186261)

Summary:
This PR changes the handling of the emitted kernels when targeting a CPU
to be a pointer struct.

The old handling emitted a standard function prototype, this
necessitated a target specific ABI to call it because the signature
differed with the number of arguments. Instead, this PR emits a void
pointer to a naturally aligned struct, this is what APIs like `pthreads`
assert.

This allows us to remove all the complexity around launching host
kernels and just pass the argument list.
DeltaFile
+804-696clang/test/OpenMP/target_firstprivate_codegen.cpp
+774-570clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
+762-566clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
+587-403clang/test/OpenMP/target_teams_codegen.cpp
+391-289clang/test/OpenMP/target_teams_distribute_codegen.cpp
+367-273clang/test/OpenMP/target_parallel_for_codegen.cpp
+3,685-2,79734 files not shown
+7,515-5,38940 files

HardenedBSD/src d5ed210sys/contrib/dev/athk/ath12k mac.c debugfs_htt_stats.c

Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+9,336-1,825sys/contrib/dev/athk/ath12k/mac.c
+6,178-0sys/contrib/dev/athk/ath12k/debugfs_htt_stats.c
+4,684-353sys/contrib/dev/athk/ath12k/wmi.c
+2,346-505sys/contrib/dev/athk/ath12k/dp_mon.c
+2,076-0sys/contrib/dev/athk/ath12k/debugfs_htt_stats.h
+1,814-206sys/contrib/dev/athk/ath12k/wmi.h
+26,434-2,889256 files not shown
+50,511-8,328262 files

FreeBSD/ports 86a7e1emisc/comfyui pkg-message Makefile

misc/comfyui: Add pkg-message, add comment
DeltaFile
+25-0misc/comfyui/pkg-message
+3-2misc/comfyui/Makefile
+28-22 files

FreeBSD/ports 537cf31textproc/py-en-core-web-sm Makefile

textproc/py-en-core-web-sm: Fix fetch
DeltaFile
+2-1textproc/py-en-core-web-sm/Makefile
+2-11 files

LLVM/project 60db764utils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Port a2c0c43699917bb26a3eb20fefcbf29ff120ce70
DeltaFile
+15-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+15-01 files

HardenedBSD/src c80af7alibexec/nuageinit nuageinit.7, sys/compat/freebsd32 freebsd32_misc.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+2-2libexec/nuageinit/nuageinit.7
+1-1sys/kern/uipc_shm.c
+1-1sys/compat/freebsd32/freebsd32_misc.c
+1-0sys/compat/linux/linux_misc.c
+5-44 files

LLVM/project 0ec6e1dclang/lib/CIR/CodeGen CIRGenModule.cpp CIRGenModule.h, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Address Space support for GlobalOps (#179082)

Related: https://github.com/llvm/llvm-project/issues/179278,
https://github.com/llvm/llvm-project/issues/160386

Extends cir.global to accept address space attributes. Globals can now
specify either `target_address_space(N)` or
`lang_address_space(offload_*)`. Address spaces are also preserved
throughout get_global ops.
DeltaFile
+68-21clang/lib/CIR/CodeGen/CIRGenModule.cpp
+46-0clang/test/CIR/Lowering/global-address-space.cir
+30-0clang/test/CIR/IR/address-space.cir
+23-2clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+20-0clang/test/CIR/IR/invalid-addrspace.cir
+16-4clang/lib/CIR/CodeGen/CIRGenModule.h
+203-279 files not shown
+270-5115 files