[SSAF][PointerFlow] Properly declare functions in header (#223390)
In a GCC build, this fixes some warnings of the following kind:
clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp:15:1: warning: ‘clang::ssaf::PointerFlowEntitySummary clang::ssaf::buildPointerFlowEntitySummary(EdgeSet)’ has not been declared within ‘clang::ssaf’
15 | ssaf::buildPointerFlowEntitySummary(EdgeSet Edges) {
| ^~~~
In file included from clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp:9:
clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h:29:35: note: only here as a ‘friend’
29 | friend PointerFlowEntitySummary buildPointerFlowEntitySummary(EdgeSet Edges);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixed by centralizing the function declarations in the header, which
also removes the duplication across multiple files/tests.
sysutils/mirador: update to 1.13.1
(leaf pkg)
1.13.1 - 2026-09-15
Fixed
The clock's border offers h. 1.13.0 put the 12-hour key only in the ? overlay, so a clock with room to spare never showed it. It is now on the border and the status bar, after Shift+↑↓ move and before d remove, as h 12/24h. At the default width the border is unchanged; h appears as soon as the clock is wide enough for it.
1.13.0 - 2026-09-15
Added
A 12-hour clock (#265). h switches the clock panel between 24- and 12-hour, and the choice is remembered; [clocks].twelve_hour = true sets it in the config. The default stays 24-hour. AM or PM sits small at the top right of the numerals, over the seconds, and the zone table follows: its time_format is converted to 12-hour with your padding kept. With 12-hour off, time_format is used as written, as before.
Fixed
A 12-hour zone row keeps its day marker. A time_format with AM or PM in it, such as %I:%M:%S %p, was cut to … where the +1d belongs; the table now makes room for it.
A task's note preview says when it has been cut. A note longer than the two-row preview lost its later rows with nothing to show it, so the seeded overdue task's note ended a sentence early and looked complete. The last visible row now ends in ….
The watch log's empty state reads as a sentence. "which f on the agenda panel sets" was missing a word; it now says that pressing f on the agenda panel sets [agenda].file.
[13 lines not shown]
Mk: fix checksum/fetch/makesum with large distfiles set
When a port has a very large set of DISTFILES, makesum/fetch dies with
an obscure message such as:
> /tmp/makeQEBorT: /usr/bin/env: Argument list too long
The interface from make(1) to sh(1) passes the list of MASTER_SITES and
DISTFILES as arguments on the command line. At one point, it reaches
ARG_MAX and fails with the previous message. This changes the interface
to use temporary files in WRKDIR.
PR: 295029
Differential Revision: https://reviews.freebsd.org/D59475
[compiler-rt] Factor HSA layer into common helpers (#223532)
Summary:
This factors the UBSan HSA layer into a common layer so it can be
re-used for other sanitizers. The primary goal is to provide the
simplified interface into HSA (discovery, allocation, copying) and
manage the state that all sanitizers will need (RPC and symbolization).
This is intended as an NFC refactoring.
[APFloat][Perf] Improve FP literal parsing speed and stack usage (#221701)
Rewrite APFloat decimal conversion to reduce stack use and speed up
floating-point literal parsing.
On an `llvm-as` test of 100k randomized half/float/double/fp128 global
constants, assembly time fell from 666 ms to 551 ms (17.3%) and peak
stack use fell from 25,912 B to 6,640 B (74.4%).
To achieve these results, there are several optimizations:
- Precomputing the powers-of-five factors, replacing a 1,205-word
runtime workspace with a 601-word constant table sufficient to construct
powers through 5^16383.
- Replacing the two fixed 600-word stack-based scratch/destination
buffers with SmallVectors that are dynamically sized based on the input,
drastically reducing stack usage.
- These SmallVectors allow for 16 64-bit words to be stored on the stack
(enough to cover ordinary f16/f32 inputs, which only need 2-6 words),
and larger doubles and fp128s get allocated on the heap instead.
Assisted-by: gpt-5.6-terra
databases/mysql_config_editor: new port
Stock MySQL distribution includes mysql_config_editor utility
that can convert my.cnf-like text file with passwords
to binary obfuscated format storing AES-encrypted original data
with corresponding encryption key, so other utilities
could decrypt it to use passwords non-interactively.
However, this dialog-based utility does not perform batch mode
conversion nor will it de-obfuscate passwords.
This python script can generate same binary files non-interactively
and it can show passwords from such files.
NAS-143841 / 27.0.0-BETA.1 / Run the unit tests against a single middlewared tree (#19765)
## Problem
`tests/run_unit_tests.py` copied the checkout's `middlewared/pytest`
into the installed package so that dotted imports like
`middlewared.pytest.unit.entitlements` would resolve, then collected the
tests from the checkout anyway. Test modules were loaded by path from
the checkout while everything they imported came from
`/usr/lib/python3/dist-packages`. The alert applicability tests decide
whether an alert class is product code or a test fixture by where its
file lives, so the three fixtures in `test_lifecycle.py` were counted as
product declarations and the frozen inventory no longer described the
tree, failing the `unit_tests` pipeline
(http://jenkins-eng-ci.cmb1.ixsystems.net:8080/job/master/job/unit_tests/355/).
The copy was also removed afterwards, and since the deb ships
`middlewared/pytest`, every run left the installed package missing files
it is supposed to have.
## Solution
[15 lines not shown]
NAS-143385 / 26.0.0 / Create `IncusVirtualMachinesWereNotMigratedAlert` if there still are some Incus VM datasets (by themylogin) (#19768)
Additionally, `maybe_migrate_legacy` was removed from the private API
because no one calls it.
Original PR: https://github.com/truenas/middleware/pull/19680
Co-authored-by: themylogin <themylogin at gmail.com>
[HIP] Remove old LLVM test suite option spelling (#223943)
After a series of refactorings, we can remove the now obsolete option
spelling for the HIP kokkos tests.
[SDAG] Add scalable vector support to WidenVecOp_CONCAT_VECTORS (#219146)
This fixes a crash when lowering:
```
; llc -mattr=+sve crash.ll
define <vscale x 2 x float> @interleave2_nxv2f32(<vscale x 1 x float> %vec0, <vscale x 1 x float> %vec1) {
%retval = call <vscale x 2 x float> @llvm.vector.interleave2.nxv2f32(<vscale x 1 x float> %vec0, <vscale x 1 x float> %vec1)
ret <vscale x 2 x float> %retval
}
```
---------
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>
relayd: Explicitly flush redirect rules after reloading
If a config update disabled a redirect, the corresponding NAT rule was
not getting flushed. This is because the F_ACTIVE_RULESET flag does not
get preserved across reloads, so pfe_sync() doesn't know to disable the
rule. Update init_tables() to handle this.
Backport of FreeBSD relayd commit (Marius Halden <mhalden X entersekt X com>),
Reported by Mark Johnston <markj X freebsd X org>
OK kirill@
bootgrid: only schedule dimension changes after data processing, window resizing and table visibility changes
The height recalculation scheduled on renderComplete was too aggressive,
since Tabulator emits that event while virtual rows are rendered during scrolling.
Also prevent setHeight() from running mid-scroll at all times.
This commit fixes the visual glitch of resetting scroll positions introduced
by https://github.com/opnsense/core/commit/050f3c8277
(cherry picked from commit 6e3cda346c858d0b070b77439bdd322d6a0db7c1)
[AArch64] Fix load latency costs without a usable scheduling class (#223416)
#201567 made AArch64TTIImpl::getMemoryOpCost query the scheduling model
for the latency of loads, but that information isn't always available:
* CPUs without a scheduling model (carmel, which uses NoSchedModel) call
getSchedClassDesc on a null table. This asserts with "No scheduling
machine model" and segfaults in release builds. It is reachable from
SelectionDAGBuilder::shouldKeepJumpConditionsTogether when compiling
functions with target-cpu=carmel.
* Invalid scheduling classes (integer loads on oryon-1, and LDR_ZXI on
the models without SVE when +sve is enabled) give a latency of 0 for
single loads and very large latencies for loads split into several.
* Variant scheduling classes (FP/vector loads on c1-nano, c1-premium and
c1-ultra) can't be resolved without an instruction and give the same
bogus values.
In these cases fall back to the default load latency of the scheduling
model, using the same formula as the fixed load latency path. CPUs whose
scheduling model describes the loads are unaffected.
acpi: Increase length of time (1s -> 5s) for quirk
The ACPI quirk on Framework Laptop 12 firmware was previously clocked
at ~620 ms for a Notify 0x80 replayed on power-button press to wake.
However, when KMS is not loaded, that very same notification comes in
past the 1s we previously allowed.
Use the already-defined ACPI_MINIMUM_AWAKETIME (5) seconds as our new
boundary so that we can successfully come out of S3 on this hardware.
Introduce new tunable hw.acpi.button_replay_window
Reviewed by: obiwac, olce
Differential Revision: https://reviews.freebsd.org/D59583
[lldb][debugserver] Expedite the memory ranges lldb read most recently (#223417)
The rationale of this change is that if user/ide/lldb reads memory on
some address, it more likely to read them again in next stop. If
debugserver expedites the memory of recent reads in public stop, lldb
won't send memory read packet to read them again. Those addresses are
already known when the previous stop ends.
Expedite up to 16 memory ranges (at most 512 bytes each) read by `m`,
`x`, and `MultiMemRead` in `jThreadsInfo` for the stopped thread, and
advertise `ExpediteRecentReads+` via `qSupported`. Re-reading a range
moves it to the newest slot, and the ring is cleared on exec.
The gain is large in three use cases:
- TLS variables. `DynamicLoaderDarwin::GetThreadLocalData` reads the TLS
thunk and then calls its `get_addr` in the target, and each such call
surfaces as a public stop, in `ProcessEventData::DoOnRemoval`. lldb
clears its memory cache at every stop, so the thunk and its data block
were read again at each one. Three `frame variable tls_var tls_double`
[14 lines not shown]
[CIR][NFC] Cleanup unhandled NYI in atomic libcall codegen (#223732)
This patch cleans up the unhandled NYIs in the CIRGen path for atomic
operation library calls. This patch should be NFC.
[offload] Fix minor memory manager alignment bugs (#223979)
The alignment handling introduced in #218418 left three minor issues:
- Adding alignment padding could overflow size_t, potentially turning an
excessive allocation (most feasibly caused by erroneous caller-side
underflow) into a small one.
- struct_mapping_with_pointers.cpp still expected the old allocation log
format.
- When the memory manager was disabled, GenericDeviceTy::dataAlloc() did
not verify that the device allocator returned a suitably aligned
pointer.
This patch:
- Checks for overflow before calculating the padded allocation size.
- Updates the log checks to accept the requested and padded sizes.
(Worth considering: should these checks even exist?)
- Validates alignment on the direct device-allocation path. A misaligned
allocation is freed and reported as unsupported. (A cleanup patch will
[5 lines not shown]
www/nginx*: Security update to 1.30.5 and 1.31.6
Changes with nginx 1.30.5 15 Sep 2026
*) Security: a heap memory buffer overflow might occur in a worker
process under certain configurations when using HTTP/3 with OpenSSL
3.5.0 and earlier (CVE-2026-90439).
Thanks to Banny Liao.
*) Change: now the QUIC transport parameters extension received in an
SSL connection is always ignored.
Changes with nginx 1.31.6 15 Sep 2026
*) Security: a heap memory buffer overflow might occur in a worker
process under certain configurations when using HTTP/3 with OpenSSL
3.5.0 and earlier (CVE-2026-90439).
Thanks to Banny Liao.
[20 lines not shown]