[LifetimeSafety] Introduce buildOriginFlowChain to use-after-invalidation (#208891)
After completing the implementation of `buildOriginFlowChain`, we should
integrate it into the remaining diagnostics. I started with
`use-after-invalidation` because there is already an overload of
`buildOriginFlowChain` for `UseFact`.
While testing, I noticed the following diagnostics:
```txt
test.cpp:9:23: note: result of call to 'begin<std::vector<int>>' aliases the storage of parameter 'v'
9 | auto it = std::find(std::begin(v), std::end(v), 3); // expected-warning {{parameter 'v' is later invalidated}} \
| ^~~~~~~~~~~~~
test.cpp:9:13: note: result of call to 'find<__gnu_cxx::__normal_iterator<int *, std::vector<int>>, int>' aliases the storage of parameter 'v'
9 | auto it = std::find(std::begin(v), std::end(v), 3); // expected-warning {{parameter 'v' is later invalidated}} \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
I think these diagnostics could be made clearer, but I'd prefer to
[4 lines not shown]
[CIR][AMDGPU] Add support for AMDGCN sin builtins (#197784)
Adds codegen for the following AMDGCN sin builtins:
- __builtin_amdgcn_sinf (float)
- __builtin_amdgcn_sinh (half)
- __builtin_amdgcn_sin_bf16 (bfloat16)
These are lowered to the corresponding `llvm.amdgcn.sin` intrinsic.
[OFFLOAD][L0][NFC] Cleanup dead code (#210060)
As we have done several refactorings lately, some dead code/data was
left behind inadvertedly. This is just cleaning it up.
[NFC][test][AliasSet] Canonicalise memset.ll's overload suffices (#210059)
The second overload suffix here corresponds to the type of the length,
the third argument, which is an i64 not an i32. Canonicalise this to
avoid confusion from inconsistency.
Whilst here, fix the whitespace used to align the arguments in the
intrinsic declarations, a remnant of losing the two characters in "i8"
when migrating to opaque pointers.
Fixes: 9f0916129024 ("[AST] Add test coverage of memsets")
Fixes: ac924305793c ("[AliasSet] Convert tests to opaque pointers
(NFC)")
nd6: Add router address and DHCPv6-PD flags in PIO headers
Make R-bit per RFC 6275 8.3 and P-bit per RFC 9762 7.1 in
Prefix Information option available to userland for future implementations.
RFC 9762 7.1: For each interface, the client MUST keep a list of every prefix
that was received from a PIO with the P flag set and currently has a non-zero
preferred lifetime.
Differential Revision: https://reviews.freebsd.org/D56207
NAS-141804 / 27.0.0-BETA.1 / Fix pool disk operations crash when disk is missing at pool import (by yocalebo) (#19338)
When a leaf vdev cannot be opened during pool import, the kernel marks
it ZPOOL_CONFIG_NOT_PRESENT and libzfs degrades its display name to the
bare guid instead of a device path. pool.transform_topology derives
`path` from that name, so the vdev ends up with `path: None`, and
pool.find_disk_from_topology crashed with AttributeError on
`c['path'].replace(...)` before it could match the vdev by guid. This
broke pool.replace (and detach/offline/online/remove) for exactly the
disks that most need replacing (physically failed ones).
- find_disk_from_topology: match by guid first and only touch `path`
when it is set.
- detach/offline/online/remove: tolerate `path: None` in the
label_to_disk lookup and audit messages (fall back to the vdev guid,
matching zpool status display).
- ZPoolVdev API model: add nullable `path` field for the upcoming
truenas_pylibzfs
[change](https://github.com/truenas/truenas_pylibzfs/pull/270) that
[10 lines not shown]
NAS-141804 / 26.0.0-RC.1 / Fix pool disk operations crash when disk is missing at pool import (#19337)
When a leaf vdev cannot be opened during pool import, the kernel marks
it ZPOOL_CONFIG_NOT_PRESENT and libzfs degrades its display name to the
bare guid instead of a device path. pool.transform_topology derives
`path` from that name, so the vdev ends up with `path: None`, and
pool.find_disk_from_topology crashed with AttributeError on
`c['path'].replace(...)` before it could match the vdev by guid. This
broke pool.replace (and detach/offline/online/remove) for exactly the
disks that most need replacing (physically failed ones).
- find_disk_from_topology: match by guid first and only touch `path`
when it is set.
- detach/offline/online/remove: tolerate `path: None` in the
label_to_disk lookup and audit messages (fall back to the vdev guid,
matching zpool status display).
- ZPoolVdev API model: add nullable `path` field for the upcoming
truenas_pylibzfs
[change](https://github.com/truenas/truenas_pylibzfs/pull/270) that
[4 lines not shown]
www/firefox: Update to 152.0.6
* WebGL does not work. webgl.out-of-process workaround was removed.
Disable WebGL by default.
Cnangelog:
152.0.6:
New
* Smart Window includes several enhancements:
Fixed
* Fixed an issue that prevented email tracking protection from being disabled
in the redesigned Firefox Settings. (Bug 2049331)
* Fixed a hang that could occur after using a file picker dialog on macOS 26.
(Bug 2053177)
* Fixed the homepage not loading for some enterprise configurations that set
[189 lines not shown]
Update elinks-dev to v0.19.1
Issue numbers mentioned found here: <https://github.com/rkd77/elinks/issues/>
- 0.19.1
- compilation fixes for Ruby scripting #410
- Disable poll on macOS < 10.6
- bookmarks xbel did not restore positions. #415
- use after free in forms code
- NULL dereference in iframes code (crash at github) #418
- Add action move-cursor-line-end. #416
- bool option document.browse.wrap. #420
- bool options ui.clipboard.remove_leading_spaces and ui.clipboard.remove_trailing_spaces #416
- Serbian translation update
- fix in gopher #421
- 0.19.0
- print progress of curl http uploads
- do not load js scripts if ecmascript is disabled by disallow.txt or allow.txt
- 0.19.0rc1
[29 lines not shown]
py-gitpython: updated to 3.1.52
3.1.52
A security fix for
https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-rwj8-pgh3-r573.
3.1.51
This is primarily a security release. It prevents additional argument-injection
paths that could allow execution of arbitrary commands or writing to arbitrary
files through unsafe Git options (GHSA-956x-8gvw-wg5v), and closes bypasses of
the existing protections using abbreviated long options or joined short options
(GHSA-2f96-g7mh-g2hx).
The release also improves support for relative worktree paths and diffs against
the empty tree, preserves stderr from failed diff processes, supports relative
configuration include paths, and includes assorted documentation, typing, test,
and CI improvements.
Fix pool disk operations crash when disk is missing at pool import
When a leaf vdev cannot be opened during pool import, the kernel marks
it ZPOOL_CONFIG_NOT_PRESENT and libzfs degrades its display name to the
bare guid instead of a device path. pool.transform_topology derives
`path` from that name, so the vdev ends up with `path: None`, and
pool.find_disk_from_topology crashed with AttributeError on
`c['path'].replace(...)` before it could match the vdev by guid. This
broke pool.replace (and detach/offline/online/remove) for exactly the
disks that most need replacing: physically failed ones.
- find_disk_from_topology: match by guid first and only touch `path`
when it is set.
- detach/offline/online/remove: tolerate `path: None` in the
label_to_disk lookup and audit messages (fall back to the vdev guid,
matching zpool status display).
- ZPoolVdev API model: add nullable `path` field for the upcoming
truenas_pylibzfs change that exposes the raw ZPOOL_CONFIG_PATH
(which is preserved for missing devices). Defaults to null, so it is
[3 lines not shown]
When a leaf vdev cannot be opened during pool import, the kernel marks
it ZPOOL_CONFIG_NOT_PRESENT and libzfs degrades its display name to the
bare guid instead of a device path. pool.transform_topology derives
`path` from that name, so the vdev ends up with `path: None`, and
pool.find_disk_from_topology crashed with AttributeError on
`c['path'].replace(...)` before it could match the vdev by guid. This
broke pool.replace (and detach/offline/online/remove) for exactly the
disks that most need replacing: physically failed ones.
- find_disk_from_topology: match by guid first and only touch `path`
when it is set.
- detach/offline/online/remove: tolerate `path: None` in the
label_to_disk lookup and audit messages (fall back to the vdev guid,
matching zpool status display).
- ZPoolVdev API model: add nullable `path` field for the upcoming
truenas_pylibzfs change that exposes the raw ZPOOL_CONFIG_PATH
(which is preserved for missing devices). Defaults to null, so it is
compatible with both old and new pylibzfs.
- Add unit tests for find_disk_from_topology covering the
missing-disk (path=None) regression.
Fix netstat(1) man page and options.
Use switch -v to avoid IPv6 address truncation everywhere. Remove
special meaning of -l for IPv6 multicast routing table. Fix
combination of options in usage. Clarify man page.
input and OK claudio@
[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).