UPDATING: note login-name validation in pw(8)/pwd_mkdb(8)
An existing master.passwd with a login name containing a now-disallowed
charater will make pwd_mkdb(8) fail until the name is fixed, which blocks
passwd(1), chpass(1) and pw(8). Warn users to audit their accounts
befroe updating.
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D61507
DAG: Use shl of any_extend to place the sign bit when folding bitcast of fcopysign (#242581)
When the sign operand is narrower than the result, only its sign bit is
used. Move it into place with a shift of an any_extend instead of a
sign_extend.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Mips: Use inline register class syntax in MIR tests (#242451)
Also clean up unnecessary registers sections.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[CodeGen] Declare -mtune and --save-stats in TableGen (#242586)
Move them into CodeGenToolOptions and remove codegen::RegisterMTuneFlag
and codegen::RegisterSaveStatsFlag. opt and llc use them while other
tools passing codegen::getToolOptions now accept and ignore them.
LLM-aided
[libc][math] Add integer-only implementation for exp10f. (#237009)
- Add `src/__support/math/exp10f_integer_eval.h` using the shared
`exp2_eval` and fixed-point utilities from `exp2f_integer_utils.h`.
- Select `exp10f_integer_eval` in `src/__support/math/exp10f.h` when
`!defined(LIBC_TARGET_CPU_HAS_FPU_DOUBLE) &&
defined(LIBC_MATH_HAS_ASSUME_ROUND_NEAREST_ONLY) &&
defined(LIBC_MATH_HAS_NO_EXCEPT) && defined(LIBC_MATH_HAS_NO_ERRNO)`.
- Expose `exp10f` with explicit rounding mode parameter under
`LIBC_NAMESPACE::shared::static_rounding`.
- Add smoke, unit, exhaustive, and shared math test coverage for
`exp10f_integer_eval` and `static_rounding::exp10f`.
Assisted-by: Gemini is used for code size analysis, performance tuning,
and test refactoring.
kernel - Fix in6_pcbsetlport() panic
* An assertion is issued after lport is modulo-incremented but
before checking to see if the loop has exhausted.
This can result in a field overflow causing the assertion to
fail.
* Fix by moving the assertion to the correct place.
kernel - Fix in6_pcbsetlport() panic
* An assertion is issued after lport is modulo-incremented but
before checking to see if the loop has exhausted.
This can result in a field overflow causing the assertion to
fail.
* Fix by moving the assertion to the correct place.
18665 Update to tzdata 2026f
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at oxide.computer>
Merge tag 'ovl-fixes-7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs
Pull overlayfs fixes from Amir Goldstein:
- Fixes for data-only layers (composefs), some for regressions from
v6.16, which relaxed the requirements for redirects to data-only
layers
- Fix a use-after-free in lookup of a hardlink with a FUSE upper,
reported by Sashiko
- Fix a mount failure right after unmount of an overlay with the same
upperdir
- Reject lower layers on the same fs with different idmaps, which could
decode file handles through the wrong layer
- Minor fixes for a memory leak, an error message and readdir d_ino
[13 lines not shown]
sched_ule: Fix rare deadlock on stealing a migrated lock-blocked thread
Thread stealing ultimately happens in tdq_move() which, while holding
the locks of the source and destination runqueues, has to wait for the
stolen thread to be lock-unblocked. If it is indeed lock-blocked, the
corresponding sched_switch_migrate() needs to re-acquire the lock of the
runqueue of the CPU it is running on before being able to lock-unblock
it. This amounts to adding a "hidden" and variable additional
lock-ordering dependency between the 'struct tdq' locks held by
tdq_move() and that of an arbitray third 'struct tdq', possibly
violating the ordering established by tdq_lock_pair(). In that case,
other steals occurring in parallel and involving the same queues can
deadlock the scheduler.
Fix that by having sched_switch_migrate() hold its current CPU's
runqueue's lock in addition to the remote CPU's before the migrated
thread can appear on the remote runqueue, so that it does not have to
re-acquire the former, removing the "hidden" lock-ordering dependency.
[127 lines not shown]
sched_ule: tdq_move(): INVARIANTS: Remove a superfluous assertion
That the lock of the stolen thread is the same as the source runqueue is
already checked by sched_rem().
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
sched_ule: sched_rem(): Use THREAD_LOCKPTR_ASSERT() instead of MPASS()
This gives a better message.
While here, add some empty lines to make INVARIANTS-only statements
stand out for better readability.
No functional change.
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
proc.h: Order thread_lock*() functions more logically
Also matches the implementation order in 'kern_mutex.c'.
No functional change.
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
sched_ule: tdq_add(): INVARIANTS: Add check, fix name in assertion strings
Change the assertion on the to-add thread's lock so that it also fails
if the thread's lock is not that of the 'tdq' (the checks that it is
lock-unblocked and locked remain).
It is tempting to add another check that the thread's 'ts_cpu'
corresponds to the passed runqueue (in other words, that it has been set
correctly), but that requires to add a call to thread_lock_block_wait()
which should not be present in non-debug code, and that may prevent some
races from happening on INVARIANTS, so I gave up on it.
Fix the function name in assertion strings, as sched_add() is not the
only (direct or indirect) caller of tdq_add().
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
sched_ule: Document fields of 'struct runq_steal_pred_data'
While here, re-order them to have inputs before outputs.
No functional change.
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Merge tag 'ntfs-for-7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs
Pull ntfs fixes from Namjae Jeon:
- Validate that $INDEX_ALLOCATION is open and non-resident before
reading or writing index blocks, preventing NULL pointer dereferences
when an earlier index operation has not opened it
- Check that index allocation inodes are non-resident and child VCNs
are non-negative and within bounds before directory lookup reads,
preventing a deadlock when $INDEX_ALLOCATION is missing or damaged
- Validate file names against the index entry's key length, preventing
out-of-bounds reads when directory enumeration resumes using a copied
key
- Return -ENOENT for NTFS_IOC_LIST_STREAMS on deleted base files and
fix unsigned underflow in its buffer bounds check, preventing
out-of-bounds writes when the sizing and filling passes disagree
[11 lines not shown]
geom: Check file flags before handling control request
Pass fflag down to g_ctl_req() and:
* Refuse all requests unless fflag has the FREAD bit set
* Refuse all but getxml unless fflag also has the FWRITE bit set
This should allow us to restore read access to /dev/geom.ctl for group
operator; they will then be able to run `gpart list` or `gpart backup`
but not commands that actually modify the table.
For backward compatibility, we set the FWRITE bit if it is not already
set and the calling thread has the PRIV_GEOM privilege, which is
automatically granted to a jailed or unjailed superuser. This should
cover the case of older binaries (which open /dev/geom.ctl read-only)
running as root on a newer kernel. Since we intend to merge this to
stable/15, the compatibility code is conditional on COMPAT_FREEBSD14.
[4 lines not shown]
libgeom: Open the control device read-write
Try to open the control device read-write first, and fall back to
read-only if that fails and the error is EACCES. This prepares us for a
future in which GEOM requires write access to execute verbs that modify
the configuration.
MFC after: 1 week
Event: EuroBSDCon 2026 DevSummit
Reviewed by: imp, markj, emaste
Differential Revision: https://reviews.freebsd.org/D59592
Merge tag 'ksmbd-for-7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb
Pull smb server fixes from Namjae Jeon:
- Evaluate explicit-access requests in DACL order with exact SID
matching, and prevent guest and anonymous sessions from matching
Authenticated Users
- Apply Unix group and OWNER RIGHTS ACEs, and keep their denials when
POSIX ACL fallback determines access
- Allow the parent directory’s DACL to grant explicitly requested
DELETE and FILE_READ_ATTRIBUTES through FILE_DELETE_CHILD and
FILE_LIST_DIRECTORY
- Exclude metadata-only file and stream opens from sharing conflicts
and stream delete-sharing checks, while accounting for writes implied
by overwrites and named-stream creation
[20 lines not shown]
mail/stalwart-migrate: Add enterprise flavor
Replace the ENTERPRISE option with two flavors: "default"
(stalwart-migrate, unchanged) and "enterprise"
(stalwart-migrate-enterprise).
PR: 300616
mail/stalwart016: Fix fetch of the OpenTelemetry fork
Stalwart 0.16.27 pins OpenTelemetry to commit ae66e97b of the
stalwartlabs/opentelemetry-rust fork, which upstream has deleted, so
the distfile can no longer be fetched. The commit is still available
from the parent repository open-telemetry/opentelemetry-rust, and the
tarball is byte-identical (same SHA256 and size).
PR: 300642
acpi_pci_link: Ignore tunables with negative values
IRQ values are unsigned and negative values do not make sense. The
invalid IRQ value (255) is already ignored, so ignoring other invalid
values is consistent with that behavior.
Reported by: cperciva