sysutils/zellij: import package
Packaged in wip by ci4ic4 (with the aid of Claude Code). bsiegert and myself.
Zellij is a terminal workspace. It has the base functionality of a terminal
multiplexer (similar to tmux or screen) but includes many built-in features
that would allow users to extend it and create their own personalized
environment.
[AllocToken] Propagate !alloc_token through inlined allocation wrappers (#198535)
Simple inline allocation wrappers have been preventing AllocToken
coverage for such callsites. Instead of converting such inline wrappers
to macros, we can support covering standard allocation calls in inline
allocation wrappers when inlined.
When an allocation wrapper with malloc/alloc_size attributes is inlined,
propagate its call-site !alloc_token onto return-value producing calls
exposed by inlining, so the late AllocToken pass assigns the correct
type-derived token even in default (non-extended) mode.
Propagation is restricted to calls producing the return-value(s) that
the wrapper actually returns. This keeps unrelated calls in the wrapper
body unchanged, which matters under -fsanitize-alloc-token-extended,
where any !alloc_token-carrying call is instrumented.
misc/tailspin: update to 6.1.0
Added
--extras jvm-stack-trace highlights JVM stack traces (Java, Kotlin, Scala, etc.)
TAILSPIN_EXTRAS environment variable to set extras without the --extras flag
Performance
Cache ANSI style prefixes in a thread-local, avoiding per-line allocation in the render pipeline
Fixed
Theme parse and read errors now include the path of the offending file
Reject unknown fields in theme.toml so they surface as errors instead of being silently ignored
--exec no longer tears down the pager the moment the spawned subprocess exits
Kill the pager when tailspin exits due to a stream error, instead of leaving it orphaned
Overriding builtin keywords in theme.toml should always take precedence over the builtin
ones (#267)
[MLIR][XeGPU] Avoid chained-reductions in multi_reduction unrolling (#198307)
The PR adds a new unrolling pattern for `vector.multi_reduction` to the
`xegpu-blocking` pass. In comparison with [the upstream reduction
unrolling](https://github.com/llvm/llvm-project/blob/2da84a8307e4ef729458d990b221650a5da22639/mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp#L372),
the new pattern performs partial row-wise reductions via elementwise
ops, instead of generating a chain of several multi-reduction ops:
```mlir
// reduction to unroll:
// tile-shape: [8x16]
vector.multi_reduction <add> %vec, %cst : vector<8x48xf32> to vector<8xf32>
// upstream unrolling:
%3 = vector.multi_reduction <add>, %tile_0, %cst [1] : vector<8x16xf32> to vector<8xf32>
%4 = vector.multi_reduction <add>, %tile_1, %3 [1] : vector<8x16xf32> to vector<8xf32>
%5 = vector.multi_reduction <add>, %tile_2, %4 [1] : vector<8x16xf32> to vector<8xf32>
// new xegpu-unrolling
%3 = arith.addf %tile_0, %tile_1 : vector<8x16xf32>
[6 lines not shown]
Use clearer semantics on how rde_generate_updates is called.
Adjust prefix_evaluate and prefix_evaluate_nexthop so that
rde_generate_updates() is only called with a few options.
Either new is valid or old is valid. If both are invalid then
there is no need to call rde_generate_updates(). If both are
valid only new matters and old_pathid_tx is set to 0.
In prefix_evaluate() most calls are with either new or old set to NULL.
If both are set then new->path_id_tx == old->path_id_tx.
In prefix_evaluate_nexthop() if old was valid then new becomes invalid
but if old was invalid new may still be invalid.
OK tb@
devel/libvhdi: Fix build when NLS option is disabled
The libvhdi autoconf macros add -I/usr/local/include to AM_CPPFLAGS as a side
effect of processing --with-libintl-prefix=/usr/local.
When NLS is enabled, the port passes that argument and the global include path
is set correctly, making <fuse/fuse.h> resolvable.
When NLS is disabled, --disable-nls is passed instead, the include path is
never set, and the FUSE compilation fails.
PR: 295440
Approved by: antoine
Sponsored by: Netflix
Respect RTR min-version in the implicit downgrade path and release
activity lock when closing the connection.
Check min_version in the implict downgrade case and error out if the
suggested version is too low. Also trigger the RTR_EVNT_NEGOTIATION_DONE
event only after parsing all of the header. If the PDU was bad don't
trigger this event.
In the rtr_fsm() when closing a connection check the state of the
active_lock and if the lock is held, reset the cache, release the lock and
recalculate the sets. The internal state is corrupt if a connection error
triggerd during an exchange so it makes no sense to carry a bad cache
around.
OK tb@
NAS-141095 / 26.0.0-RC.1 / Sweep orphaned container runtime mounts at startup (by Qubad786) (#18978)
## Context
The most recent `truenas_pylibvirt` change
([truenas/truenas_pylibvirt#49](https://github.com/truenas/truenas_pylibvirt/pull/49))
fixed a regression where an unprivileged container (`ISOLATED` idmap)
with a `FilesystemDevice` whose source is a parent ZFS dataset with
auto-mounted child datasets failed to start with `EINVAL` during
`MS_BIND` — libvirt-LXC's hard-coded non-recursive bind hits the locked
submounts produced by ZFS auto-mounts in the less-privileged user
namespace. The fix stages the source via `open_tree()` →
`mount_setattr(MS_SLAVE, AT_RECURSIVE)` → `move_mount()` before libvirt
sees it, rewriting the source to
`/run/truenas_containers/devices/<uuid>/<slug>`. It also introduces
`DomainManagers.reconcile_runtime_state()` for sweeping orphaned runtime
state, which the middleware must call once at process startup.
This PR wires that startup hook into middleware and adds end-to-end
[5 lines not shown]
kern_umtx.c: remove dead code
It was a placeholder for the access control for process-shared umtx
memory, which is not needed.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D57122