Commit Graph

309150 Commits

Author SHA1 Message Date
ShengYi Hung 0627136698 libusb: fix incorrect status type when completion on cancel the events
Reviewed by:    lwhsu, markj
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51736
2026-05-05 23:58:49 +08:00
ShengYi Hung ce9ced951a libusb: change callback register handler to int
libusb upstream uses int for register handler. This causes some library
user (like pyusb) to assume that we have int in all implementations and
therefore provides a 4 byte storage only. This causes Segmentation
fault as we will right the pointer.

Reviewed by:    adrian
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54211
2026-05-05 23:48:22 +08:00
ShengYi Hung efc0ced5c4 ath{10,11,12}k: Add missing header in Makefile
Reviewed by:    bz
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56693
2026-05-05 23:26:48 +08:00
ShengYi Hung 261002908f libusb: Add libusb_endpoint_transfer_type enum
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
2026-05-05 23:22:47 +08:00
Baptiste Daroussin 9f2ad7c097 init: allow to specify a custom path for rc(8)
This is useful for testing alternative service managers
without modifying /etc/rc

MFC After:	1 weeks
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D56828
2026-05-05 15:39:58 +02:00
Andrew Turner dc00f11840 Revert "virtio_net: Use bus_dma for rxq/txq buffers"
This reverts commit c16c95192f.

Revert until we can fix reported issues
2026-05-05 10:18:14 +01:00
Andrew Turner c8167ebb74 Revert "virtio_net: Use bus_dma for command/ack buffers"
This reverts commit b5bad6df46.

Revert until we can fix reported issues
2026-05-05 10:18:14 +01:00
Kristof Provost bf6d00afdb pfsync: reject invalid SCTP states
SCTP states should always have a src scrub object associated with them.
Crafted pfsync packets might not have this, leading to us derferencing a
NULL pointer on cleanup.

Validate the pfsync state insertion packet to make sure this is correct.

PR:		294989
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-05-05 09:45:29 +02:00
Ryan Libby 6f84579ae4 nfs_pub: move from vfs_subr.c to vfs_export.c
nfs_pub is used only in vfs_export.c.

Reviewed by:	kib, rmacklem
Differential Revision:	https://reviews.freebsd.org/D56777
2026-05-04 22:55:11 -07:00
Colin Percival 89b97931d6 bsdinstall: Always use pkg.FreeBSD.org
The FreeBSD-base bits are accessible via pkg.FreeBSD.org, even for
releases, so there is no need to point at pkgbase.FreeBSD.org.

MFC after:	3 days
2026-05-04 21:21:27 -07:00
Lexi Winter 8e8d878562 packages: Make create-sets.sh more robust during release
Commit d1c176fedf made create-sets.sh exit when it encounters an
error, instead of creating an empty repository.  However, this turns
out to cause some issues:

1. A package not having any sets is considered an error, but during
   the release build, we stuff a 'pkg' package into the repository
   which doesn't have any sets, which causes a failure.  Avoid this
   by simply ignoring the pkg package.

2. No error was printed in this case, which made the problem hard
   to diagnose.  Add an explicit error message.

3. A similar problem occurred running on a repository which already
   contained sets, which is not usually done during the build, but
   is not necessarly an inappropriate thing to do.  Fix this one by
   ignoring set packages when looking for sets.

While here, fix another issue that might cause packages to be wrongly
skipped if the path to the repository contains a '-' character, since
we didn't strip the path before testing the package name.

PR:	294966
Fixes:	d1c176fedf ("packages: Make create-sets.sh more robust")
MFC after:	2 weeks
Reported by:	Alastair Hogge <agh@riseup.net>
Reviewed by:	emaste
Sponsored by:	https://www.patreon.com/bsdivy
Differential Revision:	https://reviews.freebsd.org/D56792
2026-05-05 01:32:34 +01:00
Rick Macklem 03e9e83f35 nfs_nfsdserv.c: Clip number of callback slots
The client tells the server how many callback slots
it can handle in the callback session.  However, the
NFSv4.1/4.2 server can only handle a maximum of
NFSV4_SLOTS slots.  This patch clips the client's
value to that, to avoid using too high a slot#
for a callback.

Fortunately, I do not know of an extant client that
specifies a value greater than NFSV4_SLOTS, so this
patch is not really needed, as yet.  Also, the client
rarely uses a slot# above 0 when doing callbacks.

MFC after:	2 weeks
2026-05-04 17:04:00 -07:00
Christos Longros 5dd912192d Update description of spl_schedule_hrtimeout_slack_us
Clarify the effect of the non-zero value on wakeup coalescing.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Christos Longros <chris.longros@gmail.com>
Closes #18467
2026-05-04 15:09:33 -07:00
Christos Longros b68c782d82 man: document three missing properties and tunables
Add manpage entries for parameters and properties that exist in
source but were not previously described:

- spl.4: spl_schedule_hrtimeout_slack_us
- zfsprops.7: longname
- vdevprops.7: raidz_expanding

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Christos Longros <chris.longros@gmail.com>
Closes #18467
2026-05-04 15:09:00 -07:00
Chuck Tuffli eb3b130238 Import smart revision 1.0.2
The smart command allows the user to monitor the various information
reported by Self-Monitoring, Analysis and Reporting Technology (SMART)
present on most ATA, SCSI, and NVMe storage media.
2026-05-04 14:50:13 -07:00
Jean-Sébastien Pédron 658bb99db9 linuxkpi: Implement module_*() APIs as static functions
This fixes an "unused variable" warning when building DRM drivers.

Reviewed by:	emaste
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56780
2026-05-04 21:13:43 +02:00
Mateusz Piotrowski c295f02637 zone.9: Add a missing newline
MFC after:	3 days
2026-05-04 20:29:48 +02:00
Brian Behlendorf 2de4f4c742 CI: FreeBSD 15.1 PRERELEASE (#18490)
Update freebsd15-0s builder to freebsd15-1s and point it at the
15.1-PRERELEASE tag.  The previous freebsd-15.0-STABLE images are
no longer available.

Additionally, add a freebsd15-0r stanza for the RELEASE.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
2026-05-04 10:34:00 -07:00
Mark Johnston 41b03932e5 tests: Add a simple regression test for an execve overflow bug
MFC after:	2 weeks
2026-05-04 17:28:02 +00:00
Mark Johnston eca4dd1338 execve: Add guard pages around execve KVA buffers
This helps ensure that overflows will trigger a panic instead of
silently corrupting adjacent buffers, as happened in SA-26:13.exec.

Extend kmap_alloc_wait() to support allocation of guard pages on both
sides of a KVA allocation.  Modify the exec_map setup accordingly.  Add
the "vm.exec_map_guard_pages" tunable to provide control over the guard
page allocations.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D56711
2026-05-04 17:28:02 +00:00
Alexander Motin 366b1f9a3e Fix long POSIX_FADV_DONTNEED for single block files
dbuf_whichblock() is not made to handle offsets beyond the block
end for single-block objects.  Handle it in dmu_evict_range(),
similar to dmu_prefetch_by_dnode().

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com>
Closes #18399
Closes #18489
2026-05-04 10:22:47 -07:00
Ryan Libby d5728351a5 amd/int0x80 test: fix inline asm for gcc
Gcc complained about the unused %0 asm argument.

Fixes:	2c2ec6bbc9 ("tests/sys/arch/amd64: add a program to check INT $0x80 behavior on amd64")
Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D56781
2026-05-04 09:34:41 -07:00
Abdelkader Boudih 36b399f55e asmc: rename wol sysctl to auto_poweron
Older SMC firmware exposed AUPO as a Wake-on-LAN control. On updated
firmware, the key controls automatic power-on when AC power is restored
after a power loss; WoL is handled by the GBE controller instead.
Rename the sysctl to reflect the current semantics. No compatibility
alias is provided as the sysctl has not appeared in any release.

Reviewed by:	ziaee, adrian
Differential Revision:	https://reviews.freebsd.org/D56747
2026-05-04 07:26:44 -07:00
Lexi Winter 045a9ef829 llvm: Don't install /usr/bin/{gcov,objdump} twice
Commit c4f08d46c7 moved the symlinks for the LLVM binutils from LLVM
itself to the toolchain (usr.bin/clang/toolchain), but did not remove
the links for /usr/bin/gcov and /usr/bin/objdump from the llvm version,
meaning we installed them twice, once in the clang package and once in
the toolchain package.

Remove the links from the llvm version and move the MLINKs to toolchain,
which is where the other MLINKs dwell.

While here, fix toolchain to use the correct build option for llvm-cov,
MK_LLVM_COV.

Fixes: c4f08d46c7 ("llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package")
Reported by:	jrm
Reviewed by:	jrm, dim, emaste
Sponsored by:	https://www.patreon.com/bsdivy
Differential Revision:	https://reviews.freebsd.org/D56788
2026-05-04 14:49:20 +01:00
Dag-Erling Smørgrav 8acc4c16c6 vis.3: Try to better describe VIS_SAFE
The current text fails to draw the reader's attention to the fact that
VIS_SAFE essentially exempts certain characters from being encoded.

While here, fix some markup nits.

MFC after:	1 week
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D56716
2026-05-04 14:08:10 +02:00
Justin Hibbits 7b5a23b124 rs5c372a: Fix copyright header
Reported by:	ziaee@
Fixes:	d22051b18 ("iicbus/rtc: Add driver for the Ricoh rs5c372 RTC")
2026-05-03 21:47:54 -04:00
Justin Hibbits 7a40b8a89e dpaa: Fix copyright headers
Reported by:	ziaee@
Fixes:	fd8d34ce27 ("dpaa: Migrate from NCSW base to a home-grown driver")
2026-05-03 21:47:54 -04:00
Rick Macklem 457c621add nfsd: Disable use of callbacks for NFSv4.0
Commit 71ac1ec5c9 disabled callbacks for the NFS
client for NFSv4.0.  This patch does the same for
the NFSv4.0 server.

The only use for callbacks for NFSv4.0 is delegations
and delegations rarely work well for NFSv4.0 anyhow.

Therefore, this patch disables callbacks for the
NFSv4.0 server.  This is the same behavior as
occurs when vfs.nfsd.issue_delegations is 0.

This change allowed the functions called
nfsrv_getclientipaddr() and nfsrv_getipnumber() to be
removed from the kernel.

MFC after:	2 weeks
2026-05-03 16:25:45 -07:00
Mark Johnston 667dd9eafa tests/ping: Fix date(1) invocations
Fixes:	069681afd5 ("ping: use CLOCK_REALTIME for ICMP Originate Timestamp")
2026-05-03 21:51:50 +00:00
Mark Johnston 47ae0135d4 tests/if_lagg: Minor improvements
- Set require.kmods instead of relying on ifconfig to load if_lagg.ko,
  as this doesn't work when running within a jail.
- Simplify helper functions which create tap and lagg devices.

MFC after:	1 week
2026-05-03 21:51:50 +00:00
Mark Johnston 001cfc7b8a tests/timerfd: Serialize
At least one of these tests changes the system clock, which potentially
interferes with concurrently running tests and causes them to fail.

MFC after:	1 week
2026-05-03 21:51:49 +00:00
Mark Johnston 476805133f unix: Make sure we signal EOF on the write side when disconnecting
Add a regression test.

PR:		294014
Reported by:	diizzy
Reviewed by:	glebius
MFC after:	1 week
Fixes:		d157927807 ("unix: new implementation of unix/stream & unix/seqpacket")
Differential Revision:	https://reviews.freebsd.org/D56764
2026-05-03 21:51:49 +00:00
Rick Macklem d8d9e1cf5e krpc: Get rid of KRPC_VNET macros
When the krpc was vnet'd, the VNET macros were hidden
behind macros that had the KRPC_ prefix on them.
This was done because, at the time, it was thought
that something other than vnet might be used for this.
That has not happened and probably will not happen,
so this patch replaces these obscuring macros with
the regular vnet ones.

There should be no semantics change caused by
this commit.

Discussed with:	bz, glebius
MFC after:	1 month
2026-05-03 14:25:06 -07:00
Konstantin Belousov 9ca9a79ea6 Revert erronously pushed series of commits, which should not be.
Sorry for the mess.

Revert "sys/vnode.h: remove stale comment"
This reverts commit f193f5a749.

Revert "vfs: convert VFS_OPs from macros to static inlines"
This reverts commit 48bf024f2e.

Revert "vnode: add VIRF_KNOTE flag"
This reverts commit 7fe74a0276.

Revert "vfs: convert vfs_op_thread_* macros to static inlines"
This reverts commit a61a696e78.

Revert "struct vnode: assign v_rl.resv1 as v_vrflag"
This reverts commit d990e8f0e9.

Revert "sys/rangelock.h: explicitly enumerate padding at the end of the structure"
This reverts commit a770638ecf.

Revert "bufspace_wait(): only try to help bufdaemon if there is a chance to help"
This reverts commit 067cfac2e7.

Revert "Add O_SYMLINK emulation"
This reverts commit f9458655e7.

Revert "libc: add freadlink(3)"
This reverts commit ae6a13deb8.

Revert "Add O_SYMLINK emulation"
This reverts commit 2213820b6f.
2026-05-03 23:12:03 +03:00
Konstantin Belousov f193f5a749 sys/vnode.h: remove stale comment
The source sweep is not going to happen.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56611
2026-05-03 22:58:37 +03:00
Konstantin Belousov 48bf024f2e vfs: convert VFS_OPs from macros to static inlines
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56611
2026-05-03 22:58:37 +03:00
Konstantin Belousov 7fe74a0276 vnode: add VIRF_KNOTE flag
to indicate non-empty vnode knote list.  Use it instead of
VN_KNLIST_EMPTY() and guard note activations with it.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56611
2026-05-03 22:58:37 +03:00
Konstantin Belousov a61a696e78 vfs: convert vfs_op_thread_* macros to static inlines
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56611
2026-05-03 22:58:37 +03:00
Konstantin Belousov d990e8f0e9 struct vnode: assign v_rl.resv1 as v_vrflag
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:
2026-05-03 22:58:37 +03:00
Konstantin Belousov a770638ecf sys/rangelock.h: explicitly enumerate padding at the end of the structure
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:
2026-05-03 22:58:37 +03:00
Konstantin Belousov 067cfac2e7 bufspace_wait(): only try to help bufdaemon if there is a chance to help
Only call buf_flush() if there are some dirty buffers belonging to the
vnode we are allocating the buffer for.  Otherwise the bd dirty queue
scan cannot find anything and it makes no sense to spend CPU doing it.
2026-05-03 22:58:37 +03:00
Konstantin Belousov f9458655e7 Add O_SYMLINK emulation
for MacOSX partial compatibility, defined as O_PATH | O_SYNC | O_DIRECT.

libc openat() wrapper is modified to fstat() the descriptor and re-open
in the normal mode if the type is not symlink.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56365
2026-05-03 22:58:36 +03:00
Konstantin Belousov ae6a13deb8 libc: add freadlink(3)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56365
2026-05-03 22:58:36 +03:00
Konstantin Belousov 2213820b6f Add O_SYMLINK emulation
for MacOSX partial compatibility, defined as O_PATH | O_NOFOLLOW.
fstat(2) and freadlink(3) works on the resulting file descriptors,
but reads on the regular file do not.

More complete but more hackish version was developed but deemed too
hackish.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D56365
2026-05-03 22:58:36 +03:00
Konstantin Belousov fbecfc4aa0 fdescfs: do not change vnode type on VOP_GETATTR()
There is no point to do it.  The VNON type is good enough for fdescfs
operations, and changing the type on stat(2) is arbitrary and does not
serve much purpose, because we recalculate the returned file type on
each stat(2) anyway.

But setting the type to VLNK has undesired consequence of namei()
trying VOP_READLINK() there, which might fail since it defer the
calculation of path to vn_fullpath().

Submitted by:	Mike <mmpestorich@gmail.com>
PR:	294768
MFC after:	2 weeks
2026-05-03 22:58:36 +03:00
Stephen J. Kiernan b89155be25 bsd.endian.mk: Avoid use of M_ListToSkip
While the src build works fine with M_ListToSkip, it can break the
ports build. For now, it is safer just to do the actual variable
modifiers in place.

Reported by:	se
Fixes: 		01674e15de ("bsd.endian.mk: Optimize the handling...")
2026-05-03 15:39:50 -04:00
Justin Hibbits 9d423705db dpaa: Support jumbo frames as multi-buffer frames 2026-05-03 15:09:30 -04:00
Justin Hibbits 6464974c5a dpaa: Enable checksum offloading for IPv4 and IPv6
Enable the FMan hardware parser to take advantage of some offloading.
This enables receive and transmit checksum offloading for both IPv4 and
IPv6.

Additional offloading capabilities the DPAA supports include:
* vlan parsing
* Transmit rate limiting
* IEEE-1588 timestamps
* Soft parsing for custom protocol checking
* Congestion handling
2026-05-03 15:09:29 -04:00
Justin Hibbits fd8d34ce27 dpaa: Migrate from NCSW base to a home-grown driver
The NCSW reference base requires tuning for each target, and currently
is configured for FMANv2.  This doesn't readily work on FMANv3 devices,
such as the T-series powerpc, or the LS1043 ARM.  Since Freescale/NXP
abandoned the NCSW driver a decade ago, it makes sense to abandon it
ourselves as well.  This new driver uses a combination of the NCSW
driver and the Linux driver (BSD/GPL dual licensed) as a reference, but
contains no actual code from them.

The DPAA (Data Path Acceleration Architecture) subsystem consists of the
following components:

* BMan -- Buffer Manager.  Manages buffer pools of different sizes (one
  size per pool, up to 64 pools)
* QMan -- Queue Manager.  Manages the interfaces between DPAA-based
  components and the CPU(s).
* FMan -- Frame Manager.  Responsible for all ethernet-related
  processing.  Consists itself of the following components:
  * Ports -- interfaces to the QMan.  An ethernet interface consists of
    2 ports.
    Ports use "Next-invoked action" (NIA) descriptors to form a pipeline
    for processing on receive and transmit.
  * Parser -- performs protocol header parsing and validation.  Both
    hardware and software parsers are available.
  * KeyGen -- Key generator, used to start the classification process
    (for the Policer), generating FQIDs and other keys based on the
    frame input.
  * Policer -- performs traffic shaping and classification
* MAC -- SoC specific ethernet MAC (dTSEC, TGEC, mEMAC).  Currently
  supports dTSEC and mEMAC, along with their MDIO blocks.

Additional components not yet handled:
SEC -- Security engine (crypto)
RE -- RAID engine
RapidIO
DCE -- Decompression/Compression engine, supports ZLIB, DEFLATE, and
GZIP, as well as base64 encoding and decoding.

BMan and QMan are accessed via cache-coherent portals, using ring
buffers as I/O.  The intent is for portals to be per-CPU (core/thread)
to reduce locking contention and improve performance.  This driver pins
interrupt handlers to the CPU "owning" a given portal, and uses critical
sections to prevent switching while accessing the portal.
2026-05-03 15:09:29 -04:00
Justin Hibbits d22051b18e iicbus/rtc: Add driver for the Ricoh rs5c372 RTC
This RTC chip supports 2 alarm timers in addition to RTC functionality,
but this driver only supports the RTC at this time.
2026-05-03 15:09:28 -04:00