[CIR] Allow _setjmp and _setjmpex to fall through to library calls (#193021)
This change allows calls to _setjmp and _setjmpex to fall through the
builtin handling and be emitted as library calls when we are not
targeting OSMSVCRT. It also adds the code to set "returns_twice" on
functions matching an explicit list, as they are in classic codegen.
[dsymutil] Add --embed-resource to copy files into dSYM bundles. (#190663)
Add a new --embed-resource flag that copies files or directories into
the dSYM bundle's Contents/Resources/ directory during generation.
Projects often need to embed files such as LLDB Python scripts into dSYM
bundles, and this is usually done with a post dsym generation script,
which may race stripping and code signing steps.
rdar://50633614
[llvm-nm] Drop STT_FILE/STT_SECTION from --special-syms (#192129)
The filter for SF_FormatSpecific symbols exempted all such symbols
for architectures having mapping symbols. This caused STT_FILE and
STT_SECTION symbols to appear with --special-syms on these targets
but not on x86_64. Narrow the exemption to only STT_NOTYPE symbols,
which are the actual mapping symbols ($d, $x, etc.).
[HLSL] Add codegen for accessing resource members of a struct (#187127)
Any expression that accesses a resource or resource array member of a global struct instance must be during codegen replaced by an access of the corresponding implicit global resource variable.
When codegen encounters a `MemberExpr` of a resource type, it traverses the AST to locate the parent struct declaration, building the expected global resource variable name along the way. If the parent declaration
is a non-static global struct instance, codegen searches its `HLSLAssociatedResourceDeclAttr` attributes to locate the matching global resource variable and then generates IR code to access the resource global in place of the member access.
Fixes #182989
dmu_direct: avoid UAF in dmu_write_direct_done()
dmu_write_direct_done() passes dmu_sync_arg_t to
dmu_sync_done(), which updates the override state and
frees the completion context. The Direct I/O error path
then still dereferences dsa->dsa_tx while rolling the
dirty record back with dbuf_undirty(), resulting in a
use-after-free.
Save dsa->dsa_tx in a local variable before calling
dmu_sync_done() and use that saved tx for the error
rollback. This preserves the existing ownership model
for dsa and does not change the Direct I/O write
semantics.
Reviewed-by: Brian Atkinson <batkinson at lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Co-authored-by: gality369 <gality369 at example.com>
Signed-off-by: ZhengYuan Huang <gality369 at gmail.com>
Closes #18440
[clang] Disable some module tests on AIX (#193008)
PR https://github.com/llvm/llvm-project/pull/190062 makes two module
tests fail on AIX. Disable them on that platform until we get to the
bottom of it.
initramfs: fix incorrect variable rename
Fixes regression introduced by 61ab032ae0391bce38aef1e43b5b930724ecdb55.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Signed-off-by: Joel Low <joel at joelsplace.sg>
Closes #18442
initramfs: fix use of renamed variables
Fixes regression introduced by 33dd57e1b4997c0e78e42bf340b2eed5ea954f64.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Signed-off-by: Joel Low <joel at joelsplace.sg>
Closes #18442
[mlir][MemRef][GPU] Migrate GPU dialect ops to IndexedAccessOpInterface (#190380)
This commit migrates the handling of GPU dialect ops in
fold-memref-alias-ops from hard-coded support to the new
IndexedAccessOphinterface, which also adds expand_shape folding support
for those ops.
Once other memref-dialect passes are migrated to use this interface,
this will allow us to break the dependency between the memref and gpu
dialects.
ctld: Return from the inner "main" loop on EINTR
This ensures that child processes are reaped in the outer loop in
main().
PR: 294035
Reviewed by: asomers
Fixes: 66b107e82b2f ("ctld: Use kevent(2) for socket events rather than select(2)")
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D56525
nvmf_che: Don't leak a socket if an error occurs finalizing the socket
If soreserve() or sosetopt() (to set TCP_NODELAY) fails after claiming
the socket from the file descriptor, explicitly close the socket
before returning failure.
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D55493
security/zeek: Update to 8.0.7
https://github.com/zeek/zeek/releases/tag/v8.0.7
This release fixes the following potential DoS vulnerabilities:
- A series of DNS messages containing long DNS compression chains
can cause Zeek to spend a long time processing packets and
potentially crash. Due to the fact that these packets can be
received from remote hosts, this is a DoS risk.
- A specially-crafted LDAP search request can cause Zeek to spend
a long time processing the packet, resulting in Zeek silently
dropping the LDAP analyzer for the connection. Due to the fact
that these packets can be received from remote hosts, this is
an evasion risk.
- A specially-crafted series of ASN.1 messages in LDAP packets can
cause Zeek to spend a long time processing the packets, resulting
[25 lines not shown]
libzfs: report invalid permission name in zfs allow
zfs allow with a typo (e.g. "snapshop") produced the misleading
error "operation not applicable to datasets of this type". Report
"invalid permission" instead.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18401
Closes #11903
security/vuxml: Mark security/zeek < 8.0.7 as vulnerable as per:
https://github.com/zeek/zeek/releases/tag/v8.0.7
This release fixes the following potential DoS vulnerabilities:
- A series of DNS messages containing long DNS compression chains
can cause Zeek to spend a long time processing packets and
potentially crash. Due to the fact that these packets can be
received from remote hosts, this is a DoS risk.
- A specially-crafted LDAP search request can cause Zeek to spend
a long time processing the packet, resulting in Zeek silently
dropping the LDAP analyzer for the connection. Due to the fact
that these packets can be received from remote hosts, this is
an evasion risk.
- A specially-crafted series of ASN.1 messages in LDAP packets can
cause Zeek to spend a long time processing the packets, resulting
[5 lines not shown]
[flang][cuda] Only apply the implicit data attribute on the component for use_device (#192146)
For interoperability between CUDA Fortran and OpenACC, the OpenACC
host_data use_device clause needs implicitly add the DEVICE attribute to
the object symbol for the duration of the region. When the object was a
component, we were adding the symbol to the base which is not what we
want.
Update the handling to copy the base symbol with a new DerivedTypeScope
and set the attribute on the component. New test is added to test the
behavior is indeed on the component.
Option to control signaling NaN support
This change implements the Clang command-line option `-fsignaling-nans`,
which is a counterpart of the GCC option with the same name. It allows a
user to control support for signaling NaNs. This option instructs the
compiler that signaling NaNs are to be treated according to IEEE 754:
they are quieted in arithmetic operations and raise `Invalid`
floating-point exception. The opposite option, `-fno-signaling-nans`,
does the reverse, - it indicates that signaling NaNs are handled
identically to quiet NaNs. If neither of these options is specified, no
signaling NaNs support is assumed, except for functions that have
`strictfp` attribute.
At the IR level, signaling NaN support is represented by the function
attribute "signaling-nans". It is set by Clang when it generates code in
cases when signaling NaNs are supported. If the target architecture does
not support signaling NaNs, Clang does not set this attribute.
The primary motivation for this change is the optimization of strictfp
[11 lines not shown]
zpool-labelclear.8: Warn that it's destructive
If I could go back in time, I would beg Sun engineers to pick a
different name. For those of us who have not read the ZFS On-Disk
Specification pdf, it is not at all obvious that clearing a "label" is
such a bad thing.
But changing the name would be a breaking change, so at least for now
we can update the documentation.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Shelvacu <git at shelvacu.com>
Closes #18347
libzfs: report permission error from umount helper
Non-root callers got "unmount failed" when ZFS_MOUNT_HELPER was set
because /bin/umount's exit status doesn't preserve errno. Map a
non-zero helper exit to EPERM when geteuid() != 0 so the user sees
"permission denied".
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #11740
Closes #18443
geom_part: Restore the human readable format of size
Prior to the change 4f809ffec69c, the sizes are formated by
humanize_number(3) with the flag HN_DECIMAL, which displays the result
using one decimal place when it is less than 10. That is more accurate
and useful. Add equivalent field modifier hn-decimal to xo_emit() to
restore the previous behavior.
Reported by: Mark Millard
Reviewed by: js
Fixes: 4f809ffec69c gpart: add libxo support for "show" subcommand + man page updates
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56514
[mlir][CSE] Pre-process trivially dead ops (NFC) (#191135)
This PR avoids calling `simplifyRegion` on dead region ops.
`simplifyRegion` attempts to perform CSE optimization on the ops within
the region, which is unnecessary for ops that are already trivially
dead.