if_gre(4): Fix gre_clone_dump_nl address dump
Fix stack overflow by passing in_aliasreq instead of ifr
during netlink dump.
Fixes: e1e18cc12e68 ("if_gre: Add netlink support with tests")
[CIR] Add some missing NYIs for WeakRefAttr/AliasAttr (#194913)
I found these while poking through something else, we should make sure
these don't get lost, particularly as alias has some significant
functionality.
NAS-140845 / 27.0.0-BETA.1 / Make `pool.is_upgraded` return `false` only if pool needs an upgrade (#18848)
Making `pool.is_upgraded` return `false` for non-existing pools makes
ZFS event handler create false `pool is not upgraded` alerts on pool
removal. `test_outdated_pool_alert_removed_on_pool_delete` test fails.
`ZfsConfigSyncEvent` for removed pool arrives after
`ZfsPoolDestroyEvent`. That provokes `pool.is_upgraded` call for the
pool, which, with old logic, returns `false` (as the pool does not exist
anymore) and a false alert is created.
The best fix performance-wise is to just pass the exception from
`pool.is_upgraded`. There are no external callers for this API, and all
the internal callers are now guarded with `try`/`except` block.
As there are no external callers, let's remove this method from public
API in `27`.
NAS-140496 / 27.0.0-BETA.1 / fix shell for alpine containers (#18789)
Opening a shell from the UI into an Alpine-based container failed with:
```
nsenter: failed to execute capsh: No such file or directory
```
The UI then reconnected in a tight loop, occasionally taking the whole
session offline. Debian/Ubuntu containers were unaffected.
`container.nsenter` built the command:
```
/usr/bin/nsenter --target PID --mount ... -- capsh [opts] -- -c <cmd>
```
`nsenter` switches into the container's mount namespace **before**
exec'ing `capsh`, so `capsh` was looked up inside the container's
[24 lines not shown]
[SandboxVec][SeedCollector] Change vector bit width calculation (#194090)
On GPUs `TTI::getRegisterBitWidth(TargetTransformInfo::RGK_FixedWidthVector()` returns the element bit width, not the whole vector size as it does on the CPU. So this patch changes this to a call to `getLoadStoreVecRegBitWidth()`, which depends on the address space, so it also moves the calculation per seed.
This patch also adds an AMDGPU lit test directory with a simple test.
NAS-140496 / 27.0.0-BETA.1 / fix shell for alpine containers (#18789)
Opening a shell from the UI into an Alpine-based container failed with:
```
nsenter: failed to execute capsh: No such file or directory
```
The UI then reconnected in a tight loop, occasionally taking the whole
session offline. Debian/Ubuntu containers were unaffected.
### Root cause
`container.nsenter` built the command:
```
/usr/bin/nsenter --target PID --mount ... -- capsh [opts] -- -c <cmd>
```
[27 lines not shown]
md5: Encode non-printable filenames
Encode filenames in the VIS_CSTYLE | VIS_OCTAL style regardless of
output mode. When reading filenames from a checksum file, attempt to
decode them, and use the decoded name unless the decoded name does not
exist but the undecoded one does.
This breaks compatibility with GNU coreutils, which unfortunately uses
a non-reversible encoding when outputting filenames containing
non-printable characters.
While here, drop a sentence about preimage attacks against MD5 and SHA1
from the manual page, as I no longer trust it to be true.
MFC after: 1 week
Reviewed by: bcr, markj
Differential Revision: https://reviews.freebsd.org/D56615
Remove middleware filesystem copy utils
This commit replaces usage of utils.filesystem.copy with
implementation provided by truenas/truenas_pyos repo.
This commit also dates vm utils to use our atomic_write
helper (with new noclobber option).
[WebAssembly] Remove exception deferring in CFGSort (NFC) (#194905)
This logic was added in
https://github.com/llvm/llvm-project/commit/ea8c6375e3330f181105106b3adb84ff9fa76a7c
(and extended to support multiple srcs in
https://github.com/llvm/llvm-project/commit/aa097ef8d474c925e4fbe0efcaad253266c2fd6f).
But as in the case of #191495, we don't need this logic anymore after
#130374. The reason is the same as #130374, but in this PR's context, in
the deleted comments,
> there can be cases in which, for example:
> EHPad A's unwind destination (where the exception lands when it is not
caught by EHPad A) is EHPad B, so EHPad B does not belong to the
exception dominated by EHPad A. But EHPad B is dominated by EHPad A, so
EHPad B can be sorted within EHPad A's exception.
This can't happen anymore, because if an invoke BB throws, and EHPad A
is the first unwind destination, and EHPad B is the next unwind
[6 lines not shown]
Add middleware support for LIO ALUA HA
Wire up the middleware side of LIO ALUA high-availability: load
lio_ha.ko with per-node addresses on service start, manage the
4-row ALUA state table (MASTER/BACKUP × synced/not-synced) across
failover events, clean up STANDBY configfs on pool export, and
add pre-flight validation that targets have static initiator ACLs
before ALUA can be enabled.
sysutils/iocage: fix "make test"
* Add some missing TEST_DEPENDS
* Since we have no port for pytest-pep8, patch the port to remove that
from the test function.
Sponsored by: ConnectWise
Approved by: grembo (maintainer)
Differential Revision: https://reviews.freebsd.org/D56713
[Clang] allow GNU attrs before bit-field width in member declarators (#185322)
Fixes #184954
---
This PR fixes the parsing of member bit-field declarators by allowing
GNU attributes between the declarator and the bit-field width.
```cpp
struct S {
int x __attribute__((packed)) : 4;
};
```
[clang][deps] Value-compare buffers in the in-process module cache (#194888)
The `MemoryBufferRef::operator==()` function performs pointer comparison
instead of value comparison. This means that the assertion in
`InProcessModuleCache` always fires if there's a race between two
producers of a PCM. This PR makes sure to value-compare the contained
`StringRef` buffers.
Revert "[CodeGen] Temporary disable the unreachable" (#194720)
This reverts commit 7dc644fc463a8f42f54d63a99c3a4579df2c3859.
This code path is only used in implementations of
`emitZeroCallUsedRegs()`, it is not required for all platforms that use
stack protectors.
[Offload] Clean up and split Shared/Utils.h (#194876)
Summary:
This is used in the GPU portion of the build, but really shouldn't be.
Most of these helpers were only used by the GPU portion, which has much
nicer builtins available in new clang. Using these in the main offload
build is broken on Windows and not available on older compilers, so we
split. Also means one less header we share.
The alignment helpers are trivially replaced by an LLVM utility, the
only thing that remains are the pointer arithmetic functions. There's no
conveient place to put these so I just let them stay.