FreeNAS/freenas 94de213src/middlewared/middlewared/plugins rsync.py, tests/api2 test_rsync_ssh_authentication.py

NAS-143926 / 26.0.0 / Fix nonstandard rsync SSH port handling (by themylogin) (#19847)

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

Co-authored-by: themylogin <themylogin at gmail.com>
DeltaFile
+150-1tests/api2/test_rsync_ssh_authentication.py
+12-5src/middlewared/middlewared/plugins/rsync.py
+162-62 files

FreeNAS/freenas 86c926esrc/middlewared/middlewared/api/base/types string.py, src/middlewared/middlewared/api/v26_0_0 container.py

NAS-143065 / 26.0.0 / Validate VM and container UUIDs the way libvirt does (by Qubad786) (#19848)

## Problem
`UUIDv4String` did neither thing its name implies. `uuid.UUID(value,
version=4)` overwrites the version and variant bits on a throwaway
object rather than asserting them, so nothing was ever checked; and the
validator returned the caller's original string, so every spelling of a
UUID was stored verbatim. Two things went wrong as a result.

The stored string is the libvirt identity — it is written to both
`<name>` and `<uuid>` of the domain XML, and domains are looked up by
name. Because the create-time uniqueness check was a datastore filter,
i.e. SQL `=` against a BINARY-collated column, two rows spelling one
UUID differently both got in. Domains are only defined at start, so
nothing went wrong until the second one was started, at which point
libvirt refused it while quoting the first row's uuid. `uuid` is
immutable after creation, so that row cannot be repaired.

Separately, Python and libvirt disagree about what a UUID even looks

    [36 lines not shown]
DeltaFile
+85-0src/middlewared/middlewared/pytest/unit/api/base/types/test_libvirt_uuid.py
+21-8src/middlewared/middlewared/api/base/types/string.py
+14-0src/middlewared/middlewared/utils/libvirt/utils.py
+7-6src/middlewared/middlewared/plugins/vm/vms.py
+7-5src/middlewared/middlewared/plugins/container/container.py
+6-4src/middlewared/middlewared/api/v26_0_0/container.py
+140-231 files not shown
+146-257 files

FreeNAS/freenas 33d3ab4src/middlewared/middlewared/plugins zettarepl.py, src/middlewared/middlewared/utils prctl.py

NAS-144024 / 26.0.0 / Fix zettarepl crash (by themylogin) (#19849)

`die_with_parent` makes the `fork`ed process die with the parent
_thread_. Sometimes, when under load, zettarepl was started from a
temporary IO thread pool thread, and was killed when that thread was
disposed.

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

Co-authored-by: themylogin <themylogin at gmail.com>
DeltaFile
+22-2src/middlewared/middlewared/plugins/zettarepl.py
+1-0src/middlewared/middlewared/utils/prctl.py
+23-22 files

FreeNAS/freenas 06f68cesrc/middlewared/middlewared/plugins account.py, src/middlewared/middlewared/plugins/cloud_backup restore.py

Put the S3 bucket path checks behind service-neutral helpers
DeltaFile
+52-0src/middlewared/middlewared/utils/service/path.py
+13-15src/middlewared/middlewared/service/sharing_task_service_part.py
+14-14src/middlewared/middlewared/service/sharing_service.py
+2-3src/middlewared/middlewared/plugins/account.py
+4-1src/middlewared/middlewared/plugins/cloud_backup/restore.py
+2-1src/middlewared/middlewared/plugins/ftp/config.py
+87-346 files

FreeBSD/ports 0767990. CHANGES, Mk bsd.port.mk

Mk: add a BUILD_RUN_DEPENDS variable

Add BUILD_RUN_DEPENDS as a syntastic sugar for adding dependencies to
both BUILD_DEPENDS and RUN_DEPENDS without side effects.

Differential Revision:  https://reviews.freebsd.org/D59664
DeltaFile
+6-0CHANGES
+5-0Mk/bsd.port.mk
+11-02 files

LLVM/project 3bd7ee0libc/src/__support/OSUtil/linux/syscall_wrappers pause.h, libc/src/unistd pause.h

[libc] Implement pause (#225365)

Add the linux_syscalls::pause wrapper using SYS_ppoll, along with the
unistd pause entrypoint and unit test on Linux.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+65-0libc/test/src/unistd/pause_test.cpp
+33-0libc/src/__support/OSUtil/linux/syscall_wrappers/pause.h
+32-0libc/src/unistd/linux/pause.cpp
+25-0libc/src/unistd/pause.h
+21-0libc/test/src/unistd/CMakeLists.txt
+13-0libc/src/unistd/linux/CMakeLists.txt
+189-07 files not shown
+219-013 files

HardenedBSD/src b3b3b4cbin/pwd pwd.c, sys/powerpc/aim mmu_radix.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+14-7bin/pwd/pwd.c
+1-3sys/powerpc/aim/mmu_radix.c
+15-102 files

HardenedBSD/src 99722cabin/pwd pwd.c, sys/powerpc/aim mmu_radix.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+14-7bin/pwd/pwd.c
+1-3sys/powerpc/aim/mmu_radix.c
+15-102 files

FreeBSD/ports a540ac4sysutils/khelpcenter Makefile

sysutils/khelpcenter: Update COMMENT and WWW

KHelpCenter is no longer shipped with KDE Plasma.
DeltaFile
+2-2sysutils/khelpcenter/Makefile
+2-21 files

FreeBSD/ports c100f11x11-wm/plasma6-kwin-x11 Makefile

x11-wm/plasma6-kwin-x11: Deprecate

Future KDE Plasma 6.8 release will be Wayland-exclusive.

https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/
DeltaFile
+4-0x11-wm/plasma6-kwin-x11/Makefile
+4-01 files

HardenedBSD/src e7e5140bin/pwd pwd.c, sys/powerpc/aim mmu_radix.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+14-7bin/pwd/pwd.c
+1-3sys/powerpc/aim/mmu_radix.c
+15-102 files

LLVM/project 7bd1a45llvm/include/llvm/Transforms/Utils LoopUtils.h

Add LLVM_ABI marker
DeltaFile
+3-4llvm/include/llvm/Transforms/Utils/LoopUtils.h
+3-41 files

HardenedBSD/ports 0cb87c6Mk bsd.port.mk, devel/chai/files patch-cmake_thirdparty_SetupChaiThirdparty.cmake

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+113-0science/py-gemmi/files/patch-97c808222f468f8188f2ed87266e0d7c5a854ce2
+36-23Mk/bsd.port.mk
+27-9devel/py-virtualenv/Makefile
+24-8science/spheral/files/patch-cmake_InstallTPLs.cmake
+19-7science/spheral/pkg-plist
+13-9devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake
+232-5676 files not shown
+509-23182 files

LLVM/project 4bad916libcxx/src/support/win32 locale_win32.cpp

remove locale:: qualification and remove & from __locale_guard
DeltaFile
+3-3libcxx/src/support/win32/locale_win32.cpp
+3-31 files

LLVM/project d86a3c5llvm/utils/gn/secondary/compiler-rt/lib/ubsan BUILD.gn

Fix BUILD file. (#225731)

CMakeList.txt was updated in
https://github.com/llvm/llvm-project/pull/225495
DeltaFile
+1-0llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
+1-01 files

LLVM/project 898bafallvm/lib/Target/AArch64 AArch64FastISel.cpp, llvm/lib/Target/AArch64/GISel AArch64CallLowering.cpp

[AArch64][GISel][FastISel] Fix Windows "sret inreg". (#225190)

5dc8aeb26d2896c65cbea0d3b87f090241444bb6 added a special case to
SelectionDAG ISel for "sret inreg" parameters: they are copied to x0 on
return. There was a review comment suggesting that GISel and FastISel
also needed fixes, but through some mixup the followup never happened.

Fixes #225060

(cherry picked from commit 8890be35705834c5af8e21424d7900639be03180)
DeltaFile
+556-96llvm/test/CodeGen/AArch64/arm64-windows-calls.ll
+49-13llvm/test/CodeGen/AArch64/arm64-windows-tailcall.ll
+8-3llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
+3-0llvm/lib/Target/AArch64/AArch64FastISel.cpp
+616-1124 files

LLVM/project 8646466llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

[DAGCombiner] Restrict combineOrOfSetCCToUSUBOCarry to ZeroOrOneBooleanContent. (#224759)

We need to ensure the carry in matches boolean contents. We are checking
MaskedValueIsZero which is only valid for ZeroOrOneBooleanContent.

We could check ComputeNumSignBits for ZeroOrNegativeOneBooleanContent,
but no in tree target supports USUBO_CARRY and
ZeroOrNegativeOneBooleanContent.

This was an oversight in #223396 due to incorrect documentation for
USUBO_CARRY. I will fix that in a separate patch.

(cherry picked from commit 51d290508d4dd980c3ba03bcc873926c41c6e591)
DeltaFile
+6-3llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+6-31 files

LLVM/project 557e1d6llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AArch64 cgp-usubo.ll

[DAGCombiner] Require a 0/1 carry-in when rebuilding a borrow chain (#223396)

combineOrOfSetCCToUSUBOCarry (aae871ba1224) rewrites

  carry_out = (A <u B) | ((A == B) & carry_in)

to USUBO_CARRY(A, B, carry_in), accepting any value as carry_in.

USUBO_CARRY's third operand is specified as "1 if and only if there is
an incoming carry/borrow", so 0 and 1 are its only meaningful values.
Unlike SADDO_CARRY/SSUBO_CARRY it does not fall back to
getBooleanContents for wider types. The matched `and` is bitwise against
a 0/1 setcc, so only bit 0 of carry_in reaches carry_out and nothing
else constrains it; a carry_in with any other bit set is outside the
operand's contract and miscompiles.

Require carry_in to be known 0/1. Check known bits rather than look for
an `and carry_in, 1`: only bit 0 is demanded inside the `and`, so such a
mask is usually folded away before this combine runs. An i1 carry_in,

    [6 lines not shown]
DeltaFile
+90-0llvm/test/CodeGen/X86/subcarry.ll
+19-0llvm/test/CodeGen/AArch64/cgp-usubo.ll
+7-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+116-03 files

LLVM/project 615ef6cllvm/utils/release github-upload-release.py

github-upload-release: Create draft releases (#209876)

https://discourse.llvm.org/t/rfc-enabling-immutable-releases-v2/91180
(cherry picked from commit acd9cda52648d3acd68096697eba217226875930)
DeltaFile
+3-1llvm/utils/release/github-upload-release.py
+3-11 files

LLVM/project 2437391lld/ELF Relocations.cpp SyntheticSections.h, lld/test/ELF x86-64-gotpc-relax-too-far-relr.s

[lld] Don't drop RELR relocations for late-added GOT entries (#211911)

In #208959 we started dropping RELR relocations for late-added GOT
entries when reverting x86-64 GOTPCRELX relaxations in
X86_64::relaxOnce.

There is a separate unrelaxation bug where if the object files didn't
have any relocations of a certain type, we'd prune .relr.dyn (or even
.rela.dyn). Will be addressed separately.

Assisted-by: Gemini
(cherry picked from commit 5565740f2367093b89481ba7371adf820971977d)
DeltaFile
+26-0lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
+6-2lld/ELF/SyntheticSections.h
+2-2lld/ELF/Relocations.cpp
+34-43 files

LLVM/project dd45ed8mlir/include/mlir/IR OpImplementation.h, mlir/lib/IR AsmPrinter.cpp

[mlir] Reduce generated assembly printer compile time

Use fixed arrays for statically elided attributes and combine leading spaces
with literals. Move common operand printing out of generated call sites and
emit sliced operand getters to reduce optimizer work in large printers.

For omp.target, optimized print IR drops from 3,893 to 2,667 instructions.
The printing benchmark is 2.1% slower; check-mlir passes.

Assisted-by: Codex
DeltaFile
+32-9mlir/tools/mlir-tblgen/OpFormatGen.cpp
+15-8mlir/test/mlir-tblgen/op-format.td
+18-0mlir/include/mlir/IR/OpImplementation.h
+7-2mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+9-0mlir/lib/IR/AsmPrinter.cpp
+2-0mlir/test/mlir-tblgen/op-decl-and-defs.td
+83-196 files

LLVM/project 141a976clang/test/OpenMP teams_distribute_parallel_for_simd_messages.cpp teams_distribute_parallel_for_simd_loop_messages.cpp, llvm/include/llvm/Frontend/OpenMP OMP.td

Revert "[clang][OpenMP] ORDERED clause is allowed on FOR in 4.5+ (#22… (#225669)

…5106)"

This reverts commit b0d31f40189dbdcf8b62e2c6ef79b039c5202aba.

This missed the restriction that ORDERED is not allowed when DISTRIBUTE
is a constituent construct.
DeltaFile
+0-6llvm/include/llvm/Frontend/OpenMP/OMP.td
+1-1clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
+1-1clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
+1-1clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
+1-1clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
+1-1clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
+5-114 files not shown
+9-1510 files

LLVM/project bbcba32llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU si-instr-info-correct-implicit-operands.ll sdiv64.ll

AMDGPU: Mark dead carry-out when rewriting scalar carry op to VALU

If an operation is expanded with a dead scc def, the resultant vcc def will
also be dead, so preserve the dead flag. Reduces implicit reliance on
LiveVariables recomputing dead flags later.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+116-0llvm/test/CodeGen/AMDGPU/move-scalar-carry-to-valu-dead-vcc.mir
+11-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+4-6llvm/test/CodeGen/AMDGPU/sdiv64.ll
+1-1llvm/test/CodeGen/AMDGPU/si-instr-info-correct-implicit-operands.ll
+132-74 files

LLVM/project 4cc9bdallvm/test/CodeGen/ARM machine-outliner-stack-fixup-thumb.mir

Update CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir
DeltaFile
+1-1llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir
+1-11 files

LLVM/project 1947fd7llvm/lib/CodeGen MachineOutliner.cpp, llvm/test/CodeGen/AArch64 machine-outliner-operand-flags.mir

[AArch64][PAC] Reset `killed` operand flags in outlined functions

Presently, MachineOutliner does not take `killed` operand flags into
account when merging instruction sequences. While it sounds perfectly
reasonable not to inhibit merging of the instruction sequences that
only differ in `killed` flags (for N flags there is technically 2^N
valid ways to drop some subset of them), copying these flags from
an arbitrarily chosen representative instruction may result in
incorrect codegen of PAuth-related pseudo instructions on AArch64.

To keep `killed` flags conservatively correct as if `OUTLINED_FUNCTION`s
are virtually re-inserted at every call site, this patch takes the
simplest approach of resetting every `killed` flag inside the
outlined functions.
DeltaFile
+82-0llvm/test/CodeGen/AArch64/machine-outliner-operand-flags.mir
+1-0llvm/lib/CodeGen/MachineOutliner.cpp
+83-02 files

FreeBSD/ports a4cf632www/immich/files immich-admin.in

www/immich: Fix immich-admin for any login shell

su -m runs the command in the caller's login shell, so the wrapper
broke wherever root does not use a POSIX shell.  chroot(8) drops the
privileges without a shell in between and passes the arguments to
execve(2) unchanged.

Reported by:    mfechner
Sponsored by:   Netzkommune GmbH
DeltaFile
+5-2www/immich/files/immich-admin.in
+5-21 files

HardenedBSD/ports a4cf632www/immich/files immich-admin.in

www/immich: Fix immich-admin for any login shell

su -m runs the command in the caller's login shell, so the wrapper
broke wherever root does not use a POSIX shell.  chroot(8) drops the
privileges without a shell in between and passes the arguments to
execve(2) unchanged.

Reported by:    mfechner
Sponsored by:   Netzkommune GmbH
DeltaFile
+5-2www/immich/files/immich-admin.in
+5-21 files

NetBSD/pkgsrc-wip 19bb2b7tuicr Makefile cargo-depends.mk

Update devel/tuicr to v.0.26
DeltaFile
+117-114tuicr/distinfo
+38-37tuicr/cargo-depends.mk
+1-1tuicr/Makefile
+156-1523 files

LLVM/project 869e02fllvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AArch64 free-widening-casts.ll

[AArch64] Allow cost-free cast absorption into widening instructions with multiple users (#210460)

Extend getCastInstrCost to recognize cast absorption into widening
instructions (uaddl, saddw, urhadd, etc.) when the cast has multiple
users, not just one.

Previously, the check only looked at a single user (`I->hasOneUser()`),
so a zext/sext feeding more than one widening-eligible instruction was
always costed as non-free, even when every user could individually
absorb it.

This also affected codegen: `optimizeExtendOrTruncateConversion` in
`AArch64ISelLowering.cpp` decides whether to lower a double-widening
zext via tbl shuffles based on whether `getCastInstrCost` reports the
cast as free. With multi-user casts always costed as non-free, this
took the tbl-lowering path in cases where every user could actually
absorb the cast for free, generating unnecessary tbl instructions.

Compiler Explorer:

    [14 lines not shown]
DeltaFile
+187-427llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
+153-0llvm/test/CodeGen/AArch64/zext-to-tbl.ll
+57-34llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+54-0llvm/test/Analysis/CostModel/AArch64/free-widening-casts.ll
+451-4614 files

LLVM/project 1d1284dllvm/lib/Transforms/Utils Local.cpp

[SimplifyCFG] Fix typos in comments (NFC) (#225649)
DeltaFile
+11-11llvm/lib/Transforms/Utils/Local.cpp
+11-111 files