README: update supported FreeBSD release to 15.1
Our CI runners moved to FreeBSD 15.1 in 0a4b59765 (#18667), but the
README still lists 15.0. Update it to match the CI version.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18696
Reapply "[InstCombine] Merge consecutive assumes" (#205177) (#205324)
The crash was caused by using `getOperandBundle` for an assume, which
requires that the operand bundles are unique. This isn't guaranteed by
assume bundles. This patch adds `hasOperandBundle` instead, which
doesn't have the same constraint.
Original message:
This should make assumes a bit more efficient, since it removes a few
instructions. This should also help with optimizations that are
limited in how many instructions they step through.
This reverts commit 3f0ef1efb26206c3f5d5621d86d740c7f466c67b.
AMDGPU: Use module flags to control xnack and sramecc
This ensures these ABI details are encoded in the IR module
rather than depending on external state from command-line flags.
Previously, these were encoded as function-level subtarget features.
The code object output was a single target ID directive implied
by the global subtarget. The backend would previously check if a
function's subtarget feature mismatched the global subtarget. This
is avoided by making xnack and sramecc module-level properties from
the start. This also provides proper linker compatibility
enforcement, moving the error point earlier.
The old encoding was also an abuse of the subtarget feature system.
Subtarget features are a bitvector, and later features in the string
can override earlier ones. The old handling added a special case
where explicit settings were preserved: ordinarily +feature,-feature
should result in the feature being disabled, but +xnack,-xnack would
preserve the explicit "-xnack" state, which differs from the absence
of any xnack setting.
[25 lines not shown]
[lldb] Fix race/timeout in TestInternalThreadSuspension (#203202)
This test launches a thread and then waits for a signal from the
launched thread. Below is one possible interleaving, where the
`pthread_cond_signal` (2) wins the race and becomes a no-op while (3) is
locking until the test times out.
```
void *
suspend_func (void *unused) {
[...]
// 2. Created thread reaches this and signals.
pthread_cond_signal(&signal_cond);
[...]
}
int main() {
pthread_mutex_lock(&signal_mutex);
[11 lines not shown]
[OpenMP] Remove unused isStrictSubset template (NFC) (#202987)
The `isStrictSubset` `ArrayRef<T>` template has no callers, so it never
instantiates and trips `-Wunused-template`. The `VariantMatchInfo`
overload does the work that's actually used, and `isSubset` stays
untouched. Removing the dead template.
NFC.
Part of #202945.
Update to libtorrent-0.16.11, including a major library bump.
0.15.7, the version available in the OpenBSD 7.9 release packages,
seems to have major performance issues that are resolved or at least
lessened here.
ok sthen@
Implement ch_meta_locate() using some bit tricks to avoid branches and loops.
ch_haszero() first sets the high bit for every byte in lookup that is 0
and then uses a multiplaction plus shift to compact this bits into the
output.
Also use a multiplication with 0x0101010101010101 instead of the memset().
Modern compilers produce the same code but older ones produce a bit simpler
code this way.
Based on a diff from Rango (kombucha at mm.st)
OK tb@
isakmpd: Only call sa_isakmp_upgrade() when ISAKMP SAs actually exist
Informational and transactional exchanges do not have ISAKMP SAs.
Therefore only upgrade ISAKMP SAs when these actually exist.
ok markus@
[orc-rt] Split AllocAction tests by SPS dependency. (#205322)
Rewrites AllocActionTest.cpp's integration tests (RunBasicAction,
RunFinalize*) to drive AllocActionFunction::handle with a small local
IntPtrDeserializer / IdentitySerializer pair instead of going through
SPS, and moves the existing SPS-using AllocAction tests into
SPSAllocActionTest.cpp.
Also adds two new SPS tests covering previously-uncovered paths:
- RunActionWithSPSArgsAndWFBReturn — SPS argument deserialization plus
AllocActionSPSSerializer's identity (WrapperFunctionBuffer) overload.
- RunActionWithUndecodableArgs — the deserialization-failure path in
AllocActionFunction::handle.
After the split, an AllocActionTest failure indicates problems with the
AllocAction machinery, and an SPSAllocActionTest failure without a
corresponding AllocActionTest failure indicates an SPS encoding /
decoding issue for AllocAction.
Address CVE-2025-10263. This requires doing the TLB invalidation twice.
However, this has a considerable cost on some CPU cores (such as Apple's
M1/M2 and Qualcomm Snapdragon X) that aren't vulnerable. So bring over
the code patching infrastructure from amd64 and use it to NOP out the
additional TLB invalidation on CPUs that aren't vulnerable.
This also addresses errata on some older ARM CPU cores (that are
classified as unlikely to happen) on some cores that aren't vulnerable to
this particular CVE.
ok jca@, deraadt@
dasel: update to 3.11.1.
## [v3.11.1] - 2026-06-20
### Security
- Fixed stack overflow (unrecoverable `fatal error`) in the JSON and XML readers when parsing deeply nested input ([GHSA-cqxr-jxr2-85pq](https://github.com/TomWright/dasel/security/advisories/GHSA-cqxr-jxr2-85pq)). Both readers now enforce a 10,000-level nesting depth limit and return a clean error (`ErrJSONMaxDepthExceeded` / `ErrXMLMaxDepthExceeded`) instead of crashing the process.
py-pyrate-limiter: update to 4.4.0.
[4.4.0]
Bug-fix, scalability, and internal-refactor release. No public API changes (the new AbstractBucket.is_async attribute is additive).
Fixed
InMemoryBucket: guard the internal item list with a lock so the background Leaker thread can no longer race put/peek/leak. This was a data race in the default configuration (in-memory bucket + scheduled leak). MultiprocessBucket aliases this lock to its shared cross-process lock. (#302)
PostgresClock: when the DB time query fails, fall back to local wall-clock epoch time instead of monotonic time. The monotonic fallback was ~5 orders of magnitude smaller than the stored epoch-ms timestamps and would corrupt every window comparison and leak bound. (#302)
Leaker: make the background sync-leak worker restartable. Re-registering a bucket after every bucket had been disposed previously raised RuntimeError: threads can only be started once. (#302)
Keep Limiter picklable after the InMemoryBucket lock addition. (#302)
Performance & Scalability
Limiter: release the limiter lock during the synchronous blocking wait, so a long wait on one key no longer serializes acquisitions for every other key sharing the limiter. (#304)
RedisBucket: batch weighted ZADDs in bounded chunks inside the atomic Lua script, lowering latency for high-weight puts. (#284)
Internal / Refactor
[57 lines not shown]
Check for errors returned by _asr_unpack_{header,query,rr}
dname_expand() is the main parsing function for DNS labels. Its errors
are propagated via unpack_dname() to _asr_unpack_query() and
_asr_unpack_rr().
Those two functions would also propagate the errors, but they were
then ignored by the callers which would continue parsing invalid DNS
data.
_asr_unpack_header has the same issue but the call chain is shorter.
input & OK deraadt
v0.43.2
Fix: autocomplete Esc handler
Esc now closes the autocomplete popup without leaving Insert mode:
First Esc closes the popup (or the preview panel, if it's open) and keeps you in Insert mode.
Press Esc again to leave Insert mode, as before.