OPNSense/plugins dbd8141net/ndp-proxy-go Makefile pkg-descr

net/ndp-proxy-go: Bump version to 1.4
DeltaFile
+1-2net/ndp-proxy-go/Makefile
+3-0net/ndp-proxy-go/pkg-descr
+4-22 files

LLVM/project 43f6e19llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp

Simplify loops.
DeltaFile
+2-7llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+2-71 files

OPNSense/plugins afc630enet/ndp-proxy-go/src/opnsense/service/conf/actions.d actions_ndpproxy.conf

net/ndp-proxy-go: Fix status not showing stopped service
DeltaFile
+1-0net/ndp-proxy-go/src/opnsense/service/conf/actions.d/actions_ndpproxy.conf
+1-01 files

LLVM/project 9ccedc2llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp SPIRVNonSemanticDebugHandler.h

Rename function.
DeltaFile
+6-6llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+3-3llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+9-92 files

LLVM/project 89d39f6llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG branch-nested.ll

[SimplifyCFG] Bail out on trivial cases in `mergeNestedCondBranch` (#212309)

Closes https://github.com/llvm/llvm-project/issues/212300.

When BB3 is identical to BB4, it is no longer profitable to perform this
fold, since it creates an unused xor instruction. The DomTree update
issue is also easy to fix. But I think this solution is better.

The following IR was dumped just before this function:
```
define void @func(i1 %cond1, i1 %cond2, i1 %cond3) {
entry:
  br i1 %cond1, label %bb2, label %else

else:                                             ; preds = %entry
  br i1 %cond2, label %bb0, label %common.ret

bb0:                                              ; preds = %else
  br i1 %cond1, label %bb1, label %bb2

    [12 lines not shown]
DeltaFile
+33-0llvm/test/Transforms/SimplifyCFG/branch-nested.ll
+4-0llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+37-02 files

OPNSense/plugins 9a58d8anet/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms general.xml, net/ndp-proxy-go/src/opnsense/mvc/app/models/OPNsense/NdpProxy NdpProxy.xml

net/ndp-proxy-go: Add static-prefix and static-router flags
DeltaFile
+18-0net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms/general.xml
+11-0net/ndp-proxy-go/src/opnsense/mvc/app/models/OPNsense/NdpProxy/NdpProxy.xml
+10-0net/ndp-proxy-go/src/opnsense/service/templates/OPNsense/NdpProxy/ndp_proxy_go
+1-0net/ndp-proxy-go/src/opnsense/mvc/app/views/OPNsense/NdpProxy/general.volt
+40-04 files

LLVM/project 7b42aa6llvm/test/CodeGen/SPIRV/debug-info debug-function-namespace-scope.ll

Fix negative checks.
DeltaFile
+5-2llvm/test/CodeGen/SPIRV/debug-info/debug-function-namespace-scope.ll
+5-21 files

FreeNAS/freenas eacd557src/middlewared/middlewared/plugins/nfs_ status.py validators.py

NAS-141984 / 26.0.0-RC.1 / Fix small bugs in NFS code (#19418)

`sanitize_networks` and `sanitize_hosts` reported incorrect error
messages when wildcard host/network was not the last on the list.

`clear_nfs3_rmtab` accepted mutable value as default argument. This
didn't affect anything currently, but can potentially result in memory
leaks and weird behavior if code is modified.

`dbgflg` was a leaked loop variable that worked by accident

Backported from https://github.com/truenas/middleware/pull/19417
DeltaFile
+5-4src/middlewared/middlewared/plugins/nfs_/debug.py
+4-4src/middlewared/middlewared/plugins/nfs_/validators.py
+4-1src/middlewared/middlewared/plugins/nfs_/status.py
+13-93 files

LLVM/project 0d92236mlir/include/mlir/Dialect/List/IR ListOps.td, mlir/lib/Dialect/List/Transforms ListLowerRange.cpp ListSimplifyElements.cpp

list exercises
DeltaFile
+566-3mlir/lib/Dialect/List/Transforms/ListSimplify.cpp
+92-53mlir/include/mlir/Dialect/List/IR/ListOps.td
+0-144mlir/lib/Dialect/List/Transforms/ListLowerMap.cpp
+0-122mlir/lib/Dialect/List/Transforms/ListSimplifyElements.cpp
+0-100mlir/lib/Dialect/List/Transforms/ListLowerRange.cpp
+67-26mlir/test/Dialect/List/simplify.mlir
+725-44810 files not shown
+1,068-59216 files

LLVM/project e432cb1mlir/test/IR properties.mlir invalid-properties.mlir, mlir/test/lib/Dialect/Test TestOps.td

[mlir]Add resultSegmentSizes/operandSegmentSizes to prop-dict. (#211222)

`setPropertiesFromParsedAttr` (generated by `OpFormatGen.cpp` for ops
using a custom `assemblyFormat`) rejects the trait-injected
`operandSegmentSizes` /. `resultSegmentSizes` properties when they
appear in a `prop-dict`, even though the printer emits them there for ops
whose format uses a bulk operand/result type directive
(`type(operands)`, `type(results)`, `functional-type(operands, results)`).

This breaks round-tripping: any op combining `AttrSizedOperandSegments`
/ `AttrSizedResultSegments` with such a bulk directive fails to re-parse
its own printed output, because printer-side elision of these keys
(introduced in #115930) is intentionally skipped in that case — the
sizes can't be reconstructed from individually-typed operand/result 
groups, so they must survive in the text, but the custom parser was never
taught to read them back.

`setPropertiesFromAttr` (used by the generic-form parser, bytecode, and
C++ construction) already special-cases these two keys, so this change

    [12 lines not shown]
DeltaFile
+40-0mlir/tools/mlir-tblgen/OpFormatGen.cpp
+30-0mlir/test/mlir-tblgen/op-format.td
+20-0mlir/test/IR/invalid-properties.mlir
+16-0mlir/test/lib/Dialect/Test/TestOps.td
+11-0mlir/test/IR/properties.mlir
+117-05 files

LLVM/project 1dc1db7clang/lib/Basic/Targets AMDGPU.h, clang/lib/Driver/ToolChains CommonArgs.cpp AMDGPU.cpp

AMDGPU: Split R600 feature bitmask into separate enum from amdgcn

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+17-17llvm/unittests/TargetParser/TargetParserTest.cpp
+18-12llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+6-4llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+3-5clang/lib/Driver/ToolChains/CommonArgs.cpp
+4-4clang/lib/Driver/ToolChains/AMDGPU.cpp
+5-3clang/lib/Basic/Targets/AMDGPU.h
+53-454 files not shown
+62-5410 files

LLVM/project c154f4aclang/lib/Basic/Targets AMDGPU.h, llvm/include/llvm/TargetParser AMDGPUTargetParser.h

AMDGPU: Remove dead FEATURE_FP64/FEATURE_LDEXP from ArchFeatureKind (#212479)

No GPU ever sets these bits, and clang's hasFP64()/hasLDEXPF()
short-circuit on isAMDGCN() before testing them, so the bits are 
never observed.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+10-12llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+2-8clang/lib/Basic/Targets/AMDGPU.h
+12-202 files

FreeBSD/src 4702384. ObsoleteFiles.inc

Revert "Add a few missed files to ObsoleteFiles.inc"

This reverts commit 33175a5059970bf9e888a799d3578e2902d765af, because
some of the directories and files are still being installed.
DeltaFile
+0-9ObsoleteFiles.inc
+0-91 files

FreeBSD/src d4b36d6. ObsoleteFiles.inc

Revert "Add a few missed files to ObsoleteFiles.inc"

This reverts commit 2e089a89812b56329741cd8dc2d272405a6e73ff, because
some of the directories and files are still being installed.
DeltaFile
+0-9ObsoleteFiles.inc
+0-91 files

LLVM/project 89e43e3llvm/lib/Transforms/Utils LoopUnroll.cpp

revert fix in #208874, keep test
DeltaFile
+0-4llvm/lib/Transforms/Utils/LoopUnroll.cpp
+0-41 files

FreeBSD/ports 94ca6c9www/radicale Makefile distinfo

www/radicale: Update to 3.7.7
DeltaFile
+3-3www/radicale/distinfo
+1-1www/radicale/Makefile
+4-42 files

LLVM/project acf3f09llvm/lib/Analysis ScalarEvolution.cpp, llvm/unittests/Analysis ScalarEvolutionTest.cpp

Revert "[SCEV] Speed up forgetLoop by avoiding def-use walk for loop-header P…"

This reverts commit 0411e39a35866c125750810e59a15e00c9484fc9.
DeltaFile
+0-39llvm/unittests/Analysis/ScalarEvolutionTest.cpp
+16-6llvm/lib/Analysis/ScalarEvolution.cpp
+16-452 files

FreeNAS/freenas 8e33647src/middlewared/middlewared/plugins/nfs_ utils.py fs_attachment_delegate.py

`mypy` for `plugins/nfs_`
DeltaFile
+23-17src/middlewared/middlewared/plugins/nfs_/debug.py
+24-12src/middlewared/middlewared/plugins/nfs_/status.py
+9-7src/middlewared/middlewared/plugins/nfs_/validators.py
+11-4src/middlewared/middlewared/plugins/nfs_/port_attachments.py
+11-3src/middlewared/middlewared/plugins/nfs_/fs_attachment_delegate.py
+2-2src/middlewared/middlewared/plugins/nfs_/utils.py
+80-452 files not shown
+84-468 files

LLVM/project 9572596llvm/lib/Target/AArch64 AArch64ISelLowering.h AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve-fixed-length-bf16-vselect.ll

[LLVM][CodeGen] Clean up uses of useSVEForFixedLengthVectorVT(). (#211605)

During lowering `useSVEForFixedLengthVectorVT` only serves to separate
NEON sized vectors from those made legal for SVE VLS. When no separation
is required there is no reason to call the function. That means
`useSVEForFixedLengthVectorVT(VT, /*OverrideNEON=*/true)` is largely
synonymous to `isSVEorStreamingSVEAvailable()`.
    
`useSVEForFixedLengthVectorVT` is not a per operation property. For this
reason I have removed the AllowBF16 parameter and replaced it by a
command line option that can be used during SVE VLS bfloat bringup. The
one existing use has been removed because it falls under the previous
issue in there being no need to call `useSVEForFixedLengthVectorVT`.
DeltaFile
+118-0llvm/test/CodeGen/AArch64/sve-fixed-length-bf16-vselect.ll
+19-17llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+1-4llvm/lib/Target/AArch64/AArch64ISelLowering.h
+138-213 files

FreeNAS/freenas b227586src/middlewared/middlewared/plugins/nfs_ status.py validators.py

Fix small bugs in NFS code
DeltaFile
+5-4src/middlewared/middlewared/plugins/nfs_/debug.py
+4-4src/middlewared/middlewared/plugins/nfs_/validators.py
+4-1src/middlewared/middlewared/plugins/nfs_/status.py
+13-93 files

FreeNAS/freenas b6290c2src/middlewared/middlewared/plugins/nfs_ utils.py fs_attachment_delegate.py

`mypy` for `plugins/nfs_`
DeltaFile
+23-17src/middlewared/middlewared/plugins/nfs_/debug.py
+24-12src/middlewared/middlewared/plugins/nfs_/status.py
+12-5src/middlewared/middlewared/plugins/nfs_/port_attachments.py
+9-7src/middlewared/middlewared/plugins/nfs_/validators.py
+11-3src/middlewared/middlewared/plugins/nfs_/fs_attachment_delegate.py
+2-2src/middlewared/middlewared/plugins/nfs_/utils.py
+81-463 files not shown
+87-499 files

OpenBSD/src Mtih1Tnsys/dev/pci pcidevs.h pcidevs_data.h

   regen
VersionDeltaFile
1.2132+17-1sys/dev/pci/pcidevs_data.h
1.2137+7-1sys/dev/pci/pcidevs.h
+24-22 files

OpenBSD/src bYbTSWysys/dev/pci pcidevs

   add more NVMe devices, Maxio MAP1202/MAP1602 and Samsung PM9E1

   initial patches from and ok job@ jan@
VersionDeltaFile
1.2144+7-1sys/dev/pci/pcidevs
+7-11 files

LLVM/project ad6cb6dllvm/lib/Target/X86 X86ISelDAGToDAG.cpp, llvm/test/CodeGen/X86 lea-opt-cse2.ll lea-recursion.ll

[X86] Reapply #210739 with a fix (#212020)

This reapplies #210739, which was reverted in #211958 because it could
crash the backend with "Invalid rip-relative address" when an LEA added
a RIP-relative global and an already-materialized value.

Fixes #51707
DeltaFile
+251-0llvm/test/CodeGen/X86/pr51707.ll
+110-5llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
+22-31llvm/test/CodeGen/X86/lea-opt-cse4.ll
+31-0llvm/test/CodeGen/X86/lea-reuse-rip-relative.ll
+12-18llvm/test/CodeGen/X86/lea-recursion.ll
+11-18llvm/test/CodeGen/X86/lea-opt-cse2.ll
+437-721 files not shown
+440-827 files

FreeNAS/freenas 3404d38src/middlewared/middlewared/plugins/container lifecycle.py, src/middlewared/middlewared/plugins/failover_ event.py

Migrate legacy containers on HA systems

## Problem
The `system.ready` handler that triggers the incus->container migration returns early on failover-licensed systems, since the failover event plugin owns starting containers there. That path only starts them, it never migrates, so legacy incus containers on an HA pair are never brought across - and `.ix-virt` is no longer hidden or delete-guarded, so they are one dataset deletion away from being destroyed.

## Solution
Move the migrate-then-start ordering into a shared private method and call it from both the `system.ready` path and the failover path, so the two cannot drift apart again.
DeltaFile
+12-6src/middlewared/middlewared/plugins/container/lifecycle.py
+1-1src/middlewared/middlewared/plugins/failover_/event.py
+13-72 files

FreeNAS/freenas 7062e46src/middlewared/middlewared/plugins/container migrate.py

Do not migrate a container which is a clone of another container
DeltaFile
+16-1src/middlewared/middlewared/plugins/container/migrate.py
+16-11 files

FreeNAS/freenas 6ac9feesrc/middlewared/middlewared/plugins/container migrate.py

Leave the legacy datasets as the migration found them

## Problem
Two loose ends in the migration's clean-up. Migrating a pool gives `<pool>/.ix-virt` and `<pool>/.ix-virt/containers` an inherited mountpoint so their children can be mounted and never puts it back, permanently promoting the legacy tree into `/mnt/<pool>/.ix-virt` even on a run where nothing was migrated - incus had both at `mountpoint=legacy`, i.e. never mounted. And when a skipped container's own mount properties cannot be restored, that is reported only in the middleware log, while every other per-container outcome goes to the job log the user actually reads.

## Solution
Restore `mountpoint=legacy` on both parents once a pool has been processed, children first so the parent is not unmounted out from under one of them; a failure there is logged and does not fail the migration. Pass the job into the per-container revert so its two failure paths are reported in the job log as well.
DeltaFile
+27-2src/middlewared/middlewared/plugins/container/migrate.py
+27-21 files

FreeNAS/freenas 4846de7src/middlewared/middlewared/plugins/container migrate.py

Arm the mount-property revert before the properties are changed

## Problem
The migration mounts each legacy container to read its manifest, which means replacing the `canmount`/`mountpoint` pair incus set, and a `finally` restores them for any container that is not migrated. The flag guarding that restore was only set once the mount had succeeded, so a failure part-way through the property update - `canmount` applied, `mountpoint` not - left the dataset changed with nothing left to change it back.

## Solution
Set the flag before the properties are touched rather than after the mount.
DeltaFile
+3-1src/middlewared/middlewared/plugins/container/migrate.py
+3-11 files

FreeNAS/freenas b8b359bsrc/middlewared/middlewared/plugins/container migrate.py

Record containers created during the migration

## Problem
The set of existing container names is built once before the storage pools are walked, so a container the migration itself creates is never added to it. Two legacy containers with the same name in different pools therefore both proceed, and the second one fails validation after its dataset has already been renamed.

## Solution
Add each container to the set as it is created, so a later pool skips the name instead of failing on it.
DeltaFile
+1-0src/middlewared/middlewared/plugins/container/migrate.py
+1-01 files

FreeNAS/freenas 4acd6a7src/middlewared/middlewared/api/v26_0_0 container.py, src/middlewared/middlewared/migration 0020_repair_incus_clone_origins.py

Relocate migrated container origins out of legacy .ix-virt

## Problem
Incus containers are ZFS clones of an image snapshot. The incus->container auto-migration relocated each container from `<pool>/.ix-virt/containers/<name>` to `<pool>/.truenas_containers/containers/<name>` with a bare `zfs rename` and did nothing else. A `zfs rename` does not change a clone's `origin`, so a migrated container stayed a clone of a snapshot still living inside `.ix-virt`. `.ix-virt` was visible in the UI and not delete-guarded, so deleting it recursively destroyed those origin snapshots and cascaded into the dependent migrated clones — silently destroying migrated containers.

## Solution
Relocate each container's origin image dataset out of `.ix-virt` before renaming the container, so no migrated container depends on anything under `.ix-virt`. Once relocated the image stays put for good, exactly like a natively pulled one — reclaiming either is the job of the `container.image.*` management API landing separately in this release, not of this fix.

- **Shared relocation helper** — `container.relocate_container_origin` reads a container's live `origin`; if it points at an image under `.ix-virt/images` or `.ix-virt/deleted/images`, it sets `canmount=noauto` on that image dataset and then renames it into the native `.truenas_containers/images/` tree. The rename goes last so it is the single atomic commit point: the image is either wholly still in `.ix-virt` or wholly relocated, never half-way, and the helper's return value describes reality. All fan-out clones auto-repoint on the rename; an origin already outside `.ix-virt` is left alone; a relocation failure leaves the container wholly inside `.ix-virt` (best-effort, skip).
- **Migration path** — the incus->container migration calls the helper immediately before renaming each container, and skips any container whose base image cannot be relocated.
- **Repair migration** — new `0020_repair_incus_clone_origins` runs the same relocation over existing `container.container` rows for systems that already ran the old migration.
- **Delete guard** — `.truenas_containers` is added to `INTERNAL_PATHS` so it cannot be deleted out from under running containers; the plugin's own snapshot/clone/destroy calls that touch it now pass `bypass=True`.
- **Safer deletion** — `do_delete` destroys the dataset first (recursively, matching the apps stack, so a container that has snapshots is deletable) and removes the database and libvirt records only once the dataset is confirmed gone, so a failed destroy never orphans the dataset with no row pointing at it; an already-missing dataset is tolerated so a container whose data was lost to the old cascade can still be removed cleanly.
- **Active-instance guards** — deleting or renaming a container that is not stopped (running or suspended) is refused; delete additionally accepts `force=True`, which stops it first, mirroring the VM delete flow. The container status model now includes the `SUSPENDED` state it can actually report.
- **Delete locking** — delete becomes a job so it can stop the container and wait on the destroy, and its lock is keyed per container id: a constant lock string would hit `@job`'s default `lock_queue_size` of 5 and, past five queued deletes, silently fold a new request into a queued delete of a *different* container and hand that job back to the caller, who would then see SUCCESS for a container nobody deleted.
DeltaFile
+103-0src/middlewared/middlewared/plugins/container/migrate.py
+43-8src/middlewared/middlewared/plugins/container/container.py
+41-0src/middlewared/middlewared/migration/0020_repair_incus_clone_origins.py
+34-1tests/api2/test_container.py
+11-1src/middlewared/middlewared/api/v26_0_0/container.py
+5-3src/middlewared/middlewared/test/integration/assets/container.py
+237-132 files not shown
+243-178 files