NAS-139388 / 26.04 / Simplify ctdb process management for HA (#18062)
Starting / stopping / reconfiguring ctdbd on an active system is fragile
and can and can trigger asserts in ctdbd if there are dependent services
with active ctdb sessions. Since the configuration is static and relies
on internal interfaces, we can simplify the ctdb process management so
that it always runs on truenas HA.
[RFC][Clang][AMDGPU] Emit only delta target-features to reduce IR bloat (#176533)
Currently, AMDGPU functions have `target-features` attribute populated
with all default features for the target GPU. This is redundant because
the backend can derive these defaults from the `target-cpu` attribute
via `AMDGPUTargetMachine::getFeatureString()`.
In this PR, for AMDGPU targets only:
- Functions without explicit target attributes no longer emit
`target-features`
- Functions with `__attribute__((target(...)))` or `-target-feature`
emit only features that differ from the target's defaults (delta)
The backend already handles missing `target-features` correctly by
falling back to the TargetMachine's defaults.
A new cc1 flag `-famdgpu-emit-full-target-features` is added to emit
full features when needed.
[19 lines not shown]
ktrace: do not enqueue request if the process' ktrioparams are freed
The p_ktrioparms are freed on termination of tracing. Any ktr requests
added to the queue after that would hang there and leak on the struct
proc recycling, or trigger an assert in the process destructor for debug
builds.
Reported and tested by: pho
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D54804
Simplify TDB handle validation
Since NAS-139387 we now have access to the tdb_fd through
the samba python tdb bindings and so we can directly check
whether our handle is still valid.
openssh: Include <fcntl.h> explicitly in includes.h
This was previously included due to nested includes in Heimdal's
headers. Without this, the build fails with an error due to redefining
AT_FDCWD.
clang:
In file included from crypto/openssh/sshd-session.c:46:
/usr/obj/.../tmp/usr/include/fcntl.h:232:9: error: 'AT_FDCWD' macro redefined [-Werror,-Wmacro-redefined]
232 | #define AT_FDCWD -100
| ^
crypto/openssh/openbsd-compat/bsd-misc.h:69:10: note: previous definition is here
69 | # define AT_FDCWD (-2)
| ^
GCC (can't be disabled):
In file included from crypto/openssh/sshd-session.c:46:
[14 lines not shown]
openssh: Don't include an unused EVP_CIPHER_CTX_get_iv() stub
This stub isn't actually used on modern versions of OpenSSL for which
OpenSSH uses EVP_CIPHER_CTX_get_updated_iv instead via a wrapper macro.
However, the wrapper macro conflicted with the existing namespace
macro triggering an error on GCC:
In file included from crypto/openssh/sshd-session.c:65:
crypto/openssh/openbsd-compat/openssl-compat.h:71:11: error: "EVP_CIPHER_CTX_get_iv" redefined [-Werror]
71 | # define EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_get_updated_iv
| ^~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
crypto/openssh/ssh_namespace.h:12:9: note: this is the location of the previous definition
12 | #define EVP_CIPHER_CTX_get_iv Fssh_EVP_CIPHER_CTX_get_iv
| ^~~~~~~~~~~~~~~~~~~~~
The error was masked on clang due to MIT krb5 adding a blanket
-Wno-macro-redefined. Building sshd-session without Kerberos support
[6 lines not shown]
openssh: blocklist: Use NetBSD probes
Use NetBSD probe locations for consistency. We have submitted all
improved or missing probes, keeping them synchronized with NetBSD (our
blocklist upstream) should simplify upgrades and maintenance, as the
locations of these probes are a moving target, depending on upstream
OpenSSH changes.
Additionally, use BLACKLIST_AUTH_FAIL exclusively for now. At the time
of this commit BLACKLIST_BAD_USER, is a no-op. However, it will change
in a future upgrade.
Also, enhance blacklist notification messages for better debugging by
making them more descriptive.
Reviewed by: emaste
Approved by: emaste (mentor)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D52749
[5 lines not shown]
OpenSSH: Update to 10.0p2
Full release notes are available at
https://www.openssh.com/txt/release-10.0
Selected highlights from the release notes:
Potentially-incompatible changes
- This release removes support for the weak DSA signature algorithm.
[This change was previously merged to FreeBSD main.]
- This release has the version number 10.0 and announces itself as
"SSH-2.0-OpenSSH_10.0". Software that naively matches versions using
patterns like "OpenSSH_1*" may be confused by this.
- sshd(8): this release removes the code responsible for the user
authentication phase of the protocol from the per-connection
sshd-session binary to a new sshd-auth binary.
[17 lines not shown]
[OFFLOAD] Add a check before calling dataExchange (#176853)
Per documentation the call to dataExchange API (move memory block
between different devices) is permitted only if isDataExchangable() call
returned true. While almost all platforms support memory transfer
between different devices, in the case when the transfer is attempted
between devices belonging to different platforms if they are present on
the same machine which can lead to unexpected results. This PR adds a
check if dataExchange can be called and if not uses a workaround by
initiating memory transfer through host.
Move Tom Honermann to the inactive maintainers list (#176965)
While reaching out to folks for a maintainers list refresh, Tom asked to
step down due to other commitments. Thank you for all your help!
[Hexagon[ Optimize HVXVectorCombine:Limit Conversion for Unaligned Loads (#176457)
The current implementation of HVXVectorCombine converts unaligned loads
to aligned ones if adjacency is proven. However, this does not account
for the cost of extra loads whether it is amortized or not, leading to
performance regressions in certain cases. This change prevents
performance regressions by avoiding unnecessary conversions for few
numbers of contiguous unaligned loads.
Patch By: Fateme Hosseini
Co-authored-by: Prasoon Mishra <prasmish at hu-prasmish-hyd.qualcomm.com>
Co-authored-by: Prasoon Mishra <prasmish at qti.qualcomm.com>
[CIR] Upstream handling for member pointer bool and reinterpret casts (#175996)
This change upstreams the code to generate CIR for bool casts and
reinterpret casts involving member pointer types and the code to lower
these casts for the Itanium C++ ABI.
[BOLT] Update obsolete test cases of llvm-bolt-binary-analysis
Drop obsolete FIXME and `f_detect_clobbered_x30_passed_to_other` test
case in `gs-pacret-autiasp.s` - checking that LR is trusted before tail
call was implemented long ago (enabled with `--scanners=pauth`).
Furthermore, this particular test case is almost identical to
`bad_direct_tailcall_not_auted` from `gs-pauth-tail-calls.s`.
Drop TODO from `gs-pacret-multi-bb.s`, as currently there are `_nocfg`
test cases in `gs-pacret-autiasp.s`.
Merge `gs-pacret-autiasp.s` and `gs-pacret-multi-bb.s` to `gs-pacret.s`,
as the tests added later place `_nocfg` and `_multi_bb` test cases
into the same file.
[OFFLOAD] Add asynchronous queue query API for libomptarget migration (#172231)
Add liboffload asynchronous queue query API for libomptarget migration
This PR adds liboffload asynchronous queue query API that needed to make
libomptarget to use liboffload
[CIR][X86]Implement handling for shiftleft/shiftright builtins in CIR (#176653)
Related to: #167765
---------
Co-authored-by: Roberto Turrado Camblor <rturrado at gmail.com>