Attributor: Fix build with older GCC after AAKindSet (#240975)
Older GCC versions cannot compare the addresses of distinct static
members in constant expressions, so computing the AAKindSet bits
failed. Compare the IDs as template arguments instead, and construct
the sets with AAKindSet::get from the IDs as template arguments.
Fixes cbc7d9da9b06.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[OpenMP][OMPIRBuilder] Propagate custom mapper errors from createTarget
When a custom mapper callback failed while emitting the kernel launch of a
target region, emitTargetCall wrapped the error in cantFail and crashed,
although createTarget already reports errors to its caller. MLIR
translation hits this when an omp.target uses a declare mapper that it
cannot translate yet, such as one with iterator map entries, while
omp.target_data reports the same mapper as not yet implemented.
Return the error from emitTargetCall and pass it on from createTarget, so
callers report it instead of crashing. When emitIfClause stops on such an
error, it now inserts the blocks it has not emitted yet into the function,
so they are not leaked.
Assisted with Claude Opus 5.5.
kernel - New LWPs shouldn't inherit pending signals
* The creation of a new LWP thread should not inherit any signals
pending on the current thread.
* Fix by adjusting the copy set, moving lwp_cpumask and lwp_siglist
out of the set. Fixup lwp_cpumask, and allow lwp_siglist to be
left empty.
* This should fix rare races with certain thread-heavy applications.
Reported-by: tuxillo
PR: 3468
[lldb] Skip debugserver launch tests with a system debugserver (#240978)
TestDebugserverLaunchArch, added in 3e7841ef1d6f, exercises the
debugserver built from this tree. An out-of-tree debugserver that
predates that change launches the arm64e slice for arm64, so test_arm64
fails on bots using the system debugserver.
SafeStack: Take libcall declarations from RuntimeLibcallsInfo (#240445)
Stop declaring __stack_chk_fail and __safestack_pointer_address
manually and construct them with the correct type automatically.
A function with the variable's name is now reported as not being a
global variable, rather than a renamed copy of the variable being
inserted. -safestack-use-pointer-address now requires
__safestack_pointer_address to be available for the target, instead of
unconditionally emitting a call to it. The tests using it on
non-Android triples move to Android.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[AMDGPU] Ignore debug instructions when lowering a VGPR copy into a physical SGPR (#239751)
`SIInstrInfo::handleCopyToPhysHelper` scans the rest of the block for
the readers of a VGPR copied
into a physical SGPR: a call that takes the SGPR as an argument is
waterfalled, and any other reader
keeps the copy. A `DBG_VALUE` of the SGPR counted as such a reader, so
with debug info the illegal
VGPR-to-SGPR copy stayed in the loop. The scan now skips debug
instructions, and stops where the
register is clobbered, by a regmask as well as a def.
krb5: Import MIT 1.22.3
Major changes in 1.22.3 (2026-11-09)
====================================
This is a bug fix release, with a focus on security issues discovered
with the aid of large language models. See
https://web.mit.edu/kerberos/advisories/MITKRB5-SA-2026-001.txt for
information on the risks of continuing to use unpatched releases.
* Fix a logic error when checking PAC server checksums
[CVE-2026-111423].
* Check for unkeyed checksums when validating CAMMAC verifiers
[CVE-2026-71199].
* Fix a loophole in the KDC's client authdata filtering which could
allow clients to include fake PAC and CAMMAC authdata values when
requesting service tickets. These fake values would be rejected by
[49 lines not shown]
[TableGen] Get depfile dependencies from SrcMgr instead of TGLexer. NFCI. (#240925)
TGLexer recorded the path of every included file in a set that was only
used by TableGenMain to write the -d dependency file. SrcMgr already has
this information: every buffer after the main file was added by an
include directive, and its identifier is the resolved path. Build the
dependency list from SrcMgr instead, and remove the set and its
accessors from TGLexer and TGParser.
The depfile contents are unchanged. This removes the last use of the
parser after parsing has finished.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[flang][OpenACC] Convert DO loop controls to the induction variable kind (#240591)
F2023 11.1.7.4.1 requires the initial, terminal, and incrementation
parameters of a DO loop to have the same kind as the do-variable. Flang
lowered an implicit or explicit acc.loop with the controls in their
source kinds, so an i32 induction variable could get an i64 upper bound
or step.
Lowering now converts each control to the induction variable's type, and
an omitted step is the constant 1 of that type. Controls already of that
type are unchanged, so existing loops without a kind mismatch lower the
same as before.
Add acc-loop-integer-kind.f90 to check the converted controls for tile,
omitted step, integer(8) bounds and step, DO CONCURRENT, and the
matching i64 case that should not gain converts. Update the comment in
acc-loop-real-bounds.f90 to match.
[Hexagon] Add instruction-selection support for HLX (#240950)
Add instruction-selection and lowering support for the Hexagon HLX
(eLementwise eXtension) instructions, building on the HLX MC and
intrinsics support.
This adds:
- the HLX type-legalization helpers on HexagonSubtarget
(getHLXVectorLength, getHLXElementTypes, isHLXElementType,
isHLXVectorType, isTypeForHLX), so that HLX vector types are kept out of
the HVX legalization path;
- HexagonISelLoweringHLX.cpp, which registers the HLX vector types, sets
the legal operations for them, and lowers masked load/store and vector
select;
- the DetectUseSxth/DetectUseZxth complex-pattern matchers used to fold
i16 sign/zero extensions into the HLX widening operations;
- HexagonPatternsHLX.td, the HLX instruction-selection patterns for
arithmetic, multiply, shift, compare, min/max, absolute difference,
average, load/store, splat, select, and extend/truncate.
[8 lines not shown]
nvmecontrol: Mask the fields in the Format NVM command
The format command composed cdw10 by hand without masking any of
the fields and with no support for the LBAFU field. Since commit
2c41f7d8a034 the LBA format index defaulted from FLBAS can exceed
15 on an NVMe 2.0 namespace using FIDXU, and such an index would
bleed into the MSET and PI fields. An out of range index supplied
with -f for a whole-controller format was not caught either.
Build the command with nvme_admin_format_cmd(), which masks all of
the fields and encodes LBA format indexes above 15 in LBAFU, and
reject LBA format indexes greater than 63 for whole-controller
formats. Per-namespace formats already validate the index against
NLBAF.
This is the same problem that llm-postcr reported in camcontrol's
copy of this code, fixed in 3892a6453fc6; the unmasked composition
originated here (635c517ae9ca).
[7 lines not shown]
[flang][OpenMP] Lower iterator modifiers in map and motion clauses
An iterator modifier on a MAP, TO, or FROM clause expands each list item into
one locator per iterator value, so a single clause can map or update
scattered elements such as `a(idx(i))` without listing them or transferring
the whole array. The OpenMP dialect represents these entries since #197047;
this patch lowers them from Flang for TARGET DATA, TARGET ENTER/EXIT DATA,
and TARGET UPDATE.
For example, `!$omp target update to(iterator(i=1:n): a(i), b)` becomes:
entries = omp.iterator(i = 1 to n) {
yield map_info(base = a, bounds = element i)
}
target_update(iterated_maps = entries, ordinary_maps = [b])
Each locator is expanded only over the iterators it references, and locators
without one are mapped as before. Keeping the array base and selecting
elements or sections through map bounds handles explicit-shape and
[12 lines not shown]
[flang][OpenMP][NFC] - Add combinatorial device tests for locality specifiers (#238979)
Add end-to-end device tests for locality specifier combinations:
- local_init_reduce_device.f90: LOCAL_INIT + REDUCE on device
- shared_local_init_device.f90: SHARED + LOCAL_INIT on device
These complement the existing host-only combinatorial tests and verify
the full target teams distribute parallel do structure is generated
correctly with mixed locality specifiers.
Co-authored-by: Claude Opus 4 (1M context) <noreply at anthropic.com>
[CodeGen] Add verify<machine-dom-tree> (#240960)
Similar to the middle-end equivalent. Makes it easier to write tests
around analysis invalidation/correct preservation.
Assisted-By: LLM
namei(9): fix two ni_startdir leaks
namei() leaks the caller's ni_startdir reference on the empty-path
ENOENT return and on namei_getpath() failure.
On ZFS with the default zfs_xattr_compat=1, an empty user-namespace
extattr name on a file that has an xattr directory leaks one reference
on that directory per call.
Reported by: llm-postcr
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61366
vn_open_cred(9): fix ni_startdir leak
vn_open_cred() returns EINVAL before calling namei() for
O_CREAT|O_EXCL|O_DIRECTORY and for O_CREAT|O_EMPTY_PATH.
That leaks an NDINIT_ATVP() start directory.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61366
libthr mutex_self_lock(): handle signals and clock steps
Relocking an owned NORMAL mutex with an absolute timeout has two issues:
- nanosleep(2) is never restarted, so any caught signal causes
an early ETIMEDOUT.
- If CLOCK_REALTIME or CLOCK_TAI are stepped backward during the sleep,
the call also returns ETIMEDOUT before the clock reaches the deadline.
The kernel already polls CPU-time clocks and handles realtime steps.
Use _thr_umtx_timedwait_uint() in a loop to handle both issues.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61381
www/authelia: update 4.39.20 → 4.39.28; add service pid file; update default service config
Service config was outdated. The new one now successfully starts the
service.
PR: 300045
Submitted by: paul.le.gauret at gmail.com (port update)