FreeNAS/freenas 1bd5092 —

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

FreeNAS/freenas a5acc1a — tests/api2 test_300_nfs.py, tests/sharing_protocols/nfs test_nfs_bindip.py

NAS-144955 / 28.0.0-BETA.1 / Unskip NFS bindip tests (#20085)

NFS bindip tests were always skipped in our Jenkins both in non-HA mode
and HA mode. The HA mode should theoretically have static IP, in
practice the test was still skipped.

Let's move it to sharing protocol tests which always have static IP on
both configurations.
DeltaFile
+95-0tests/sharing_protocols/nfs/test_nfs_bindip.py
+0-94tests/api2/test_300_nfs.py
+95-942 files

LLVM/project 7a00721 — clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Drop a leftover blank line in CIR_FPBinaryOp

Assisted-by: Claude Code (Opus 5.5).
DeltaFile
+0-1clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-11 files

OPNSense/core 53c787d — src/opnsense/mvc/app/controllers/OPNsense/Routes/Api RoutesController.php, src/opnsense/mvc/app/views/OPNsense/Routes index.volt

System: Routes: Configuration - group ECMP routes and signal the user when mode is disabled, closes https://github.com/opnsense/core/issues/10569
DeltaFile
+58-10src/opnsense/mvc/app/views/OPNsense/Routes/index.volt
+13-0src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php
+71-102 files

FreeNAS/freenas ea82401 — src/middlewared/middlewared/common/license_reconcile __init__.py, src/middlewared/middlewared/plugins failover.py

Remove the license reconcile framework

This commit adds changes to delete the reconcile pass that re-rendered and restarted services on every license upload, along with the old usage probes, and replace the remaining ctdb, discovery, rc and cron reactions with owner hooks that act only when HA (or WebShare for rc) actually changed. ctdb is now only started if stopped, never restarted, so an upload that changes nothing no longer bounces ctdb on both HA nodes.
DeltaFile
+0-200src/middlewared/middlewared/pytest/unit/plugins/truenas/test_license_reconcile.py
+0-200src/middlewared/middlewared/plugins/truenas/entitlement_usage.py
+0-111src/middlewared/middlewared/plugins/truenas/license_reconcile.py
+0-68src/middlewared/middlewared/common/license_reconcile/__init__.py
+0-42src/middlewared/middlewared/plugins/truenas/entitlements.py
+18-17src/middlewared/middlewared/plugins/failover.py
+18-6388 files not shown
+65-70714 files

FreeNAS/freenas 18e7858 — src/middlewared/middlewared/plugins network.py, src/middlewared/middlewared/plugins/security config.py __init__.py

Allow loosening FEC, update profile and security settings without a license

This commit adds changes to refuse a FEC mode, the Mission Critical profile or a stricter security setting only when it is turned on or tightened, so saves that leave them unchanged or loosen them work while unlicensed, and to list them in the license alert.
DeltaFile
+33-13src/middlewared/middlewared/plugins/network.py
+44-0src/middlewared/middlewared/pytest/unit/plugins/security/test_validate_license.py
+29-2src/middlewared/middlewared/plugins/security/validate.py
+24-5src/middlewared/middlewared/plugins/update_/config.py
+4-0src/middlewared/middlewared/plugins/security/__init__.py
+1-1src/middlewared/middlewared/plugins/security/config.py
+135-216 files

FreeNAS/freenas d68a0ad — src/middlewared/middlewared/plugins/kmip __init__.py config.py, src/middlewared/middlewared/plugins/nvmet global.py

Alert on KMIP, SPDK and directory-service login in use without a license

This commit adds changes to refuse extending KMIP to manage dataset keys or drive passwords while unlicensed and to list KMIP, the SPDK NVMe-oF backend and directory-service login in the license alert when they are in use without a license. None of them is ever switched off.
DeltaFile
+25-3src/middlewared/middlewared/plugins/kmip/config.py
+18-8src/middlewared/middlewared/pytest/unit/plugins/kmip/test_config.py
+19-0src/middlewared/middlewared/plugins/system_general/update.py
+16-1src/middlewared/middlewared/plugins/nvmet/global.py
+4-1src/middlewared/middlewared/plugins/kmip/__init__.py
+1-0src/middlewared/middlewared/pytest/unit/test_entitlement_gate_vocabulary.py
+83-136 files

FreeBSD/ports 4bc8cf0 — devel/wasi-compiler-rt17 Makefile, devel/wasi-compiler-rt18 Makefile

devel/wasi-*: deprecate LLVM 17 and 18 based ports

Deprecate the individual devel/wasi-compiler-rt1[78] and
devel/wasi-libcxx1[78] ports and the 17 and 18 flavors of
devel/wasi-libc.

Approved by:    vishwin (maintainer, in concept)
DeltaFile
+8-1devel/wasi-libc/Makefile
+3-0devel/wasi-libcxx18/Makefile
+3-0devel/wasi-libcxx17/Makefile
+3-0devel/wasi-compiler-rt18/Makefile
+3-0devel/wasi-compiler-rt17/Makefile
+20-15 files

FreeBSD/ports d920362 — devel/freebsd-git-pr Makefile distinfo

devel/freebsd-git-pr: Update to 0.20261026
DeltaFile
+5-5devel/freebsd-git-pr/distinfo
+2-2devel/freebsd-git-pr/Makefile
+7-72 files

FreeNAS/freenas 7a3975d — src/middlewared/middlewared/plugins/disk_ sed.py, src/middlewared/middlewared/plugins/pool_ pool.py license_delegate.py

Never cut SED handling on a license revoke

This commit adds changes so self-encrypting drives keep being probed, unlocked and repaired while SED is not licensed and SED credentials exist, and only new SED setups (an all-SED pool, setting up an uninitialised disk, a first disk or global password) need the license. Imported pools no longer get all_sed stored as False on unlicensed systems.
DeltaFile
+9-16src/middlewared/middlewared/plugins/system_advanced/config.py
+25-0src/middlewared/middlewared/plugins/pool_/license_delegate.py
+5-13src/middlewared/middlewared/plugins/pool_/pool.py
+7-10src/middlewared/middlewared/plugins/zpool/crud.py
+15-0src/middlewared/middlewared/plugins/system/product.py
+7-6src/middlewared/middlewared/plugins/disk_/sed.py
+68-457 files not shown
+82-6413 files

FreeNAS/freenas f4ce475 — src/middlewared/middlewared/plugins/truenas_s3 config.py bucket_crud.py, src/middlewared/middlewared/pytest/unit/plugins/truenas_s3 test_audit_license.py

Keep S3 versioning served through a license revoke and refuse only widening audit

This commit adds changes to stop restarting S3 on every license change, record S3 versioning in license grace while s3 runs so the daemon keeps buckets writable until an admin restart or reboot, reload S3 on re-license, and refuse audit settings only when they widen. Lands together with the truenas_s3 change that asks for served entitlements.
DeltaFile
+77-0src/middlewared/middlewared/plugins/truenas_s3/license_delegate.py
+54-0src/middlewared/middlewared/pytest/unit/plugins/truenas_s3/test_audit_license.py
+2-24src/middlewared/middlewared/plugins/truenas_s3/__init__.py
+13-1src/middlewared/middlewared/plugins/truenas_s3/bucket_crud.py
+4-1src/middlewared/middlewared/plugins/truenas_s3/config.py
+150-265 files

FreeBSD/ports 66ab59e — editors/vscode Makefile, textproc/obsidian Makefile

*/*: Bump port revision after electron43 update (a853a37ab0e3)
DeltaFile
+1-1textproc/obsidian/Makefile
+1-0editors/vscode/Makefile
+2-12 files

FreeBSD/ports a853a37 — devel/electron43 distinfo, devel/electron43/files patch-electron_spec_chromium.spec.ts patch-electron_spec_api-web-contents.spec.ts

devel/electron43: Update to 43.8.4

Changelog: https://github.com/electron/electron/releases/tag/v43.8.4

Reported by:    GitHub (watch releases)
DeltaFile
+14-14devel/electron43/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+9-9devel/electron43/distinfo
+5-5devel/electron43/files/patch-electron_spec_api-app.spec.ts
+3-3devel/electron43/files/patch-electron_spec_chromium.spec.ts
+3-3devel/electron43/files/patch-electron_spec_api-web-contents.spec.ts
+3-3devel/electron43/files/patch-electron_spec_api-utility-process.spec.ts
+37-375 files not shown
+47-4311 files

FreeNAS/freenas b171391 — src/middlewared/middlewared/plugins smb.py, src/middlewared/middlewared/plugins/zfs tier.py

Apply SMB block cloning and ZFS tiering license changes at the next config write

This commit adds changes to refuse a Veeam share or enabling tiering only when it is turned on, gate tier rewrite jobs and performance-tier assignments, resume tiering on re-license through a zfstierd reload, and replace the SMB and tier reconcile delegates with a cifs owner hook that reloads only on an HA change. smb update now passes the old share to validation, so home-share and share-name checks no longer compare an update against itself.
DeltaFile
+35-19src/middlewared/middlewared/plugins/zfs/tier.py
+34-15src/middlewared/middlewared/plugins/smb.py
+28-0src/middlewared/middlewared/pytest/unit/plugins/zfs/test_tier_license.py
+9-1src/middlewared/middlewared/pytest/unit/plugins/test_license_owner_hooks.py
+106-354 files

LLVM/project da29c6b — clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Append the fenv interface to complex FP op traits

Use let append traits instead of extending the base trait list.

Assisted-by: Claude Code (Opus 5.5).
DeltaFile
+3-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+3-21 files

FreeNAS/freenas 923d308 — src/middlewared/middlewared/plugins/nfs_ config.py, src/middlewared/middlewared/plugins/nvmet global.py

Serve RDMA through a license revoke until an NFS, iSCSI or NVMe-oF restart

This commit adds changes to add a grace-aware rdma.serving used by iSER, NVMe-oF and the NFS render, stop masking the stored NFS rdma flag, refuse only turning RDMA on or creating an RDMA port, and replace the NVMe-oF reconcile render with an owner hook that renders the running target only when HA changed or RDMA was granted.
DeltaFile
+39-0src/middlewared/middlewared/plugins/rdma/license_delegate.py
+11-21src/middlewared/middlewared/plugins/nvmet/global.py
+7-11src/middlewared/middlewared/plugins/nfs_/config.py
+6-7tests/api2/test_300_nfs.py
+7-0src/middlewared/middlewared/plugins/rdma/rdma.py
+5-1src/middlewared/middlewared/pytest/unit/plugins/test_license_owner_hooks.py
+75-407 files not shown
+86-4513 files

LLVM/project c23239d — llvm/include/llvm/TableGen Record.h, llvm/test/TableGen dump.td

[TableGen] Keep dumps when instantiating defs from a multiclass (#236438)

The Record copy constructor copied assertions but not dumps, so a dump
in the body of a def inside a multiclass, or inherited by it from a
superclass, was silently dropped from the defs instantiated by defm.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+22-1llvm/test/TableGen/dump.td
+2-1llvm/include/llvm/TableGen/Record.h
+24-22 files

LLVM/project f980213 — clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Store nsw/nuw as an OverflowFlags bit enum and split out saturated add/sub

cir.add, cir.sub and cir.mul carried nsw and nuw as two separate unit
properties, and lowering mapped them to LLVM with an early return that
picked nuw over nsw, so an op with both flags lowered to `overflow<nuw>`
and lost nsw. cir.add and cir.sub also carried a `sat` flag that changed
the operation's result rather than adding a poison condition.

Store the flags as one OverflowFlags bit-enum property whose layout
matches mlir::LLVM::IntegerOverflowFlags, so lowering casts it directly
and keeps both flags. The property uses the default EnumProp syntax,
printed as `nuw`, `nsw` or `nuw|nsw`, so no custom parser or printer is
needed. cir.mul now shares the add/sub base class and so becomes Pure.

Saturating arithmetic moves to new cir.add.sat and cir.sub.sat ops, which
lower to the signed or unsigned saturation intrinsics by element type.
That leaves cir::OverflowBehavior only describing nsw/nuw, so the builder
takes cir::OverflowFlags instead.


    [6 lines not shown]
DeltaFile
+71-44clang/include/clang/CIR/Dialect/IR/CIROps.td
+75-0clang/test/CIR/Lowering/overflow-flags.cir
+35-35clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+12-57clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+62-0clang/test/CIR/IR/overflow-flags.cir
+31-23clang/lib/CIR/CodeGen/CIRGenFixedPointBuilder.h
+286-15913 files not shown
+419-23419 files

FreeNAS/freenas 4caa1bd — src/middlewared/middlewared/plugins/fc fc_host.py fc.py, src/middlewared/middlewared/plugins/iscsi_ iscsi_global.py

Serve Fibre Channel through a license revoke until iscsitarget restarts

This commit adds changes to make fc.capable grace-aware, keep FC hosts wired and ports listed while FC targets exist so they stay editable, refuse only switching a target to FC, and replace the iSCSI reconcile render with an owner hook that renders the running target only when HA changed or FC/RDMA was granted.
DeltaFile
+14-35src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+42-0src/middlewared/middlewared/plugins/fc/license_delegate.py
+21-0src/middlewared/middlewared/pytest/unit/plugins/test_license_owner_hooks.py
+12-4src/middlewared/middlewared/plugins/fc/fc.py
+5-4tests/sharing_protocols/fibre_channel/test_fibre_channel.py
+3-3src/middlewared/middlewared/plugins/fc/fc_host.py
+97-463 files not shown
+102-479 files

LLVM/project 8ac7378 — llvm/lib/Target/AMDGPU SIInstructions.td, llvm/test/CodeGen/AMDGPU fptrunc-round-f64-src-align.mir

[AMDGPU] Align FPTRUNC_ROUND_F32_F64_PSEUDO VGPR source operand (#236195)

The 64-bit VGPR source of FPTRUNC_ROUND_F32_F64_PSEUDO used the plain
VReg_64 class, while SIModeRegister lowers the pseudo to V_CVT_F32_F64_e32,
whose source must be even-aligned on subtargets that require aligned VGPRs.
Use VReg_64_AlignTarget so the pseudo already carries the alignment of the
instruction it becomes.

Co-Authored-By: Claude <noreply at anthropic.com>

---------

Co-authored-by: Claude <noreply at anthropic.com>
Co-authored-by: Jay Foad <jay.foad at gmail.com>
DeltaFile
+20-0llvm/test/CodeGen/AMDGPU/fptrunc-round-f64-src-align.mir
+1-1llvm/lib/Target/AMDGPU/SIInstructions.td
+21-12 files

LLVM/project aa68114 — llvm/test/CodeGen/AMDGPU memintrinsic-unroll.ll amdgcn.bitcast.832bit.ll

[AMDGPU] Enable SlotIndexes compaction by default

Add TargetRegisterInfo::shouldCompactSlotIndexes() so targets can opt
in to dropping dead SlotIndexes entries before greedy allocation, one
target at a time. An explicit -greedy-compact-slot-indexes still
overrides the target. Enable it for AMDGPU, where the leftover entries
skew live range priorities enough to cause heavy spilling.
DeltaFile
+82,724-82,770llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+22,718-22,674llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+9,311-9,381llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+8,998-9,209llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+8,016-8,194llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+7,335-7,432llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+139,102-139,660279 files not shown
+232,294-232,827285 files

LLVM/project 46c44da — clang/test/CodeGen/X86 inline-asm-mask-output.c

Test a _Complex output in a mask register

Assisted-by: Claude Opus 5.5
DeltaFile
+17-2clang/test/CodeGen/X86/inline-asm-mask-output.c
+17-21 files

LLVM/project 4435dc1 — clang/lib/CodeGen CGStmt.cpp, clang/test/CodeGen/X86 inline-asm-mask-output.c

Merge branch 'users/void/asm-mask-reg-output' into users/void/asm-goto-_Complext-types
DeltaFile
+63-0clang/test/CodeGen/X86/inline-asm-mask-output.c
+16-7clang/lib/CodeGen/CGStmt.cpp
+79-72 files

FreeNAS/freenas e17d376 — src/middlewared/middlewared/etc_files exports.mako, src/middlewared/middlewared/plugins etc.py

Gate the NFS snapshot directory on license grace

This commit adds changes to render zfs_snapdir in exports only while NFS snapshot exposure is served (entitled or in grace), and to refuse expose_snapshots only when it is turned on, so shares that already expose snapshots stay editable while unlicensed. The dataset-root check now always runs.
DeltaFile
+44-0src/middlewared/middlewared/pytest/unit/plugins/nfs/test_expose_snapshots_license.py
+36-0src/middlewared/middlewared/plugins/nfs_/license_delegate.py
+7-5src/middlewared/middlewared/plugins/nfs_/share_validate.py
+3-2src/middlewared/middlewared/plugins/nfs_/share_crud.py
+5-0src/middlewared/middlewared/plugins/etc.py
+2-1src/middlewared/middlewared/etc_files/exports.mako
+97-81 files not shown
+98-87 files

LLVM/project 7ee12d9 — clang/lib/CodeGen CGStmt.cpp, clang/test/CodeGen/X86 inline-asm-mask-output.c

[Clang][CodeGen] Don't crash on a struct inline asm output in a mask register

A struct register output with "=k" crashes when x86's
'adjustInlineAsmType' returned '<N x i1>' for "k". The conversion chain
then bitcast that vector to the struct type, which is invalid IR.

Fix this by casting the vector to an integer that's the same size as the
vector, then truncate it to the destination's size.

Fixes: 8d6e82d501cd ("[X86] Use vXi1 for `k` constraint in inline asm (#77733)")
Assisted-by: Claude Opus 5.5
DeltaFile
+63-0clang/test/CodeGen/X86/inline-asm-mask-output.c
+16-7clang/lib/CodeGen/CGStmt.cpp
+79-72 files

FreeNAS/freenas ebb52eb — src/middlewared/middlewared/plugins truesearch.py, src/middlewared/middlewared/plugins/service/services truesearch.py webshare.py

Keep WebShare and TrueSearch running through a license revoke until restarted

This commit adds changes so WebShare and TrueSearch starts consult the grace-aware entitlement while enabling the service, enabling a share or switching search on stay strict, and the webshare unit is only enabled at boot when strictly licensed. It also drops the TrueSearch hook that reconfigured the indexer on every upload.
DeltaFile
+39-15src/middlewared/middlewared/plugins/truesearch.py
+40-0src/middlewared/middlewared/plugins/webshare/license_delegate.py
+29-0src/middlewared/middlewared/pytest/unit/plugins/webshare/test_sharing_license.py
+8-0src/middlewared/middlewared/plugins/service/services/webshare.py
+3-4src/middlewared/middlewared/plugins/webshare/sharing.py
+7-0src/middlewared/middlewared/plugins/service/services/truesearch.py
+126-195 files not shown
+151-2311 files

FreeNAS/freenas 563022a — src/middlewared/middlewared/plugins/container attachments.py __init__.py, src/middlewared/middlewared/pytest/unit test_entitlement_gate_vocabulary.py

Let the container autostart pass honour license grace

This commit adds changes to gate the container autostart pass on the grace-aware CONTAINERS entitlement and skip running containers, adds the missing strict license check to container.start, and lets existing containers be edited while unlicensed. A pool unlock no longer stops or starts autostart containers when the feature is not licensed.
DeltaFile
+45-0src/middlewared/middlewared/plugins/container/license_delegate.py
+9-0src/middlewared/middlewared/pytest/unit/plugins/test_container_attachment_matching.py
+7-0src/middlewared/middlewared/plugins/container/lifecycle.py
+5-1src/middlewared/middlewared/plugins/container/__init__.py
+4-0src/middlewared/middlewared/plugins/container/attachments.py
+3-0src/middlewared/middlewared/pytest/unit/test_entitlement_gate_vocabulary.py
+73-11 files not shown
+74-27 files

LLVM/project 26ba6b7 — lldb/test/Shell/ScriptInterpreter/Python fail_watchpoint_command.test

[lldb][test] Force lldb-server use in fail_watchpoint_command.test (#236711)

Turns out that our Windows on Arm bot hasn't been testing lldb-server
this entire time. We set LLDB_USE_LLDB_SERVER, but to test it you have
to set LLDB_TEST_USE_LLDB_SERVER.

And I don't fancy setting that and waiting a week to find out what
breaks.

So we will update in the future bot but for now, make this test always
use lldb-server.

With in-process debug, you cannot set any watchpoints on Windows on Arm.
With lldb-server, you can set 1, at least you can on the bot's hardware.

Fixes #235985. Relates to #232235.
DeltaFile
+1-1lldb/test/Shell/ScriptInterpreter/Python/fail_watchpoint_command.test
+1-11 files

FreeNAS/freenas d1eb40d — src/middlewared/middlewared/plugins/vm attachments.py lifecycle.py, src/middlewared/middlewared/pytest/unit/plugins test_vm_attachment_matching.py test_vm.py

Let the VM autostart pass honour license grace

This commit adds changes to gate the VM autostart pass (boot and failover) on the grace-aware VMS entitlement and skip VMs that are already running, while vm.start, vm.restart and vm.create stay strict and VM edits are allowed while unlicensed. A pool unlock no longer stops or starts autostart VMs when the feature is not licensed.
DeltaFile
+45-0src/middlewared/middlewared/plugins/vm/license_delegate.py
+31-0src/middlewared/middlewared/pytest/unit/plugins/vm/test_vm_start_on_boot.py
+17-1src/middlewared/middlewared/pytest/unit/plugins/test_vm.py
+7-2src/middlewared/middlewared/plugins/vm/lifecycle.py
+9-0src/middlewared/middlewared/pytest/unit/plugins/test_vm_attachment_matching.py
+4-0src/middlewared/middlewared/plugins/vm/attachments.py
+113-33 files not shown
+118-49 files

LLVM/project 6069337 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt semop.h, libc/src/sys/sem/linux CMakeLists.txt semop.cpp

[libc] Use a syscall wrapper for semop

This PR move semop behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+50-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+36-0libc/src/__support/OSUtil/linux/syscall_wrappers/semop.h
+14-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+6-6libc/src/sys/sem/linux/semop.cpp
+3-2libc/src/sys/sem/linux/CMakeLists.txt
+109-85 files