[Instrumentor] Add support for modules and globals (#197535)
We can emit callbacks when a module is loaded/unloaded and before
globals are initialized and "removed". Both happens in newly introduced constructors and destructors.
[AMDGPU] Restore lit() to be accepted as 64-bit FP operand
It is worth to note that immediate value comes already truncated
to this point of validation.
[libc][hdrgen] Extend guard attribute support for types (#191663)
Closes #187404
- Add support for an optional guard attribute on types in hdrgen YAML
input.
- Parse and validate guard from YAML in yaml_to_classes.py, ensuring
guard macros have macro_header in the same YAML file.
- Introduce emit_guard a function that extracts the common logic between
guarded types and guarded functions.
- Add integration tests for both type guarding and function guarding
---------
Co-authored-by: un-pixelated <masterhc321 at gmail.com>
[clang][deps] Consolidate types into new `DependencyConsumer.h` (#197772)
This PR pulls the `DependencyConsumer` type out of
`DependencyScanningWorker.h` into its own header. Just a cleanup, NFC.
[libc][math] Fix UBSan errors from left-shifting negative values (#197747)
Replace left-shift operations on potentially negative exponent values
with mathematically equivalent multiplication to avoid undefined
behavior. When computing exponential functions for inputs that produce
results less than 1, the exponent 'hi' can be negative (e.g., -2 for
exp(-1.0) ≈ 0.368). Left-shifting negative values is undefined behavior
in C++.
Fixed in:
- exp.h: 3 instances
- exp2.h: 3 instances
- exp10.h: 3 instances
- expm1.h: 2 instances
- exp_utils.h: 1 instance (hi + 1022 can be negative)
Exposed by 2b2a63819f9f.
Co-Authored-By: Claude Sonnet 4.5 <noreply at anthropic.com>
[3 lines not shown]
[Clang][AArch64] Add missing lvalue-to-rvalue conversions for MTE built-ins (#197621)
This patch adds missing lvalue-to-rvalue conversions for the second
argument of `__builtin_arm_irg()` and both arguments of
`__builtin_arm_gmi()`.
nuageinit: fix command injection and related issues
- Add shell_escape() helper to safely escape shell arguments
- Apply shell_escape to all user-controlled values in shell commands:
adduser (usershow, useradd, lock, primary_group, groups)
addgroup (groupshow, groupadd, members)
exec_change_password (usermod)
settimezone (tzsetup root and timezone)
install_package (pkg package names)
- Escape double quotes in hostname when writing rc.conf.d/hostname
- Add missing 'local' declaration for resolvconf_command in nameservers()
- Escape interface name in resolvconf -a command
- Change open_resolvconf_conf() from 'w' to 'a' mode to prevent
data loss when nameservers() is called multiple times
- Clean up stale resolvconf.conf at the start of each boot
(skip on postnet to preserve config written by first call)
Approved by: re (cperciva)
MFC After: 1 day
[3 lines not shown]
Make "make update-packages" idempotent
If the user runs "make update-packages" without bumping BRANCH, then it
isn't possible to copy packages from the old location to the new one
(because the two locations are the same). So just skip that step.
Approved by: re (cperciva)
Sponsored by: ConnectWise
PR: 295085
Reviewed by: ivy, emaste
Differential Revision: https://reviews.freebsd.org/D56872
(cherry picked from commit bd1e789b8452a8c2f166a3b4defb95330c71dadd)
(cherry picked from commit 89a0148521aefe0a190d4b62749186c705962d32)
Fix LOCAL_PEERCRED in 32-bit compat mode
Previously the cr_pid field would be incorrectly copied to userland, due
to a size mismatch between the structure as defined in 32-bit vs 64-bit
builds. Fix it by converting the structure before copying it to
userland.
Approved by: re (cperciva)
PR: 294833
Sponsored by: ConnectWise
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D56675
(cherry picked from commit 1d24638d3e8875e4b99a4b5e39f4241e37221b3d)
(cherry picked from commit 3298d82ea34059354dc1ff1a60d8b7d3e495c2cd)
pkg-stage.sh: Add ext2 and ntfs
Having these packages available on release media may help users who
need to sneakernet other packages (e.g. firmware) from systems running
Linux or Windows.
Approved by: re (cperciva)
Suggested by: vladlen, ziaee
MFC after: 3 days
(cherry picked from commit 6881fd278d80ac63b4d511fc130a79ff16d1bb48)
(cherry picked from commit 01d5910b8766671afdbd9e274fd62b397aca9e1a)
release/tools: use same pkg settings in containers as in /etc/pkg/FreeBSD.conf
Instructions in /etc/pkg/FreeBSD.conf and elsewhere recommend putting
changes in /usr/local/etc/pkg/repos/FreeBSD.conf so bring OCI containers
into line as well.
Reviewed by: dfr, ivy
Differential Revision: https://reviews.freebsd.org/D54090
Approved by: re (cperciva)
MFC after: 5 days
Sponsored by: SkunkWerks, GmbH
(cherry picked from commit c73ae67348998a0056145e88debbea9ff6860c4f)
(cherry picked from commit d889f6c466d4cec73c34bc71093d08b25e321071)
bsdinstall: do pkgbase installations with the "script" command
"bsdinstall script" will now do a pkgbase installation by default. The
system components to install can be specified in the COMPONENTS
variable, and have the same names as those used in the interactive
installer. bsdinstall will still do a legacy distset installation if
DISTRIBUTIONS is defined in the installerconfig file.
Approved by: re (cperciva)
PR: 290375
Sponsored by: ConnectWise
Reviewed by: ziaee, ivy, jduran
Differential Revision: https://reviews.freebsd.org/D56717
(cherry picked from commit dc14ae4217a0babb1240f813b642edc2d7b955a6)
(cherry picked from commit 1f5869130f6ebd299e65a627eff23a8c3d360afb)
krb5: Fix two NegoEx parsing vulnerabilities
Bring in upstream commit 2e75f0d93 fixing two CVEs. Upstream commit
log is:
In parse_nego_message(), check the result of the second call to
vector_base() before dereferencing it. In parse_message(), check for
a short header_len to prevent an integer underflow when calculating
the remaining message length.
Reported by Cem Onat Karagun.
CVE-2026-40355:
In MIT krb5 release 1.18 and later, if an application calls
gss_accept_sec_context() on a system with a NegoEx mechanism
registered in /etc/gss/mech, an unauthenticated remote attacker can
trigger a null pointer dereference, causing the process to terminate.
[13 lines not shown]
dsl_bookmark: fix redaction list refcount tag when upgrading spill
rl_bonus and rl_dbuf are expected to have the same hold tag if they are
different. If the spill hold is taken after the redaction_list_t was
created and the bonus hold was taken, it must also be taken with the
same tag. Fortunately, we have it right here, so we can just use it.
Sponsored-by: TrueNAS
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18536
ddt_log: fix refcount tag between ddt_log_begin & ddt_log_commit
We have to hold and release the dbuf array with the same tag. Since the
caller provides the ddt_log_update_t and is managing its lifetime, and
the begin/commit calls must be matched, it's quite reasonable to its
pointer as the refcount tag.
Sponsored-by: TrueNAS
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18536
zap: fix refcount tag use in zap_lookup_length_uint64 and zap_prefetch_uint64
The same tag must be used for zap_lockdir() and zap_unlockdir(), so we have
to follow the pattern used elsewhere: pass the tag used for
zap_lockdir() through to the _impl(), so it can use it for
zap_unlockdir().
Sponsored-by: TrueNAS
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18536
OpenSSH: Update to 10.3p1
Full release notes are available at
https://www.openssh.com/txt/release-10.3
Selected highlights from the release notes:
* ssh(1), sshd(8): remove bug compatibility for implementations
that don't support rekeying. If such an implementation tries to
interoperate with OpenSSH, it will now eventually fail when the
transport needs rekeying.
* ssh(1), sshd(8): support IANA-assigned codepoints for SSH agent
forwarding, as per draft-ietf-sshm-ssh-agent. Support for the new
names is advertised via the EXT_INFO message. If a server offers
support for the new names, then they are used preferentially.
* ssh(1): add a ~I escape option that shows information about the
current SSH connection.
[10 lines not shown]
[clang][deps] Expose the tracing VFS directly (#197775)
This adds new `DependencyScanningWorker::getTracingVFS()` API that
allows direct access to the tracing VFS, if present. This replaces the
call to `vfs::FileSystem::visit()` in clang-scan-deps. This will allow
removing `DependencyScanningWorker::getVFS()` and simplifying VFS
overlay handling in a follow-up PR.