mvc: create runInterfaceRegistation and use it from all required spots
1. Fix the stale cache after applying new interfaces/devices in existing paths
2. Allow to call it from controllers who do not use invokeInterfaceRegistration()
Needs to be patched into Device apply/reconfigures next.
interfaces: patch runInterfaceRegistration() into device applies
Note that configure should run before registration in order to pick up
additional runtime information in the assignment list cache (if applicable).
authpf(8) read_config() should chop off trailing white space
if administrator mistakenly types into configuration file
anchor=authpf_test
where 'authpf_test' is followed by white space, the authpf(8)
is going to use anchor 'authpf_test ' instead of the 'authpf_test'
which is defined in pf.conf(5) as 'anchor authpf_test/*'
issue kindly reported and patch submitted by
Avinash Duduskar <avinash.duduskar (_at_) gmail (_dot_) com>
OK sashan@
PR: 296958
MFC after: 1 week
Obtained from: OpenBSD, sashan <sashan at openbsd.org>, 2d12a8e44d
Sponsored by: Rubicon Communications, LLC ("Netgate")
[AMDGPU] Make libc build backwards compatible (triple)
https://github.com/llvm/llvm-project/pull/210032 updated the triple but
did not introduce backwards compatibility, leading to, e.g., failing
check-offload tests due to missing libc.
Thread Safety Analysis: Don't warn at joins that re-branch on a try-lock result (#209796)
Previously, when the result of a try-lock call is branched on more than
once, the paths between the branches would disagree on whether the
capability is held while remaining consistent at each branch. The analysis
then gave a false positive warning at the intermediate join:
mutex 'lock' is not held on every path through here
Create getTerminatorTrylockCall() helper from getEdgeLockset(); if the terminator
of a block branches on the result of a call to a try_acquire_capability-function
(perhaps negated or stored in a local variable), this helper returns that call and
its callee.
Use this new helper in getTerminatorTrylockCaps(), which will return the
capabilities acquired by a trylock; feed these capabilites to intersectAndWarn()
during a branch join, in order to avoid false positives.
Soundness is preserved because intersectAndWarn() still removes the
[7 lines not shown]
interfaces: permit a vlan device as bridge member, resolve VLAN devices indirectly via interfaces_configure() (#10584)
* interfaces: permit a vlan device as bridge member
* interfaces: resolve VLAN devices indirectly via interfaces_configure()
This also adds device creation for parents so that we ca naturally
resolve QinQ and VLANs on bridges.
---------
Co-authored-by: Franco Fichtner <franco at opnsense.org>
[SDAG] Specify unsigned compares for loop.dependence.{war|raw} masks (#197437)
Previously, the LangRef was ambiguous about the sign of comparisons used
to create the loop dependence masks. This resulted in the expansion not
following the intended semantics for extreme inputs.
For example, %ptrA = 0, %ptrB = UINT_MAX, should result in a (RAW) mask
with all lanes active. However, previously we'd do ``(%elementSize *
lane) < abs(%ptrB - %ptrA)``, which due to incorrectly using signed
arithmetic would result in a mask with a single lane active as
``abs(%ptrB - %ptrA)`` resulted in 1, not `UINT_MAX`. In other words,
``abs(%ptrB - %ptrA)`` should be ``unsigned-absolute-difference(%ptrA,
%ptrB)``.
Follow up to #188248.
[lldb] Add array decaying (#210918)
In C, an array name in an expression "decays" into a pointer to its
first element. LLDB did not honor this: commands like `memory read
my_array` did not work correctly, because an aggregate type has no
scalar value, so trying to obtain one (ResolveValue/GetValueAsUnsigned)
failed.
This MR adds explicit array decay: for array-typed expressions, the
address of the array object itself is used instead of its (non-existent)
scalar value.
mvc: create runInterfaceRegistation and use it from all required spots
1. Fix the stale cache after applying new interfaces/devices in existing paths
2. Allow to call it from controllers who do not use invokeInterfaceRegistration()
Needs to be patched into Device apply/reconfigures next.
NAS-141885 / 27.0.0-BETA.1 / Depend on websockify explicitly for SPICE display (#19365)
## Problem
VMs with a SPICE display device shell out to the `websockify` binary at
runtime (truenas_pylibvirt's display device runs `websockify --web
/usr/share/spice-html5/ ...` to proxy the console to the web UI). We
never declared that dependency though — websockify only got installed as
a transitive `Recommends:` of `spice-html5`. Once truenas_build disabled
`install_recommends` by default, the `truenas` package started
installing with `--no-install-recommends`, so websockify silently
stopped being pulled in and SPICE consoles broke.
## Solution
Add `websockify` to middlewared's `Depends`. It's a genuine hard runtime
dependency of the SPICE path, so declaring it explicitly makes it come
in regardless of the build's recommends setting and keeps us correct
even if spice-html5's packaging changes.
[RFC][AMDGPU] Add BARRIER address space
Add a new BARRIER address space that is used for global variables that are used to represent the barrier IDs in GFX12.5.
These barrier addresses just have values corresponding 1-1 to barrier IDs. They are still implemented on top of LDS, but the offsetting happens during an addrspacecast to generic, not whenever the barrier GV is used.
The motivation for this is to make the relation between LDS and barrier GVs explicit in the compiler. It does add a bit more complexity, but that complexity was already there, just hidden by pretending barrier GVs were actual LDS.
[AMDGPU] Add synthetic apertures and use them for barriers
Define what a synthetic aperture is, and adjust the barrier AS
to use this new system. This makes the barrier AS even safer to
use as now we can use all 32 bits of it without ever risking
hitting a valid address of any kind (LDS or outside LDS).