[MLIR][XeGPU] Fixing PR179016 minor issues (#180295)
Fix two issues brough by PR179016:
1. unused variable if build the option with
"DLLVM_ENABLE_ASSERTIONS=OFF"
2. Recover modification to recoverTemporaryLayouts() brought by
PR176737. Unintentionally lost during the merging process.
[clang] Canonicalizing `-include-pch` input in the Frontend (#180065)
This patch adds logic to canonicalize `-include-pch`'s input in the
frontend. This way, the `ASTWriter` always serializes the canonicalized
path to the included pch file whether the input is an absolute path or a
relative path.
Fixes rdar://168596546.
kernel - Fix serious root vulnerabilities in the caps code
* The caps code was inadvertently allowing many root-only operations
to be run from user mode, particularly mount/umount ops by assuming
a root creds check that was not taking place in some of the API
calls, but was taking place in others.
* All API calls now check root creds by default unless passed the
appropriate flag.
Found-by: ivadasz (Imre Vadasz)
[LifetimeSafety] Treat std::unique_ptr::release() as a move operation (#180230)
Add support for `std::unique_ptr::release()` in lifetime analysis to
avoid false positives when ownership is manually transferred via
`release()`.
- Added a new function `isUniquePtrRelease()` to detect when
`std::unique_ptr::release()` is called
- Modified `handleInvalidatingCall()` to mark the unique_ptr as moved
when release() is called
When manually transferring ownership using `std::unique_ptr::release()`,
the lifetime analysis would previously generate false positive
use-after-free warnings. This change treats `release()` as a move
operation, correctly modeling the ownership transfer semantics and
reducing false positives in code that manually manages ownership.
kernel - Fix overflow in alist and blist code
* This code tracks swap space and large blocks of contiguous DMA memory.
* Fix overflows in array size calculations that did not take into
account terminator entries.
(a) Remove terminals from alists entirely.
(b) Account for space used by the terminator in blists.
Found-by: tuxillo / AI
[Clang] Mark this pointer in destructors dead_on_return (#166276)
This helps to clean up any dead stores that come up at the end of the
destructor. The motivating example was a refactoring in libc++'s
basic_string implementation in 8dae17be2991cd7f0d7fd9aa5aecd064520a14f6
that added a zeroing store into the destructor, causing a large
performance regression on an internal workload. We also saw a ~0.2%
performance increase on an internal server workload when enabling this.
I also tested this against all of the non-flaky tests in our large C++
codebase and found a minimal number of issues that all happened to be in
user code.
NAS-138844 / 26.0.0-BETA.1 / Add logger for the audit handler. (#18122)
This is infrastructure on which the audit handler will depend.
A companion audit handler PR, in the truenas/audit_rules repo, of the
same branch name will follow.
emacs30: redundant Emacs.pdmp removed from macosx Applications dir
emacs30 fails to build on macosx with pkgsrc error:
pkg_create: can't stat `.../pkgsrc/editors/emacs30/work/.destdir/usr/local/pkg/Applications/Emacs.app/Contents/MacOS/libexec/Emacs.pdmp'
and
The following files are in the PLIST but not in ... (cites Emacs.pdmp)
This is due to an upstream change from emacs29 to emacs30. In a
non-self contained install you do not need Contents/MacOS/libexec/Emacs.pdmp
in the Applications directory because emacs uses the one installed
in the libexec directory. i.e. the one referenced in the main PLIST
file herek libexec/emacs/${PKGVERSION}/${MACHINE_GNU_PLATFORM}/emacs.pdmp
This file is no longer present in emacs30.
So we can safely remove references to:
[6 lines not shown]
[MLIR][Python] Remove partial LLVM APIs in python bindings (4/n) (#180256)
This PR continues work from #178290
It replaces some LLVM utilities with straightforward `std::`
equivalents.
[SPIRV] Fix APInt overflow in memset constant array creation (#180189)
In getOrCreateConstIntArray(), the cache UniqueKey encoded the array
size (Num) using the array element type (e.g. i8 for memset). Since Num
is a size_t that can exceed 255, this caused an APInt overflow when Num
> 255. Use i64 for Num in the UniqueKey.
[SPIRV] Fix alignment overflow in memory intrinsics (#180184)
Per SPIR-V spec alignment is 32-bit integer, so it should be encoded as
i8 in the intrinsics'
def.
security/erlang-fast_tls: Update to 1.1.25
# Version 1.1.25
* Fix compilation issues on illumos
# Version 1.1.24
* Updating p1_utils to version 1.0.28.
* Add option to accept client certificates that don't have sslclient purpose
# Version 1.1.23
* Updating p1_utils to version 1.0.27.
/net/erlang-esip: Update to 1.0.59
# Version 1.0.59
* Updating stun to version 1.2.21.
* Updating fast_tls to version 1.1.25.
# Version 1.0.58
* Updating fast_tls to version 1.1.24.
* Updating stun to version 1.2.20.
* Updating p1_utils to version 1.0.28.