FreeNAS/freenas b3ab441 — src/middlewared/middlewared/alembic/versions/27.0 2026-10-15_12-00_vm_video_model.py, src/middlewared/middlewared/alembic/versions/28.0 2026-10-12_13-24_vm_video_model.py 2026-10-15_12-30_merge.py

Move VM video model migration to 27.0

## Problem
The VM video model change is being backported to 27.0 with its own 27.0 migration. Master's 28.0 migration added the same column, so a 27.0 database stamped with the backported revision would have no path into master's chain, and master's v27_0_0 API models would not match what 27.0 ships.

## Solution
Added the 27.0 migration as it ships on 27.0, made the 28.0 migration a no-op that keeps its revision so installs that already recorded it keep a valid chain, and added a merge migration joining the two. The 27.0 migration skips itself when the column already exists, so nightlies that ran the original 28.0 migration keep their values. Also added `video_model` to master's v27_0_0 VM models to match 27.0.
DeltaFile
+41-0src/middlewared/middlewared/alembic/versions/27.0/2026-10-15_12-00_vm_video_model.py
+21-0src/middlewared/middlewared/alembic/versions/28.0/2026-10-15_12-30_merge.py
+3-17src/middlewared/middlewared/alembic/versions/28.0/2026-10-12_13-24_vm_video_model.py
+11-0src/middlewared/middlewared/api/v27_0_0/vm.py
+76-174 files

LLVM/project c6d557c — llvm/lib/Target/AMDGPU AMDGPUCodeGenPrepare.cpp, llvm/test/CodeGen/AMDGPU atomic_optimizations_local_pointer.ll atomic_optimizations_global_pointer.ll

[AMDGPU] Keep divergent i64 mul feeding an add for the mad64 fold
DeltaFile
+123-0llvm/test/CodeGen/AMDGPU/mad_u64_u32_mul24.ll
+84-0llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24-mad64.ll
+24-30llvm/test/CodeGen/AMDGPU/idot4-test.ll
+20-4llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
+9-9llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
+7-7llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
+267-506 files

FreeNAS/freenas df6353a — src/middlewared/middlewared/alembic/versions/27.0 2026-10-15_12-00_vm_video_model.py, src/middlewared/middlewared/api/v27_0_0 vm.py

Allow selecting the VM video model

## Problem
VMs always got a QXL video adapter. QXL can deadlock a Linux guest during shutdown when the host stops releasing its memory.

## Solution
Added `video_model` (`QXL`, `VGA`, `VIRTIO`) to VMs, with new VMs defaulting to `VGA`. The 27.0 migration keeps existing VMs with a display on `QXL` and moves headless VMs from libvirt's implicit cirrus adapter to `VGA`. It skips itself when the column already exists, so databases that ran the original 28.0 migration keep their values.

This depends on the matching truenas_pylibvirt change and has to be merged together with it.
DeltaFile
+41-0src/middlewared/middlewared/alembic/versions/27.0/2026-10-15_12-00_vm_video_model.py
+11-0src/middlewared/middlewared/api/v27_0_0/vm.py
+4-0src/middlewared/middlewared/plugins/vm/vms.py
+2-1src/middlewared/middlewared/plugins/vm/vm_lifecycle.py
+1-0src/middlewared/middlewared/pytest/unit/plugins/vm/test_vm_clock_xml.py
+59-15 files

OPNSense/core 6f276d0 — src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api InterfaceController.php

system: fix route destination encoding when passing to configd
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/InterfaceController.php
+1-11 files

LLVM/project 274d89a — lldb/source/Plugins/Process/Utility RegisterInfoPOSIXDynamic_riscv32.cpp lldb-riscv-register-enums.h, lldb/source/Utility RISCV_DWARF_Registers.h

[lldb][RISCV] Update CSRI patch set for 'Xqci' (#229165)

Update the control and status register information patch set for 'Xqci'
to align with 'Xqci v0.13' –

- Add 'mcause'
- Remove 'mscratch0', 'mscratch1', 'mnepc', and 'mncause'
- Correct the identification of 'mclicilvl0[0-9]'
DeltaFile
+46-52lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
+11-14lldb/source/Utility/RISCV_DWARF_Registers.h
+11-14lldb/source/Plugins/Process/Utility/lldb-riscv-register-enums.h
+10-10lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
+0-1lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.cpp
+78-915 files

LLVM/project 46b003b — llvm/test/Transforms/IndVarSimplify scev-complexity-exponential.ll

[SCEV] Add compile-time regression test for CompareSCEVComplexity (#223723)

Add test coverage for the exponential compile-time fixed by
https://github.com/llvm/llvm-project/pull/230252.
Distinct SCEVUnknowns could compare equal, causing CompareSCEVComplexity
to repeatedly compare shared subexpressions.

Before the fix, the test takes too long to complete. With the fix, it
completes quickly.

Assisted-by: OpenAI Codex
DeltaFile
+134-0llvm/test/Transforms/IndVarSimplify/scev-complexity-exponential.ll
+134-01 files

LLVM/project a236157 — llvm/lib/Target/ARM MVEGatherScatterLowering.cpp, llvm/test/CodeGen/Thumb2 mve-gather-ptrs.ll

[ARM] Protect against scalar geps in MVE gather lowering (#231939)

In case when looking back through geps two are scalar, bail out of
CheckAndCreateOffsetAdd.

Fixes #231773
DeltaFile
+23-19llvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
+2-1llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
+25-202 files

LLVM/project 9df2952 — clang/lib/AST/ByteCode ByteCodeEmitter.cpp

[clang][bytecode][NFC] Simplify bytecode emission (#232215)

Remove unused parameters and switch to returning the success boolean
instead of writing to a reference parameter.
DeltaFile
+20-29clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
+20-291 files

LLVM/project fb687bf — llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-bin-unary-ops-args.ll

[VPlan] Model diff checks checks as VPlan recipes. (#229028)

Add support for generating diff checks in VPlan as well, complementing
full runtime checks support added in
https://github.com/llvm/llvm-project/pull/221483.

It shares the same restrictions as
https://github.com/llvm/llvm-project/pull/221483, most notably no
AddRecs as start pointer or nested loops.

Those will be relaxed together in follow-ups.

PR: https://github.com/llvm/llvm-project/pull/229028
DeltaFile
+123-13llvm/test/Transforms/LoopVectorize/VPlan/memory-checks.ll
+31-62llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
+66-11llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+25-25llvm/test/Transforms/LoopVectorize/VPlan/epilogue-vectorization-printing.ll
+24-18llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
+26-16llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+295-14527 files not shown
+380-26833 files

FreeBSD/ports 92375a4 — lang/qmasm Makefile, math/py-spopt Makefile

*/*: fix build broken by PuLP rename

PuLP was renamed to pulp in the port math/py-PuLP and by the upstream.

Reported by:    fallout
Approved by:    portmgr (unbreak; blanket)
DeltaFile
+1-1science/py-libpysal/Makefile
+1-1science/py-chempy/Makefile
+1-1misc/snakemake/Makefile
+1-1math/py-spopt/Makefile
+1-1lang/qmasm/Makefile
+5-55 files

LLVM/project 93e018a — mlir/include/mlir/Dialect/OpenMP OpenMPOps.td, mlir/test/Dialect/OpenMP memory-effects.mlir

[mlir][OpenMP] Model recursive memory effects of omp.master (#230190)

Remove effect-free master regions while preserving nested memory
effects.

Assisted by: AI (ChatGPT)

---------

Co-authored-by: Jamie.Rowlinson-Patel at arm.com <jamrow01 at ip-10-252-16-38.eu-west-1.compute.internal>
DeltaFile
+10-1mlir/test/Dialect/OpenMP/memory-effects.mlir
+1-1mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+11-22 files

FreeNAS/freenas cb63aaa — src/middlewared/middlewared/alert/source license_usage.py, src/middlewared/middlewared/common/license __init__.py

Simplify license delegate active check and usage alert

This commit makes some changes where license delegates decided whether the node is the active controller by reading failover.status.get_local and the VIP rows themselves; they now use the existing failover.is_single_master_node check, same as the TNC heartbeat.

It also turns the unlicensed features in use alert from a 10 minute polling source into a one-shot alert that is evaluated at the end of truenas.license.apply, once at system.ready on the active node and when a node becomes master, since gates already block new use of unlicensed features so the list can only shrink between license changes. A license daemon error still leaves the existing alert untouched.
DeltaFile
+40-25src/middlewared/middlewared/pytest/unit/plugins/truenas/test_license_delegates.py
+39-2src/middlewared/middlewared/plugins/truenas/license.py
+4-34src/middlewared/middlewared/alert/source/license_usage.py
+8-9src/middlewared/middlewared/common/license/__init__.py
+1-2src/middlewared/middlewared/pytest/unit/plugins/docker/test_docker_license_delegate.py
+3-0src/middlewared/middlewared/plugins/failover_/event.py
+95-721 files not shown
+95-737 files

LLVM/project 03a50ee — llvm/lib/Target/AMDGPU AMDGPUAttributor.cpp

AMDGPU: Create the implicit argument attributes once

AAAMDAttributes created each of its 21 string attributes again for
every function it manifested, which hashes the attribute name to find
the uniqued attribute. Create them once in the information cache,
sorted by name like they are in an attribute set.

Instructions spent in amdgpu-attributor
  (opt, parse cost subtracted, median of 3 runs):
  rocPRIM test_device_scan, gfx942:          1963M -> 1922M (-2.1%)
  Blender Cycles HIP kernel, gfx1100:        636M -> 632M (within noise)
  rocPRIM 16 tests, full LTO, closed world:  7415M -> 7231M (-2.5%)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+23-7llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+23-71 files

NetBSD/src LFYHr0v — lib/libc/stdio printf.3

   printf(3): use plain Cm for flags, use consistent -width Cm
VersionDeltaFile
1.73+12-10lib/libc/stdio/printf.3
+12-101 files

FreeBSD/ports 3212c2a — misc/py-onnxruntime Makefile

misc/py-onnxruntime: broken on i386

Reported by:    fallout

(cherry picked from commit 8d6067708c59e5222c6b772cf229572198013e62)
DeltaFile
+2-0misc/py-onnxruntime/Makefile
+2-01 files

FreeBSD/ports 8d60677 — misc/py-onnxruntime Makefile

misc/py-onnxruntime: broken on i386

Reported by:    fallout
DeltaFile
+2-0misc/py-onnxruntime/Makefile
+2-01 files

LLVM/project 9399bbb — llvm/include/llvm/IR AttributeMask.h, llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Don't remove attributes with an empty mask

Manifesting attributes always removed the attributes of an empty
AttributeMask, which copies the attribute set into an AttrBuilder and
looks up each of its attributes in the mask. Skip the removal if the
mask is empty, and add AttributeMask::empty for that.

Instructions spent in amdgpu-attributor
  (opt, parse cost subtracted, median of 3 runs):
  rocPRIM test_device_scan, gfx942:          1963M -> 1927M (-1.8%)
  Blender Cycles HIP kernel, gfx1100:        636M -> 632M (within noise)
  rocPRIM 16 tests, full LTO, closed world:  7415M -> 7313M (-1.4%)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-1llvm/lib/Transforms/IPO/Attributor.cpp
+3-0llvm/include/llvm/IR/AttributeMask.h
+5-12 files

FreeBSD/ports 69fc427 — security/modsecurity3-nginx Makefile distinfo

security/modsecurity3-nginx: Chase the nginx update to 1.30.6

Sponsored by:   Netzkommune GmbH
DeltaFile
+3-3security/modsecurity3-nginx/distinfo
+1-1security/modsecurity3-nginx/Makefile
+4-42 files

FreeBSD/ports 6dfe8cd — www/nginx-acme Makefile distinfo

www/nginx-acme: Chase the nginx update to 1.30.6 and 1.31.7

Sponsored by:   Netzkommune GmbH
DeltaFile
+5-5www/nginx-acme/distinfo
+1-1www/nginx-acme/Makefile
+6-62 files

FreeBSD/ports fa5dd6a — www/nginx-devel Makefile version.mk

www/nginx-devel: Security update to 1.31.7

The same five security fixes as 1.30.6: CVE-2026-15176, CVE-2026-93479,
CVE-2026-95101, CVE-2026-97629 and CVE-2026-97205.

https://nginx.org/en/CHANGES

Security:       CVE-2026-15176
Security:       CVE-2026-93479
Security:       CVE-2026-95101
Security:       CVE-2026-97629
Security:       CVE-2026-97205
Sponsored by:   Netzkommune GmbH
DeltaFile
+3-3www/nginx-devel/distinfo
+1-1www/nginx-devel/version.mk
+0-1www/nginx-devel/Makefile
+4-53 files

FreeBSD/ports 26637e4 — www/nginx Makefile version.mk

www/nginx: Security update to 1.30.6

Five security fixes: a buffer overflow with "alias" after "rewrite"
(CVE-2026-15176), a buffer overflow while evaluating string expressions
with variables (CVE-2026-93479), an HTTP/3 frame treated as the request
body (CVE-2026-95101), an uninitialized TLS session ticket key
(CVE-2026-97629), and a use-after-free with AIO and SSI "include virtual"
(CVE-2026-97205).

https://nginx.org/en/CHANGES-1.30

Security:       CVE-2026-15176
Security:       CVE-2026-93479
Security:       CVE-2026-95101
Security:       CVE-2026-97629
Security:       CVE-2026-97205
Sponsored by:   Netzkommune GmbH
DeltaFile
+3-3www/nginx/distinfo
+1-1www/nginx/version.mk
+0-1www/nginx/Makefile
+4-53 files

LLVM/project c590d28 — llvm/docs LangRef.md, llvm/lib/IR Verifier.cpp

[IR] Verify oracle functions are only used by llvm.speculative.load. (#226669)

Update speculative load verification rules to enforce that speculative
load oracle functions are only used by speculative loads and require
local linakge.

This simplifies dropping oracle functions during codegen.

PR: https://github.com/llvm/llvm-project/pull/226669
DeltaFile
+96-8llvm/test/Verifier/speculative-load.ll
+67-0llvm/test/Transforms/MergeFunc/speculative-load-oracle.ll
+19-0llvm/lib/IR/Verifier.cpp
+10-0llvm/docs/LangRef.md
+7-1llvm/test/CodeGen/X86/speculative-load-intrinsic.ll
+7-1llvm/test/CodeGen/AArch64/speculative-load-intrinsic.ll
+206-103 files not shown
+215-169 files

LLVM/project f869d0b — clang/lib/AST/ByteCode Pointer.h Function.h, clang/test/AST/ByteCode blocks.cpp

[clang][bytecode] Fix `Pointer::getType()` for ObjC blocks (#232186)

They are function pointers, but getDecl() returns nullptr.
DeltaFile
+5-0clang/lib/AST/ByteCode/Function.h
+4-0clang/test/AST/ByteCode/blocks.cpp
+1-1clang/lib/AST/ByteCode/Pointer.h
+10-13 files

OPNSense/src 01510f0 — . UPDATING, sys/conf newvers.sh

Add UPDATING entries and bump version

Approved by:    so
DeltaFile
+20-0UPDATING
+1-1sys/conf/newvers.sh
+21-12 files

OPNSense/src b38c50d — usr.sbin/bhyve bhyvegc.h rfb.c

bhyve: Fix handling of framebuffer resizing

The rfb code maintains an array of CRCs for 32x32 tiles in the
framebuffer.  This array is sized statically based on the rfb code's
notion of the maximum framebuffer size, which changed in commit
fb51ddb20d57 without updating the rfb code.

Morever, writes to the framebuffer BAR can modify the recorded height
and width of the framebuffer.  These values were not validated against
the maximum at all, unlike the parameters set via bhyve config.

Fix these problems:
- Define the maximum width and height in a shared header file so that
  they do not get out of sync again.
- In pci_fbuf_render(), don't resize the console if the new dimensions
  are too large.
- Add a mutex to synchronize framebuffer BAR I/O with the rfb thread.

Approved by:    so

    [5 lines not shown]
DeltaFile
+40-19usr.sbin/bhyve/pci_fbuf.c
+3-3usr.sbin/bhyve/rfb.c
+3-0usr.sbin/bhyve/bhyvegc.h
+46-223 files

OPNSense/src a01b404 — usr.sbin/bhyve pci_hda.c

bhyve: Improve HDA stream descriptor validation

The length of each block in the stream must be non-zero.  This is
assumed in hda_transfer(), otherwise an out-of-bounds read or write is
possible.

Use atomic loads to access stream descriptor fields, since they are
guest-controlled.  Make sure that the descriptor array is suitably
aligned so that we can drop the __packed annotation from the structure
definition; per section 3.3.42 of the HDA spec the BDL pointer is
supposed to be 128-byte aligned, in fact.

Approved by:    so
Security:       FreeBSD-SA-26:72.bhyve
Security:       CVE-2026-101310
Reported by:    Brian Delgado from Intel using Anthropic Opus 4.8
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D60678
DeltaFile
+15-8usr.sbin/bhyve/pci_hda.c
+15-81 files

OPNSense/src cd14da3 — usr.sbin/bhyve pci_xhci.c

bhyve: Fix handling of the xhci event ring

rts->erst_p and rts->erstba_p are pointers to guest-controlled memory
which describe the event rings and pending event array, respectively.
The device model was not validating the size nor saving the value.
As a result, the bounds checks in pci_xhci_insert_event() were
susceptible to TOCTOU races.

Fix pci_xhci_rtsregs_write() to save the ring size in a softc field.
Validate that the size isn't larger than the maximum allowed by the XHCI
specification (64KB, or 4096 TRBs).

When processing TRBs, make sure we don't load fields more than once.
Make sure that pci_xhci_trb_next() doesn't return a pointer to host
memory.  When handling ERDP writes, make sure that the guest-supplied
address is actually a pointer into the TRB array, and ignore the write
if not.

Approved by:    so

    [4 lines not shown]
DeltaFile
+99-65usr.sbin/bhyve/pci_xhci.c
+99-651 files

OPNSense/src cf42166 — sys/dev/sound/pcm channel.c buffer.c, tests/sys/sound mmap.c

sound: Revalidate after reacquiring locks when resizing buffers

sndbuf_resize() and sndbuf_remalloc() drop the channel lock in order to
allocate the new buffer(s) with M_WAITOK.  Before doing that they verify
that the buffer is not mapped, but this could change while the lock is
dropped, as there is no higher-level synchronization which prevents
buffer resize (e.g., via the SNDCTL_DSP_SETBLKSIZE ioctl) from happening
concurrently with mmap.  Thus, these checks are insufficient.

Modify sndbuf_resize() and sndbuf_remalloc() to revalidate after
reacquiring the lock.  Extend them to check for a couple of channel
flags, mirroring the check in chn_resizebuf().  Modify chn_resizebuf()
to revalidate state after reacquiring the channel lock.

We could also allocate new buffers with M_NOWAIT and so avoid dropping
the lock.  Then, I think we could go even further and invoke
CHANNEL_SETBLOCKSIZE and CHANNEL_SETFRAGMENTS with the channel lock
held.  But really it would be better to ensure that dsp operations are
serialized; there is no reason for mmap and chn_resizebuf() to be able

    [10 lines not shown]
DeltaFile
+58-0tests/sys/sound/mmap.c
+31-4sys/dev/sound/pcm/buffer.c
+9-2sys/dev/sound/pcm/channel.c
+98-63 files

OPNSense/src cec5431 — sys/dev/sound/pci envy24ht.c envy24.c, sys/dev/sound/pci/hda hdaa.c

sound: Check for errors from sndbuf_resize()

Most implementations of CHANNEL_SETBLOCKSIZE and CHANNEL_SETFRAGMENTS
were not checking this.  This is probably not a big problem: it's
unlikely for sndbuf_resize() to fail due to the refcount check in this
case since it's operating on the hardware buffer, which doesn't get
mmaped.  But, I will add more reasons for it to fail in the next patch,
so let's be more careful.

This change modifies various CHANNEL_SETBLOCKSIZE implementations to
check for errors.  In some cases I reordered things to avoid updating
driver state until after sndbuf_resize() succeeds.

Return 0 from CHANNEL_SETBLOCKSIZE to indicate an error, as it otherwise
returns the new block size.  We could change the interface to return
both an error number and a block size, but that would break at least one
out-of-tree driver and I wish to avoid that here.  Make sure that errors
from CHANNEL_SETFRAGMENTS are returned to userspace.


    [4 lines not shown]
DeltaFile
+28-9sys/dev/sound/pcm/channel.c
+13-10sys/dev/sound/pci/ich.c
+9-7sys/dev/sound/pci/envy24ht.c
+9-7sys/dev/sound/pci/envy24.c
+5-9sys/dev/sound/usb/uaudio.c
+8-4sys/dev/sound/pci/hda/hdaa.c
+72-4615 files not shown
+123-8221 files

OPNSense/src 2eb84a2 — sys/netinet/tcp_stacks tcp_rack.h rack_pcm.c

tcp/rack: Fix a potential overflow in rack_update_pcm_ack()

The RACK stack's path capacity measurement module maintains an array of
samples, updated when the stack receives an ACK.  The array grows as
needed, but code which handles the expansion is susceptible to remotely
triggerable overflow.  This could lead to underallocation and a ~512KB
out-of-bounds write.

Fix this by bounding the sample array size.

Approved by:    so
Security:       FreeBSD-SA-26:70.tcp
Security:       CVE-2026-101307
Reviewed by:    glebius, markj
Reported by:    Nozomi Networks Security Research
DeltaFile
+11-6sys/netinet/tcp_stacks/rack_pcm.c
+4-2sys/netinet/tcp_stacks/tcp_rack.h
+15-82 files