Commit Graph
313897 Commits
Author SHA1 Message Date
R. Christian McDonald dece5b05f5 makefs/zfs: Allow the autotrim pool property to be set
Add an "autotrim" option taking "on" or "off". The value is stored in
the pool properties object alongside "bootfs", so the imported pool
starts trimming freed space automatically without a separate
"zpool set" step. When the option is omitted nothing is written and
the pool keeps the default ("off"), exactly as before.

A string option is used rather than makefs's boolean option type since
the latter ignores its value, which would make "autotrim=off" enable
the feature.

Define the spa_autotrim_t enumeration in the boot zfsimpl.h, copied
from OpenZFS's sys/spa.h, so that makefs can refer to SPA_AUTOTRIM_OFF
and SPA_AUTOTRIM_ON by name. The loader does not use it.

Document the option in makefs(8) and add a regression test.

Reviewed by:		markj
MFC after:		1 week
Sponsored by:		Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D60420
2026-10-07 10:57:40 -04:00
Mark Johnston fa6fe034a7 inotify.2: Add some entries to the BUGS section
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2026-10-07 14:55:57 +00:00
Mark Johnston c2ac0db715 devfs: Explicitly disable inotify
In principle, inotify can be used to leak timing information about I/O
device accesses by privileged process, which might be sensitive, e.g.,
in the case of /dev/input.  See https://inoti.fyi/#1-linux-inter-keystroke-timing

In practice this does not work since I/O to devfs nodes does not go
through vnodes, so the INOTIFY() calls in various VOP hooks do not fire.
But, let's explicitly define a no-op VOP_INOTIFY to help ensure that no
one tries to "fix" this bug.

Alternately we could simply ignore VCHR/VBLK vnodes in vn_inotify().
However, maybe someday it'll be desirable to enable inotify for specific
device files, in which case the filtering should live in devfs.

Add a regression test.

Reported by:	Sudheendra Raghav Neela <[email protected]>
Reviewed by:	kib
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D60364
2026-10-07 14:55:57 +00:00
Ed Maste 3ba592cfea makefs: Correct style(9) nit from a recent change
Fixes: b9811d1357 ("cd9660: merge level 1 and 2 filename conversion")
2026-10-07 10:53:53 -04:00
Mateusz Piotrowski b6a573aa77 dwatch(1): Use mdo(1) instead of sudo(8) when configured
Reviewed by:	dteske, olce
Approved by:	christos (mentor)
MFC after:	1 week
Sponsored by:	fme AG
Differential Revision:	https://reviews.freebsd.org/D60408
2026-10-07 16:43:49 +02:00
Alan Cox 7dd9a8125f arm64: a local TLB invalidation suffices when enabling write access
When a PTE logically supports write access, as indicated by its DBM
field, but write access is nonetheless blocked by the PTE's protection
field, pmap_fault() can enable write access with only a local TLB
invalidation.

Reviewed by:	andrew, kib, markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D60417
2026-10-07 09:22:57 -05:00
Baptiste Daroussin 0f1ca95d77 dhclient-script: store the Captive Portal URI
Write the URI received in DHCP option 114 to
/var/run/captive-portal.IFACE atomically, with the legacy option 160 as
a fallback, and remove the file on EXPIRE and FAIL.

Reviewed by:	bcr (manpage)
Differential Revision:	https://reviews.freebsd.org/D60259
2026-10-07 16:07:09 +02:00
Baptiste Daroussin 7ba7285593 dhclient: export the Captive Portal URI to the script
Differential Revision=	https://reviews.freebsd.org/D60259
2026-10-07 16:07:09 +02:00
Baptiste Daroussin afee6fb209 dhclient: request the Captive Portal options
Add DHCP options 114 (captive-portal) and 160 (captive-portal-legacy)
to the default Parameter Request List so that servers advertise the
Captive Portal API URI.

Approved by:		emaste
Reviewed by:		emaste
Differential Revision:	https://reviews.freebsd.org/D60257
2026-10-07 16:07:09 +02:00
Baptiste Daroussin a1789e345d dhclient: recognize the Captive Portal DHCP options
Rename option 114 from "url" to "captive-portal" (RFC 8910) and retain
"url" as a deprecated alias.  Rename option 160 from the generic
"option-160" to "captive-portal-legacy" (RFC 7710).

Reviewed by:	emaste, dch
Apprived by:	emaste, dch
Differential Revision:	https://reviews.freebsd.org/D60256
2026-10-07 16:07:08 +02:00
Jasper Tran O'Leary 67f85bf4b3 gve: fix double free on ring allocation failure
When gve_alloc_rings fails (such as when failing to acquire MSI-X
vectors or during partial ring allocation), ring cleanup can be
executed multiple times across nested error paths (e.g. within
gve_alloc_rings abort and gve_attach abort).

Because gve_free_counters invoked counter_u64_free without nullifying
the pointer in the stats array, repeated invocation caused a double-free
panic when freeing the same counter references.

Check for non-NULL before freeing and nullify each counter pointer
upon release in gve_free_counters.

Signed-off-by: Jasper Tran O'Leary <[email protected]>

Reviewed by:	adrian, markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D60386
2026-10-07 13:29:46 +00:00
Jasper Tran O'Leary d45b063c06 gve: fix kernel panic on attach failure
When device initialization fails during attach (for instance, if device
resource configuration or firmware negotiation fails), the driver aborts
and unrolls partial state via its detach routine. However, the teardown
path assumes transmit and receive queues have already been created. If
attach aborts before queue allocation, tearing down the uninitialized
queues triggers a NULL pointer dereference and panics the kernel during
boot.

Guard queue teardown against uninitialized queue state so that early
attach failures unwind safely, allowing the driver to report the failure
gracefully without crashing the operating system.

Signed-off-by: Jasper Tran O'Leary <[email protected]>

Reviewed by:	adrian, markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D60385
2026-10-07 13:29:40 +00:00
Mark Johnston a23901a37b linux: Initialize per-VNET state earlier
Make sure that linux_ifnet_departure() can't run after
linux_ifnet_vnet_uninit() has destroyed the per-VNET unit number
allocator.  Otherwise, when ifc_detach_cloner() destroys instances of an
interface type, it might be running too late.  Most cloner-based drivers
tear themselves down during SI_SUB_PSEUDO or SI_SUB_PROTO_IF.

Reviewed by:	pouria, glebius
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D60389
2026-10-07 13:28:28 +00:00
Mark Johnston 5c20c75b67 epair: Make vnet_epair_uninit() run earlier
I can't see a reason for vnet_epair_init() and vnet_epair_uninit() to be
inconsistent in the sys(un)init run order.  Move vnet_epair_uninit() to
SI_SUB_PSEUDO, which is more appropriate for software ifnet drivers.

Reviewed by:	glebius
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D60388
2026-10-07 13:28:28 +00:00
Boris Lytochkin bd369bc7c2 committers-src: Add lytboris mentored by ae@
Reviewed by:    ae
Approved by:    ae (mentor)
2026-10-07 14:23:33 +03:00
Olivier Certner b6d10a9624 sched.h: Include <sys/pcpu.h> unconditionally
Even if SCHED_STATS is not defined, this header is necessary to provide
a definition of 'curthread' used in sched_pin() and sched_unpin().

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
2026-10-07 10:41:49 +02:00
Christos Margiolis 25faf86108 pcm.4: Remove DIAGNOSTICS section
These diagnostics do not exist anymore.

MFC after:	1 week
2026-10-07 09:03:31 +02:00
Olivier Cochard 139fa2c12d routing: fix rtentry use-after-free in multipath route append
add_route_flags() drops the RIB lock and passes the existing entry,
rt_orig, to add_route_flags_mpath(). If a concurrent delete removes
the prefix in that window, the retry re-inserts rt_orig, which is
then freed while still linked, crashing later in rn_match().

Pass the new rt instead, return ENOENT when the prefix is gone and
RTM_F_CREATE is not set, and fix the rnd_orig NULL check.

Approved by:	pouria
Fixes:		c24a8f19c5 ("routing: fix rib_add_route_px()")
Differential Revision:	https://reviews.freebsd.org/D60353
2026-10-07 06:16:33 +02:00
Olivier Cochard a6a864080c tests/netinet6: fix ndp_del_gu_success flakiness
The test pinged an unanswered address and then deleted the resulting
INCOMPLETE neighbor entry.
The kernel frees that entry after about 3s, so on a loaded VM,
ndp -d could run too late and fail with ENOENT.

Configure 2001:db8::2 on epair0b so the ping gets a reply and the
entry becomes REACHABLE.

Approved by:	pouria
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D60348
2026-10-07 06:07:17 +02:00
J. David 77a7a48a1c nfscl: Fix oddball cases for session slot release
We have identified some cases where silent slot loss can occur
when operations on NFS mounts are aborted. We experience this
when using NFSv4.2, but it likely also occurs with NFSv4.1.

A slot is acquired for compound operations by nfsv4_setsequence()
and freed by newnfs_request(). Any call path that abandons the
compound before reaching newnfs_request() loses the slot permanently.

We identified four call sites where this happens, one of
which where it actually does happen for us in a semi-reproducible
way, which allowed us to develop a candidate patch, attached.

The patch adds one function, nfsv4_freeunsentslot(), to
nfs_clcomsubs.c. It is called from each of the four call
sites: nfsrpc_writerpc(), nfsrpc_writeds(), and two in
nfsrpc_setextattr().

nfsv4_freeunsentslot() calls nfsv4_freeslot() with resetseq
set to true because the aborted RPC will never be sent and
therefore the slot sequence ID should not advance.

With this patch and other diagnostics, we have confirmed
that slot loss does not occur under the conditions that
otherwise cause it in our environment.

PR:	298416
Reviewed by:	rmacklem
MFC after:	1 week
2026-10-06 18:52:19 -07:00
ShengYi Hung 192781bf5d libthr: Consume error in check_and_init_mutex
MFC after:      2 weeks
2026-10-07 12:26:11 +11:00
Philip Paeps 657c089950 lib80211: fix build with eXpat 2.9.0
eXpat 2.9.0 deprecates XML_GetCurrentLineNumber() in favour of
XML_GetCurrentLineNumber64().  The new function behaves the same
as the old one but is not prone to 32 bit integer wrap-around.
2026-10-07 09:15:49 +08:00
Philip Paeps 22c3edb312 contrib/expat: import expat 2.9.0
Changes: https://github.com/libexpat/libexpat/blob/R_2_9_0/expat/Changes

Security:	CVE-2026-102633
Security:	CVE-2026-77214
MFC after:	3 days
2026-10-07 09:15:49 +08:00
Olivier Cochard 9af3990ba7 sem test: avoid ETIMEDOUT races in the EINTR test cases
timedwait and clockwait_absolute_intr_remaining arm a 50ms SIGALRM and then
wait until an absolute deadline only 100ms in the future.
On a loaded VM the signal can be delivered more than 50ms late, so the wait
times out first.

Approved by:	imp
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D60347
2026-10-07 02:03:27 +02:00
Warner Losh ab7249c288 cam: Assert we have the periph lock when updating the iosched stats
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D60350
2026-10-06 16:50:38 -06:00
Warner Losh 7845cf8de8 ada: Update trim stats for every bio
Separate the updating the stats for the completion from the biodone for
each one.

Sponsored by:		Netflix
Reviewed by:		ali_mashtizadeh.com
Differential Revision:	https://reviews.freebsd.org/D60157
2026-10-06 16:46:23 -06:00
Warner Losh bd86f0508e da: Update trim stats with the periph lock held
Separate the updating the stats for the completion from the biodone for
each one.

Sponsored by:		Netflix
Reviewed by:		ali_mashtizadeh.com
Differential Revision:	https://reviews.freebsd.org/D60156
2026-10-06 16:46:23 -06:00
Warner Losh 4a3a5de8ac nda: Update trim stats with the periph lock held
Separate the updating the stats for the completion from the biodone for
each one.

Sponsored by:		Netflix
Reviewed by:		ali_mashtizadeh.com
Differential Revision:	https://reviews.freebsd.org/D60155
2026-10-06 16:46:22 -06:00
Warner Losh 0040d1fb7a cam: Rename cam_iosched_bio_complete to cam_iosched_bio_update_stats
The function updates scheduler statistics but does not complete the
bio. Rename it to avoid implying ownership of bio completion.

Sponsored by:		Netflix

Reviewed by:	ali_mashtizadeh.com
Differential Revision:	https://reviews.freebsd.org/D60349
2026-10-06 16:46:22 -06:00
Ed Maste e3f5a83b8f camcontrol: Add Spectra Logic copyright
The majority of lines of code currently in fwdownload.c come from ken@'s
rework in commit 0e358df062 ("Revamp camcontrol(8) fwdownload support
and add the opcodes subcommand.").  Add the appropriate copyright.

Approved by:	ken
2026-10-06 16:14:51 -04:00
Ruslan Bukin 3e01ebda68 riscv: support the new "riscv,isa-extensions" string-array.
Support the new "riscv,isa-extensions" property on RISC-V hart nodes
in FDT.

The "riscv,isa" property is deprecated, but cannot be removed because
doing so would break compatibility with existing DTBs. The new properties
replace it: "riscv,isa-base" describes the base ISA and
"riscv,isa-extensions" is a string array containing the supported ISA
extensions.

The "riscv,isa-extensions" property can be relatively large; on the
Spacemit K3 SoC it is approximately 300 bytes.

The FreeBSD OFW interface does not provide access to the underlying FDT
property data without copying it, and memory allocation is not possible
this early. So allocate a static buffer for the property instead.

Reuse the existing parse_riscv_isa() implementation to parse both the new
extension property and the legacy "riscv,isa" property.

Reviewed by:	bnovkov, mhorne
Sponsored by:	EPSRC ("UKRI3001: CHERI Research Centre")
Differential Revision:	https://reviews.freebsd.org/D60209
2026-10-06 20:09:04 +01:00
Andre Silva 572cd669d6 hwpmc: handle delayed IBS NMIs on Zen 6
On Zen 6, an extra IBS NMI can arrive after later samples. Keep the
credit until the empty NMI arrives, and handle fetch and op samples when
both are ready.

Reviewed by:	mhorne
Fixes:	34b00ed041 ("hwpmc: fix IBS fetch and op NMI handling")
Fixes:	e51ef8ae49 ("hwpmc: Initial support for AMD IBS")
Sponsored by:	AMD
Differential Revision:	https://reviews.freebsd.org/D60367
2026-10-06 15:53:44 -03:00
Konstantin Belousov 274236ed08 rtld.c: avoid double-free on dso load failure in do_load_object()
The obj->path is assigned directly from the path argument, and
load_object() frees the path on do_load_object() failure.  Do not free
it in obj_free() on the error path.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D60402
2026-10-06 20:33:27 +03:00
Roman Bogorodskiy 4445d03958 stand: userboot: improve userdisk error handling
Currently, userdisk_init() iterates through disks and
checks whether DIOCGSECTORSIZE and DIOCGMEDIASIZE ioctls
are available for the device. If either ioctl fails, userdisk_init()
returns ENXIO with ud_info only partially initialized.
devinit() records the failure, but loader_main() ignores
devinit()'s return value, so later code may access an
uninitialized entry.

In certain cases this code can still boot from a disk even if
userdisk_init() returns ENXIO, for example, when the first of
two disks is valid and the second errors out.

To address this issue while not breaking the current behavior, do
the following:

 - Zero-initialize the userdisk_info array and use a zero media size
   to mark disks that do not support the ioctls mentioned above or
   report an empty medium.
 - Update userdisk_print() not to print unusable disks.
 - Update userdisk_open() to return EIO for unusable disks.
 - Update extract_currdev() to pick the first usable disk
   instead of the first disk. Introduce userboot_disk_firstunit()
   for that.

Additionally, reset counters on ud_info allocation failure to prevent
accessing unallocated data.

Reviewed by:	jhb (previous version), markj
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D59262
2026-10-06 16:51:40 +00:00
Olivier Certner 0bccbb9e98 sched.h: Fix a typo and remove an extra line
Fixes:          42490d5cd2 ("sched: New scheduler interface definition scheme")
Sponsored by:   The FreeBSD Foundation
2026-10-06 18:20:56 +02:00
Olivier Certner 42490d5cd2 sched: New scheduler interface definition scheme
Define the scheduler interface once and for all (in 'sys/sys/sched.h')
and remove all code duplication related to it (function signatures, slot
names, dispatch, scheduler instance declaration), making it easier to
modify the interface or to add new schedulers.

This is implemented by defining the interface as X macros, which are
passed a macro (and additional arguments for it) that is "called" with
a variable number of arguments describing a single function of the
interface.  The convention used for a function's parameters is that each
parameter is represented with two macro arguments, the first one being
the type and the second one being the name.  Helper macros allow to
process arguments described in this convention in order to generate
a list of arguments for function definitions (currently, up to
4 function parameters).  The chosen convention eliminates the need for
any specific declaration of functions depending on their number of
arguments.

DECLARE_SCHEDULER() has been changed to automatically declare and fill
a 'struct sched_instance' structure.  Its number of parameters has been
reduced to the minimum, and the symbol part used to produce distinct
structure names can now start with a digit (useful for 4BSD).

The new implementation has the following additional benefits:
1. The name of implementations for the interface functions is imposed
   (same name as the interface function but with the scheduler symbol
   that was passed to DECLARE_SCHEDULER() added just after the 'sched_'
   prefix, e.g., for ULE, 'sched_ule_*()') and checked at compile-time.
2. Missing functions in an implementation are detected at compile-time
   (and not at runtime with a NULL dereference).
3. Failures to fill correctly the 'struct sched_instance' object
   associated to an implementation are eliminated.

Preserve comments/categories of interface functions by moving comments
that were in the old explicit interface declarations to the SCHED_ITF*()
macros, and while here, marginally improve some (and move the common
documentation for sched_initticks() from the implementations to the
interface).  Several of them are not exact, but this will be fixed in
a separate commit.

Make the active scheduler instance object internal, as it is not used
outside of the shim implementation and one of the purposes of the
interface is also to hide the actual implementation.  If the need
arises, it would be easy to add scheduler-specific routines as new
fields in 'struct sched_instance' and to extend the machinery to
automatically assign routines returning EOPNOTSUPP to these fields, and
then to provide a macro to register non-trivial implementation, instead
of making the current instance object visible again.

Additionally, in order to avoid collision with C and C++ keywords:
1. Fields in 'struct sched_instance' are now suffixed with '_impl', so
   that, e.g., 'switch()' does not require special treatment anymore and
   the corresponding implementations can be renamed back to
   `sched_*_switch()`.  This suffix avoids any collision with existing
   C++ keywords as new functions are added to the interface.  (See
   SCHED_ITF_FIELD_NAME().)
2. Actual interface functions' C declarations do not list parameter
   names anymore (sched_class() was causing a problem in C++ with its
   'class' parameter).
allowing to remove the bracketing with '#ifndef __cplusplus'.

Reviewed by:    mchoo, kib
Fixes:          ce38acee8d ("Add kern/sched_shim.c") (+ some followups)
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59988
2026-10-06 15:27:41 +02:00
Xin LI b4e2c9abaf libcasper: tolerate kernels without PD_NOWAITPID
Commit 1a296762b3 made libcasper pass PD_NOWAITPID to pdfork(2).
Kernels predating the flag (15.1 and earlier, since the flag first
ships in 15.2) reject it with EINVAL, which makes cap_init() and every
service fork fail when a newer world runs on an older kernel, for
example in a poudriere jail.

Add casper_pdfork(), which retries without the flag on EINVAL, and use
it at both pdfork(2) call sites.  The retry is safe because the kernel
validates pdfork flags before creating a child.  On such kernels the
zombie must still be reaped with waitpid(2), as before the flag was
introduced.

The fallback is compiled out once __FreeBSD_version reaches 1700000,
so it disappears from main when stable/16 branches while remaining in
the stable/15 and stable/16 branches that need it.

Reviewed by:	kib
MFC after:	3 days

Differential Revision: https://reviews.freebsd.org/D60401
2026-10-06 01:10:57 -07:00
Konstantin Belousov ea23918b02 rtld-elf/i386: remove no longer true __unused args annotations
Fixes:	d45d7aea61 ("i386 rtld: implement support for TLSDESC relocation")
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2026-10-06 10:56:59 +03:00
Enji Cooper 4abfb452ea Revert "linux: implement fchmodat2 syscall"
This got accidentally committed when I was reverting another commit.

This reverts commit c070ec923e.
2026-10-05 21:51:35 -07:00
Enji Cooper 32f5a9f3fb Revert "linux: implement sched_getattr()"
The changes need to be reviewed further; revert until the issues have
been worked out.

Requested by:	markj
This reverts commit bb5f10e51b.
2026-10-05 21:50:53 -07:00
Enji Cooper c070ec923e linux: implement fchmodat2 syscall
The fchmodat2 syscall on Linux is effectively the same as the fchmodat
on FreeBSD, whereas fchmodat on Linux is fchmodat on FreeBSD, minus
the `flags` argument.

This change provides the necessary glue in order to call kern_fchmodat
properly via the Linuxulator.

NB: glibc transparently passes through the `flags` argument, so this is
[largely] a no-op for end-users, but it affects those who compiled
binaries specifically using the fchmodat2 syscall.

MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D60394
2026-10-05 21:50:53 -07:00
Alan Cox d8dfbeb570 uiomove_object_page: a failed copy can still dirty the page
For writes, if we fail in the middle of reading from the source, the
destination may have already been dirtied.  For example, the source may
cross a page boundary, and the second page is inaccessible.
Conservatively mark the destination as dirty, even on errors.

Reported by:	Claude (Opus 5.5)
Reviewed by:	kib, markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D60280
2026-10-05 23:30:23 -05:00
John Baldwin 1d8c5f8e02 sendfile: Fix build for kernels without INET or INET6
Don't cap the new low watermark to a TCP-specific setting in kernels
without TCP.

Fixes:		6948f4d5e2 ("sendfile: keep the lowat hack more conservative")
2026-10-05 22:35:15 -04:00
John Baldwin c907302c12 zstream: Downgrade -Watomic-alignment to a warning
Don't complain about unaligned atomic operations on i386.  This
same approach is already used for libspl.
2026-10-05 22:35:14 -04:00
Konstantin Belousov 1e595e959f devfs_open: do not access dsw after dev_relthread()
Noted and reviewed by:	markj
Fixes:	850d456292 ("cdevsw: add D_NONPASSABLE flag")
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D60393
2026-10-06 03:30:49 +03:00
Jamie Gritton a5ae2a9bfb jaildesc: Lock prison pointer when filling kinfo
Submitted by:	Yuri Tkachenko <yura.tkachenko at gmail.com>
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D60392
2026-10-05 16:54:21 -07:00
Philip Paeps 91970165e3 Vendor import of expat 2.9.0 2026-10-06 07:34:57 +08:00
Enji Cooper bb5f10e51b linux: implement sched_getattr()
This change adds the necessary glue to translate Linux scheduler policy
and priority from FreeBSD so this information is available to Linux
applications.

This unbreaks using the Linux version of Chromium on FreeBSD.

This change was originally submitted via [freebsd/freebsd-src#2370][github-pr].

MFC after:	2 weeks
PR:	297468
Co-Authored-By:	Enji Cooper <[email protected]>
Signed-off-by:	Joao Bonifacio <[email protected]>

[github-pr]: https://github.com/freebsd/freebsd-src/pull/2370

Differential Revision:	https://reviews.freebsd.org/D60214
2026-10-05 15:49:09 -07:00
Mark Johnston 4bb6015764 netinet: Deprecate OSIOCAIFADDR and OSIOCAIFADDR_IN6
Requested by:	glebius
Reviewed by:	pouria, glebius
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D60247
2026-10-05 22:23:12 +00:00
Konstantin Belousov 499901dd7a ufssuspend(4): mark non-passable
This fixes long-standing issue where ufssuspend file descriptor could
leak over fork or be passed over unix domain socket, and then closing it
in the opener would not unsuspend the file system.

It should not affect the well-behaving growfs(8) utility, but makes the
userspace API safer on principle.

Reviewed by:	markj
Tested by:	pho (previous version)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D60285
2026-10-06 00:56:53 +03:00