[CIR] Use HasAncestor trait in place of hand-written verifiers
Replace the verify() functions on BreakOp, ContinueOp, LocalInitOp, and
CoReturnOp - each of which just checked for a specific ancestor op - with
the declarative MLIR HasAncestor / AncestorOneOf traits. Introduce
CIR_LoopScopes and CIR_BreakableScopes defvars in the BreakOp section,
matching the existing CIR_ReturnableScopes / CIR_YieldableScopes pattern
already used by ReturnOp and YieldOp. Also drop the now-redundant 'cir::'
qualifier from CatchParamOp's HasParent trait for consistency with the
other ancestor-trait sites in the file.
The two affected verifier tests are updated to the trait's diagnostic
format ('expects ancestor op ...').
sysutils/cpu-microcode-intel: Update to 2026-05-12 release
This update includes security fixes for INTEL-SA-01420 affecting some
Arrow Lake and Panther Lake CPUs, as well as functional improvements for
various Intel Core Ultra and Xeon processors.
Release notes: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20260512
Sponsored by: The FreeBSD Foundation
[mlir] Use add_tablegen() for mlir-src-sharder to fix aarch64 cross-compile (#196202)
`add_tablegen()` already sets `MLIR_SRC_SHARDER_TABLEGEN_EXE` to the
native host-tool path during cross-compilation (via
`build_native_tool`). The leftover manual
`set(MLIR_SRC_SHARDER_TABLEGEN_EXE mlir-src-sharder PARENT_SCOPE)`
clobbered that path with the bare binary name, causing aarch64
cross-builds to fail with:
```
/bin/sh: 1: mlir-src-sharder: not found
```
when sharding `TestOps`. Switching `mlir-src-sharder` from
`add_llvm_executable` to `add_tablegen` (and dropping the redundant
`set(... PARENT_SCOPE)`) lets the existing cross-compile machinery point
consumers at the host build of the tool.
iSCSI ALUA: regression test for failover LUN-replace stall
Add an extended test that builds 2 targets (25 + 10 LUNs), opens an
iSCSI session to the standby on the 25-LUN target so the kernel has
tgt_devs to clean up during become_active, then triggers an ungraceful
failover via poweroff_vm. Asserts:
- /var/log/failover.log on the new master does not contain
'Failed to restart service "iscsitarget" after 15 seconds',
which would indicate the LUN-replace loop stalled.
- /sys/kernel/scst_tgt/async_lun_replace reads 0 after failover,
confirming reset_active released the parked cleanup work.
- All LUNs are reachable on the new master.
A function-scoped fixture handles recovery (start_vm, wait_for_backup,
wait_for_settle) so the cluster is restored to a clean two-node state
even if an assertion above failed.
Uses the dataset() asset helper rather than zvol() for lower
per-extent overhead at this scale.
Release parked async LUN-replace cleanup after DLM peer eviction
scst.async_lun_replace=1 now also tells the kernel to park the deferred
cleanup of old tgt_devs from each LUN replace until the flag is cleared.
This avoids stalling become_active on scst_dlm_lock_wait inside
scst_clear_reservation while the dead peer is still a DLM lockspace
member.
Add iscsi.scst.disable_async_lun_replace and call it from the end of
iscsi.alua.reset_active, after dlm.reset_active (which evicts the peer)
completes.
vtfontcvt: Add SPDX-License-Identifier tag
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
(cherry picked from commit f12a0dca86b529069a940f09aba796dd4e28c66f)
chio: Add SPDX-License-Identifier tags
Some BSD-4-Clause files under bin/chio were missing the
SPDX-License-Identifier-tag.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55193
(cherry picked from commit b6824fe48e4197877f472268859ffe80d7fd946b)
[VectorCombine] Fold reduce.add == 0 into reduce.[or,umax] == 0
If every lane of a fixed-length vector is non-negative or every lane is
non-positive, and the lane count is small enough that summation cannot
wrap, then reduce.add(V) == 0 exactly when every lane is zero. In that
case the add reduction can be replaced by reduce.or or reduce.umax,
whichever is cheaper on the target.
[CIR] Fix function signature mismatch on redirected calls (#196665)
We were running into CIR verification errors ("error: 'cir.call' op
operand type mismatch") when compiling with some older versions of the
GLIBC headers that used a macro to redirect system library calls to a
function that used different, but compatible, arguments.
This change fixes the problem by detecting the mismatch at the callsite
and bitcasting the arguments.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
sys: Fix heap disclosure in compat7 kern.proc.filedesc sysctl
Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56976
[sanitizer_common] Implement address sanitizer on AIX: platform specific support (#131866)
Add recognition of AIX and some platform specific changes. This lays the
groundwork to implement AIX in sanitizer_common/asan.
Issue: https://github.com/llvm/llvm-project/issues/138916
[LifetimeSafety] Warn on implicit this lifetimebound violations (#196926)
With this change we report `[[clang::lifetimebound]]` violations on the
implicit `this` parameter.
It also adds a helper to retrieve the `[[clang::lifetimebound]]`
attribute on method declarations, so diagnostics can point directly at
the attribute location.