This is a display of mostly-automatically-classified git commits from 2026-06-01 to 2026-06-07.
DEBUG: This version of the report is primarily for checking the classifiers, and therefore contains extra information (in this colour).
Table of contents and commits per category:
| (1) | Highlighted commits (these are copies, not in stats) | |
| 4 | 2.6% | Userland programs |
| 10 | 6.5% | Documentation |
| 19 | 12.3% | Hardware support |
| 8 | 5.2% | Networking |
| 44 | 28.6% | System administration |
| 4 | 2.6% | Libraries |
| 7 | 4.5% | Filesystems |
| 30 | 19.5% | Kernel |
| 6 | 3.9% | Build system |
| 2 | 1.3% | Internal organizational stuff |
| 7 | 4.5% | Testing |
| 4 | 2.6% | Style, typos, and comments |
| 5 | 3.2% | Contrib code |
| 4 | 2.6% | Reverted commits |
| 0 | 0.0% | Unclassified commits |
| 154 | 100% | total |
| Technical notes about this page |
debug: info about the automatic classification
| num | % | num changed | stage |
|---|---|---|---|
| 4 | 2.6% | 0 | 00-reverts |
| 5 | 3.2% | 0 | 01-style |
| 15 | 9.7% | 0 | 02-filenames_wildcards |
| 2 | 1.3% | 0 | 02b-filenames_wildcards2 |
| 76 | 49.4% | 0 | 03-filenames_plain1 |
| 47 | 30.5% | 0 | 04-filenames_plain2 |
| 3 | 1.9% | 0 | 05-summary-prefix |
| 2 | 1.3% | 0 | Manually-classified commits |
| 0 | 0.0% | 0 | Unclassified commits |
debug: more stats
| num | % | stage |
|---|---|---|
| 0 | 0.0% | Misclassified commits |
| 152 | 98.7% | Classified commits, no corrections |
debug: groups
| 4 | 2.6% | num in revert |
| 3 | 1.9% | num in fixes |
| 53 | 34.4% | num in consecutive |
| 60 | 39.0% | Commits in groups |
For extra visibility, these are copies of commits found in
other sections. Most (if not all) come from the commit message
containing "Relnotes:", or commits modifying
UPDATING.
Long file names are using UTF-16 symbols to represent international or special characters. The implementation in FreeBSD did not support the "Supplementary Private Use Area-B" (PUA-B), which requires a surrogate pair to be represented in UTF-16 (Unicode code points beyond U+FFFF). The PUA-B is used to represent emoji characters, which are supported in file names on other common operating systems. The motivation for this change was that removable media written on another system were only partially readable on FreeBSD, since they contained emojis in file names. A test script that verifies correct operations on files names with emojis has been added to the tools/test/stress2/misc directory under the name msdos24.sh. Reported by: Fabian Keil <fk@fabiankeil.de> Reviewed by: ib Approved by: mkcusick MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D57313
debug: classified in
03-filenames_plain1 by
'sys/fs/'
Commits about commands found in man section 1 (other than networking).
Since the factor is not 1, we need to provide a unit. MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=5d92f20c7d31 ("bin/sh: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57352
debug: classified in
03-filenames_plain1 by 'bin/'
Cannot strip the target if creating a link. Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57398
debug: classified in
04-filenames_plain2 by
'usr.bin/'
After git commit c8d40bf8ecc60cc15e3904410db62065ea681fdc, if fd 0 was not open, it is left with CLOEXEC set and therefore fails. This is an unlikely situation, but fixing it reduces the size of the code (by using posix_spawn_file_actions_adddup2's special case if the two file descriptor numbers are the same). At the same time, check the error code from posix_spawn_file_actions_adddup2. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D56910
debug: classified in
04-filenames_plain2 by
'usr.bin/'
* pipebuf is a size but is listed as a count PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295623 MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=f54f41403d14 ("usr.bin/limits: support RLIMIT_PIPEBUF") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57456
debug: classified in
04-filenames_plain2 by
'usr.bin/'
Man pages, release notes, etc.
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57370
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Reported by: des Reviewed by: ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57409
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
The five link flags get lost in prose. Reviewed by: ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57418
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285614 Reviewed by: ziaee, michaelo, jrm MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49489
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Most architectures have the same signedness for char and wchar_t, but powerpc has the unusual combination of unsigned char and signed wchar_t. Reviewed by: des, jhb, markj Sponsored by: The FreeBSD Foundation
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
arch.7: Remove 32-bit powerpc from tables Most 32-bit architecture support has been deprecated for FreeBSD 16. Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57472
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
arch.7: Restore (non-SPE) 32-bit powerpc to MD tables powerpc is still relevant for lib32. powerpcspe cannot use lib32 so remains removed. Reported by: Minsoo Choo <minsoo@minsoo.io> Reviewed by: Minsoo Choo <minsoo@minsoo.io> Sponsored by: The FreeBSD Foundation Fixes: https://cgit.freebsd.org/src/commit/?id=2ea49bb595df ("arch.7: Remove 32-bit powerpc from tables") Differential Revision: https://reviews.freebsd.org/D57473
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
MFC after: 1 week Sponsored by: Klara, Inc. Fixes: https://cgit.freebsd.org/src/commit/?id=e030e4e73fe7 ("lib/libc/gen/fts.3: use 'options' consistently in fts_set() description") Differential Revision: https://reviews.freebsd.org/D57326
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Signed-off-by: Faraz Vahedi <kfv@kfv.io> Pull Request: https://github.com/freebsd/freebsd-src/pull/2243 Reviewed by: fuz MFC after: 1 week
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Hardware drivers and architecture-specific code.
ig4iic: Add PantherLake IDs MFC after: 2 weeks Sponsored by: Framework Computer Inc Signed-off-by: Daniel Schaefer <dhs@frame.work>
debug: classified in
03-filenames_plain1 by
'sys/dev/'
spi: Remove incorrect pci id This id is for SPI flash instead of spi bus Fixes: https://cgit.freebsd.org/src/commit/?id=39e297bf54a5 ("ig4iic: Add PantherLake IDs") MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Framework Computer Inc
debug: classified in
03-filenames_plain1 by
'sys/dev/'
The memory where the pre-OS IDT was located might be already consumed by kernel. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57321
debug: classified in
03-filenames_plain1 by
'sys/amd64/'
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294630 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differrential revision: https://reviews.freebsd.org/D57368
debug: classified in
03-filenames_plain1 by
'sys/x86/'
In package control mode, the performance of all cores depends on the most recent value written to the request field. If the last write comes from an E-core, all cores are forced to align with the E-core performance level, resulting in significant performance degradation. Therefore, package control is disabled on hybrid-core systems. Reviewed by: olce MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Framework Computer Inc Differential Revision: https://reviews.freebsd.org/D57377
debug: classified in
03-filenames_plain1 by
'sys/x86/'
Add struct linux_pt_fpregset, the amd64 Linux NT_PRFPREG payload, corresponding to user_i387_struct in Linux. The struct describes the 512-byte FXSAVE area as exposed by PTRACE_GETREGSET. Add bsd_to_linux_fpregset() to translate from FreeBSD's struct fpreg to struct linux_pt_fpregset. Fields are extracted from the fpr_env[] array which stores the FXSAVE environment packed as four 64-bit words. The FP and XMM register banks are bulk-copied as opaque byte arrays. Signed-off-by: Ricardo Branco <rbranco@suse.de> Reviewed by: kib Pull-Request: https://github.com/freebsd/freebsd-src/pull/2165
debug: classified in
03-filenames_plain1 by
'sys/amd64/'
T2 Macs (2018+) expose the SMC via memory-mapped registers instead of I/O ports. Add asmcmmio.c/asmcmmio.h implementing the MMIO transport: key read/write, getinfo, getbyindex, and a poll-based wait with exponential backoff. The driver probes for MMIO at attach time by checking the LDKN firmware version key; if MMIO is available it is used, otherwise the standard I/O port backend is used. T2 fan speeds use IEEE 754 floats instead of fpe2 fixed-point. Per-fan manual mode uses F%dMd keys instead of the FS! bitmask. Battery charge limit is exposed via dev.asmc.N.battery_charge_limit. Tested on: MacBookPro16,2 (A2251, iBridge2,10) MacBookPro15,4 (A2159, iBridge2,8) MacBookAir8,2 (A1932, iBridge2,5) Mac mini 8,1 (A1993, iBridge2,7) iMac20,2 (A2115, iBridge2,16) iMacPro1,1 (A1862, iBridge1,1) MFC after: 2 weeks Reviewed by: ngie, adrian Differential Revision: https://reviews.freebsd.org/D57086
debug: classified in
03-filenames_plain1 by
'sys/dev/'
cxgbe(4): Use backdoor access to read SGE context on T7 This avoids a firmware bug where it crashes when accessing SGE context on a secondary core. MFC after: 1 week Sponsored by: Chelsio Communications
debug: classified in
03-filenames_plain1 by
'sys/dev/'
cxgbe(4): Do not read indirect INT_CAUSE registers directly Some of the registers added in a172f9e5b3cf are not directly accessible and should be avoided. Fixes: https://cgit.freebsd.org/src/commit/?id=a172f9e5b3cf cxgbe(4): Improvements to the slow interrupt handler MFC after: 1 week Sponsored by: Chelsio Communications
debug: classified in
03-filenames_plain1 by
'sys/dev/'
cxgbe(4): Use correct FID in KTLS tx work requests MFC after: 1 week Sponsored by: Chelsio Communications
debug: classified in
03-filenames_plain1 by
'sys/dev/'
For symmetry with ofw_bus_setup_iinfo, the next commits will use it to properly cleanup on failure in bcm2838_pci. Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D56895
debug: classified in
03-filenames_plain1 by
'sys/dev/'
If device_attach() fails, we're expected to actually cleanup after ourselves because device_detach() will not be called. Factor out the cleanup bits that don't rely on attach having actually succeeded so that we can cleanup properly in bcm2838_pci. Reviewed by: andrew, imp Differential Revision: https://reviews.freebsd.org/D56896
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Specifically on the RPi CM4, we currently don't set the controller up right and it never moves into the ready state (we don't observe the link active bit). Failure to cleanup here actually results in a panic not long after, due to a use-after-free in the rman bits. Further down in pci_host_generic, we have some rman stashed in the softc that are initialized and placed onto the rman tailq, then the softc is later freed without an rman_fini() to pull them off of the tailq properly. Note that PCIe on this board won't come up at boot without something plugged in, so it currently can't be booted with an empty slot with the intent to hotplug a supported card. Some issues with controller startup have been observed with Broadcom NICs in the wild, but no problems have been observed with other NICs and a variety of different PCIe cards. Shout-out to Vince <git@darkain.com> for the extensive debugging and analysis to arrive at this conclusion. Reviewed by: andrew, imp Differential Revision: https://reviews.freebsd.org/D56897
debug: classified in
03-filenames_plain1 by
'sys/arm/'
At present, the exception syndrome register (ESR) is not accessible via the user context on FreeBSD AArch64, which makes it difficult to determine the cause of an exception. For example, a signal handler might get a `SIGSEGV` with `SEGV_ACCERR`, but it can't know whether that occurred due to a bad read or write. The change implemented here includes ESR in `struct __mcontext`, thereby allowing access via `ucontext_t` for use by signal handlers, sanitizers, debuggers, etc. Note that this addition consumes one of the seven spare 64-bit slots in `struct __mcontext`. Signed-off-by: Alex Arslan <ararslan@comcast.net> Reviewed by: andrew Pull Request: https://github.com/freebsd/freebsd-src/pull/2053
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
There's no point in acquiring a hold if the proc lock isn't going to be dropped. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57468
debug: classified in
03-filenames_plain1 by
'sys/i386/'
Reviewed by: markj, vexeduxr Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57250
debug: classified in
03-filenames_plain1 by
'sys/dev/'
This change refactors fatal error delivery via APEI and prints more info:
- Makes the NMI handler call into the ge handler to establish a common
code flow, no matter how the error is delivered
- Adds the FRU to the panic string so as to provide more information than
just "APEI Fatal Hardware Error!" such as
"APEI Fatal Hardware Error: PcieError"
- Prints more details about fatal pcie errors. Note that we skip acquiring
Giant on fatal errors
- Hexdumps the full GED data on fatal errors, so as to facilitate
offline data analysis
Reviewed by: imp
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D57417
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Wrap the if_input() call in fwe_as_input() with NET_EPOCH_ENTER/EXIT. The network stack requires epoch protection when delivering packets via if_input, and fwe was missing it. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D57459
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Remove stale and misleading XXX comments throughout firewire.c. Most were from the original 2002 codebase and either described correct behavior or noted aspirational improvements that never happended. Two actionable items retained as TODO: config ROM CRC validation and pending xfer cleanup on detach. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D57466
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Network-related commands, library, and kernel.
The sc_count check in lagg_transmit_ethernet() and lagg_transmit_infiniband() is racy, as the lagg protocol handlers are only synchronized by net_epoch. Handle a count of 0 in each protocol handler where it's needed, namely in the RR and LB handlers. Reported by: Yuxiang Yang, Yizhou Zhao, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM5.1 from Z.ai Reviewed by: pouria, zlei MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56942
debug: classified in
03-filenames_plain1 by
'sys/net/'
We cannot call copyout() while in a net epoch section, unless the user memory is wired. Use the global ifnet lock to synchronize the accesses instead. Reported by: emaste Reviewed by: zlei MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D57154
debug: classified in
03-filenames_plain1 by
'sys/net/'
When an ipfw rule references a NAT64 instance by name using 'nat64lsn', the kernel looks up the instance in the shared srvstate[] array without verifying the instance type. If the named instance is actually a nat64clat or nat64stl instance (created with 'nat64clat' or 'nat64stl'), the code incorrectly casts the instance to nat64lsn_instance and dereferences the ->cfg pointer, which causes a kernel panic. The root cause is that all NAT64 instance types share the same srvstate[] array but have different struct layouts. For nat64lsn_instance, the field after 'no' is a pointer to nat64lsn_cfg. For nat64clat_cfg, the same offset contains an embedded nat64_config struct. Fix by adding a type check after NAT64_LOOKUP() to verify that the instance's etlv matches IPFW_TLV_NAT64LSN_NAME before proceeding. If the type doesn't match, return IP_FW_DENY to reject the packet safely rather than crashing. Signed-off-by: Teddy Engel <engel.teddy@gmail.com> PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292023 Reported by: pouria Reviewed by: ae Pull-Request: https://github.com/freebsd/freebsd-src/pull/2249
debug: classified in
03-filenames_plain1 by
'sys/netpfil/'
lacp uses interface speed to separate lacp members into different aggregation groups. It wants to use the lower 4 bits of the key to represent the speed. This change fixes a few bugs around that: 1) Actually use the baud rate reported by the interface as the speed (and fall back to use the baudrate associated with the media if the interface somehow doesn't support if_baudrate) 2) Compressess the baud rates down to the 4 bits reserved for them. Using things like FM_400G_FR8 does not fit in 4 bits (its value is 0x1811) . In fact, interfaces faster than 1Gb/s don't fit in 4 bits using the old scheme 3) Emits a warning on the console once per boot if it encounters a NIC with an unsupported speed to make it slightly more obvious why LACP might not behave as expected. This was prompted by a 400g nic with a broken media detection reporting "unknown" as its speed, and being unable to be in the same aggregation group with a different 400g nic that was properly reporting its speed. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D57026 Reviewed by: slavash
debug: classified in
03-filenames_plain1 by
'sys/net/'
Convert PFNL_CMD values in pf_nl.h from an enum to #define constants, add a pfnl_cmd table definition for mktable, and implement the corresponding command decoding helpers in libsysdecode. This allows mktable to generate PF netlink command lookup tables and enables symbolic decoding of PF netlink commands. Reviewed by: kp Signed-off-by: Ishan Agrawal <iagrawal9990@gmail.com> Sponsored by: Google LLC (GSoC 2026)
debug: Commit manually moved from "unknown" to "network".
Reported by: Andrew Griffiths <andrew@calif.io> Fixes: https://cgit.freebsd.org/src/commit/?id=069a67374ed9 ("ip6: Remove support for RFC2675 (Jumbo Payload Option)") Reviewed by: pouria, tuexen, glebius Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57341
debug: classified in
03-filenames_plain1 by
'sys/netinet6/'
Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Reviewed by: markj, bz, kp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57476
debug: classified in
03-filenames_plain1 by
'sys/net/'
Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57475
debug: classified in
03-filenames_plain1 by
'sys/netipsec/'
Stuff in man section 8 (other than networking).
The change to relaxed mode has had too many unintended breakages. Revert back to strict mode until that works for all the cases that are currently broken. Fixes: https://cgit.freebsd.org/src/commit/?id=784150fd2535, https://cgit.freebsd.org/src/commit/?id=d69fc3a9dc71 PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295289 Sponsored by: Netflix
debug: classified in
03-filenames_plain1 by 'stand/'
Since virtual_oss is now part of base, there is no reason not to provide
an installer option to enable it, and make it more visible to new users,
who might also benefit from the devd rules in /etc/devd/snd.conf, which
use virtual_oss, as well as 8532b4a43636 ("rc: virtual_oss: Create a
loopback device in the default configuration").
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Reviewed by: ivy
Pull-Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/31
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
Sponsored by: The FreeBSD Foundation MFC after: 1 week
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pfctl doesn't like empty anchors (-a ''), but we can specify the root anchor as '/' too, so do that instead. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295324 Tested by: Paweł Krawczyk MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate")
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
Since IPv6-only setups are becoming more common, and IPv6 connectivity is often sufficient for tasks such as DNS resolution and NTP time synchronization, update defaultroute rc.d script to support IPv6-only environments. Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D56797
debug: classified in
03-filenames_plain1 by
'libexec/'
This is useful for driving BE changes from the loader command prompt, rather than having to use the menu. Note that the active carousel in the boot environment carousel doesn't currently reflect a switch in boot environments done this way- I'm considering this only a minor bug, as you probably can't or won't go back to the menu if you're using these commands. Reviewed by: imp (previous version)
debug: classified in
03-filenames_plain1 by 'stand/'
nuageinit: fix dirname('/') returning nil instead of '/'
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: add dirname edge case tests
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: add config2_network DNS services test
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: add nil/empty guard to decode_base64() Return an empty string when input is nil or zero-length instead of processing it through the decoding loop.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: add hostname validation (RFC 952/1123) to sethostname() Validate hostnames before writing them: - Reject empty hostnames - Reject hostnames longer than 253 characters - Reject hostnames with invalid characters - Reject hostnames starting or ending with dot/hyphen - Reject labels longer than 63 characters - Reject labels starting or ending with hyphen Expand the sethostname test to cover all rejection cases. Update nuage.sh sethostname_body to ignore stderr (warnings).
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: remove dead checkgroup(), inline check in purge_group() Call getgroups() once instead of N times per call. Inline the membership check directly, removing the now-unused checkgroup() helper function.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: fix non-standard f:close(cmd) and remove dead precmd - f:close(cmd) -> f:close() in adduser() and exec_change_password(): the 'cmd' argument is not standard Lua and is silently ignored. - Remove dead 'precmd' variable in adduser().
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: fix TOCTOU in addsshkey, adddoas, addsudo Replace check-then-create patterns with direct creation: - addsshkey: check what exists before creation, use mkdir_p() for .ssh directory, handle errors with warnmsg() instead of assert(). Apply chmod/chown only on newly created files/directories. - adddoas: same pattern for doas.conf and the etc directory. - addsudo: same pattern for the sudoers file and sudoers.d directory. All three functions now use warnmsg() for error handling instead of returning nil,err or using assert().
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: fix update_sshd_config crash when file does not exist Previously update_sshd_config() would assert-fail if sshd_config did not exist. Now it creates a new file with the given key/value. Also replace the fragile simultaneous r+ + temp file approach with a cleaner read-then-write pattern: read all lines into memory, modify as needed, then write to a temp file and rename. All assert() calls replaced with proper error handling via warnmsg(). Add test case for missing file creation.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: refactor goto abuse in chpasswd() Replace goto next/list pattern with proper elseif/else control structure. The goto-based flow was fragile and hard to follow; the elseif chain makes the validation logic explicit and linear.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: complete SSH support with ssh_deletekeys and disable_root Add missing SSH cloud-config options from cloud-init spec: - ssh_deletekeys: remove existing SSH host keys on first boot so new ones are generated automatically by sshd(8). Implemented as delete_ssh_host_keys() in nuage.lua using lfs.dir() with a directory existence guard via lfs.attributes(). - disable_root: set PermitRootLogin to 'no' (or a custom value via disable_root_opts) in /etc/ssh/sshd_config. - disable_root_opts: optional string or array to override the PermitRootLogin value used when disable_root is true. Only the first array element is used.
debug: classified in
03-filenames_plain1 by
'libexec/'
While here, remove unnecessary blank lines. MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=6d65c91b9a47 ("etcupdate: fix arguments order of diff command") Reviewed by: Boris Lytochkin <lytboris@gmail.com> Differential Revision: https://reviews.freebsd.org/D57330
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pw: remove duplicate pw_user_add declarations
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pw: fix uninitialized name pointer in pw_group_del The 'name' variable could be left uninitialized if neither the positional argument nor -n is supplied, leading to undefined behavior when passed to getgroup().
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pw: fix inverted condition in shell_path error handling
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pw: fix const qualification in unquote() The unquote() function took a const char * parameter but modified the string in-place (removing quote characters). Change the parameter to char * and update callers that passed const char * to cast explicitly.
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pw: fix setmode(NULL) crash when homemode is a boolean value
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
pw: fix incorrect metalog path in mkdir_home_parents
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
nuageinit: implement bootcmd support Add support for the 'bootcmd' cloud-config directive, which allows running commands very early in the boot process, before the hostname is set and before the network is configured. - nuageinit: bootcmd() function follows the same pattern as runcmd(), writing commands to /var/cache/nuageinit/bootcmds instead of runcmds. It is the first entry in the pre_network_calls table. - rc.d/nuageinit: execute /var/cache/nuageinit/bootcmds immediately after /usr/libexec/nuageinit completes, before unmounting the config drive. This ensures bootcmd runs before NETWORKING per cloud-init spec.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement manage_etc_hosts support Add support for adding the instance hostname to /etc/hosts on the 127.0.0.1 and ::1 localhost lines, matching cloud-init's default behaviour (manage_etc_hosts: true). create a revolve_hostname helper to avoid code duplucation.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: add tests for bootcmd, ssh_deletekeys, disable_root, manage_etc_hosts
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement mounts support Add support for the 'mounts' cloud-config key which configures mount points by appending entries to /etc/fstab and creating the corresponding directories.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement resolv_conf support Add support for the 'resolv_conf' cloud-config key which writes directly to /etc/resolv.conf.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement keyboard support
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement ssh_authkey_fingerprints support Add support for the 'ssh_authkey_fingerprints' cloud-config key which logs SSH host key fingerprints to the console via ssh-keygen.
debug: classified in
03-filenames_plain1 by
'libexec/'
The common case for etcupdate is to run it after building and installing the world, in which case we already have an object directory to draw on. Add a -b option to turn nobuild off (opposite of -B), and turn nobuild on by default. MFC after: 1 week Reviewed by: jhb, emaste Differential Revision: https://reviews.freebsd.org/D57306
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
On startup, check that /dev/null exists and is a character device. Otherwise, one of two things will happen: either /dev is a writable directory and we will immediately create /dev/null as a regular file and dump garbage into it, or it does not and we will spit out a stream of error messages about failing to create /dev/null. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295782 MFC after: 1 week Reviewed by: jhb, emaste Differential Revision: https://reviews.freebsd.org/D57447
debug: classified in
03-filenames_plain1 by
'libexec/'
bhyve's -p allows to pin guest's virtual CPU vcpu to hostcpu, however this becomes very tedious work when you have to pin more than a single CPU. This allows to pass a range to -p, e.g. -p 0-3:4-7 which will pin the cpus 0:4, 1:5, 2:6, 3:7. The ranges must be equal and the CPU numbers must be ascending. Sponsored by: Armenian Bioinformatics Institute Reviewed by: corvink, markj Tested by: bnovkov MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D54937
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
Prior to this commit, we'd compute the page tables and have the last entries point to the staging area. We'd then add some more metadata to the image and boot. This assumed the staging area didn't need to move for this last bit of data. However, if we go over the staging limit, when we copyin new data, we grow the staging area, usually be moving it to a lower address. This overage usually happens when we're loading modules and so things work out nicely. Sometimes we're close to the limit, and we need to do this growing inside bi_load, after we've computed the page table, making the page table wrong, and the code we jump to random rather than the btext routine we normally start at. To fix this, move computation of the table (but not its allocation) to after bi_load, but before we call the trampoline. This problem was most observed when loading microcode for many peole, but Gleb reproduced the error with a set of modules that didn't include ucode. This bug hunt was greatly assisted by Claude who looked at the crash from the EFI boot loader and surmised that we weren't jumping to the code we thought we were jumping to. After inspecting the code, I asked claude how corruption could happen (I thought overwriting the page table), but claude notice the possibility that staging might change after we computed the page table, and this fix is the result. Claude didn't suggest a diff, but did provide many helpful clues that lead me to this fix. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294630 Reviewed by: kib (prior version) Sponsored by: Netflix MFC After: insta per re@ request Differential Revision: https://reviews.freebsd.org/D57462
debug: classified in
03-filenames_plain1 by 'stand/'
nuageinit: implement ntp support Add support for the 'ntp' cloud-config key which configures NTP by writing /etc/ntp.conf with server and pool entries.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement ca_certs support Add support for the 'ca_certs' cloud-config key which manages CA certificates by writing them to /etc/ssl/certs/ and running certctl rehash.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement MIME multipart user-data support Add support for MIME multipart/mixed user-data, allowing a single user-data blob to contain multiple parts with different content types.
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement power_state_change and locale support
debug: classified in
03-filenames_plain1 by
'libexec/'
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement final_message support
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: implement phone_home support Posts instance data (hostname, instance_id, public keys) to a URL using fetch(1). Supports: - url: target URL - post: list of data items to send, or 'all' - tries: number of retry attempts (default 1)
debug: classified in
03-filenames_plain1 by
'libexec/'
nuageinit: expose decode_base64 to fix tests
debug: classified in
03-filenames_plain1 by
'libexec/'
Suggested by: kevans
debug: classified in
03-filenames_plain1 by
'libexec/'
- Update /etc/protocols with IANA list updated 2026-03-09. - Document that 240 (pfsync) is not assigned by IANA. - Document deprecated protocols. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295739 Reviewed by: des MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57445
debug: classified in
04-filenames_plain2 by 'lib/'
Signed-off-by: Faraz Vahedi <kfv@kfv.io> Pull Request: https://github.com/freebsd/freebsd-src/pull/2243 Reviewed by: fuz MFC after: 1 week
debug: classified in
04-filenames_plain2 by 'lib/'
Paul Zimmermann (of Core-Math and MPFR fame) graciously tested
the recently committed rsqrt[fl]() functions. He identified 127
incorrectly rounded values for rsqrtf() in round-to-nearest mode.
This patch fixes the rounding in RN. Exhaustive testing now shows
that rsqrtf() is corrected rounded for RN. He also tested rsqrt()
and rsqrtl() in the interval [1,4). Both appear to be correctly
rounded. Finally, the patch includes small changes to comments.
A concise list of changes is
* lib/msun/src/s_rsqrt.c:
. Fix comments.
* lib/msun/src/s_rsqrtf.c
. Fix comments.
. Exhaustive testing by Paul Zimmermann found 127 incorrectly
rounded values in round-to-nearests. These gave have the
form 0x1.13e07pN with N an odd integer. With this patch, all
values are now correctly rounded in round-to-nearest.
* lib/msun/src/s_rsqrtl.c
. Fix comments.
. Move all variable declarations to top of function and sort.
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295706
MFC after: 1 week
Fixes: https://cgit.freebsd.org/src/commit/?id=3085fc9d97bd83785ba3ba43e0378d7d67987d1f
debug: classified in
04-filenames_plain2 by 'lib/'
Add C23 sized deallocation entry points as thin wrappers around free(3). Implementations may ignore size and alignment hints, so behaviour stays correct for existing allocations without validating caller metadata yet. When jemalloc is updated to 5.3.1, rewire these to je_free_sized() and je_free_aligned_sized() so deallocation can use the allocator's sized deallocation (free_sized for fast paths and free_aligned_sized for correct aligned hints.) Please note this change satisfies the standard interface only. Both functions should be delegated to jemalloc after the upgrade so callers get the intended allocator behaviour; until then, hints are unused and neither sized nor aligned-sized deallocation optimizations apply. Signed-off-by: Faraz Vahedi <kfv@kfv.io> Reviewed by: fuz Pull Request: https://github.com/freebsd/freebsd-src/pull/2201 MFC after: 1 month
debug: classified in
05-summary-prefix by 'lib.*:'
Long file names are using UTF-16 symbols to represent international or special characters. The implementation in FreeBSD did not support the "Supplementary Private Use Area-B" (PUA-B), which requires a surrogate pair to be represented in UTF-16 (Unicode code points beyond U+FFFF). The PUA-B is used to represent emoji characters, which are supported in file names on other common operating systems. The motivation for this change was that removable media written on another system were only partially readable on FreeBSD, since they contained emojis in file names. A test script that verifies correct operations on files names with emojis has been added to the tools/test/stress2/misc directory under the name msdos24.sh. Reported by: Fabian Keil <fk@fabiankeil.de> Reviewed by: ib Approved by: mkcusick MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D57313
debug: classified in
03-filenames_plain1 by
'sys/fs/'
Git 1111a44301da - main - Defer the January 19, 2038 date limit in UFS1 file systems to February 7, 2106 - did so by changing the UFS1 32-bit signed timestamps to unsigned. With this change, time stamps from before January 1, 1970 went from being negative numbers to large positive numbers implying times in the future. When such a time stamp is encountered when an inode is read into memory or when it is encountered by fsck, its timestamp is replaced with the kernel's current time. Andre Albsmeier reported that he had a machine reboot after a power failure and the battery that maintained its real-time clock had died. The result was that the system booted with the time set to five years earlier (absent a real-time clock value, the boot ROM used the time that the boot ROM had last been updated). The net result was that fsck reset the time stamps of all files newer than five years old to the five year old time. Andres's original request was for a flag in the file system superblock to say that there are no timestamps from before 1970 in the file system, so there shouldn't be anything to fix because of the signed to unsigned switch. But this assumes that no one every does an rsync or extracts a tar file or restores a dump that introduces an incorrect time stamp on their system. So this approach was not taken. This change compares the system's version of the current time to the last modification time in the file system superblock. If the current time is earlier than that time then use the last modification time in the superblock as the value for the current time. There should be no files in the file system with times newer than the last modification time in the superblock. The superblock time stamp is updated in the in-memory superblock every time any change is made to anything in the file system. The superblock is written to the disk every 30 seconds, so it may be off by up to 30 seconds plus the time it sits in the disk cache waiting to be written if the system has an unclean shutdown (such as a power failure). Thus, the worst case scenario with this change is that files written in the last 30 seconds plus disk cache delay time before the crash may have their times adjusted back by up to 30 seconds plus the disk cache delay time. Requested by: Andre Albsmeier Approved by: kib Reviewed by: kib, imp, Andre Albsmeier MFC-after: 1 week Differential Revision: https://reviews.freebsd.org/D57371
debug: Commit manually moved from "unknown" to "filesystems".
Since the File 4.1 layout is only supported by some large configurations of Netapp Filers, switch the client pNFS code to attempting to use Flexible File Format first. File 4.1 Layout should still work for any servers that do no support Flexible File Layout.
debug: classified in
03-filenames_plain1 by
'sys/fs/'
Without this patch, the NFSv4.1/4.2 pNFS server configuration did not support striping. This was mainly because the Linux client driver did not support it either. The Linux client driver for Flexible File layout does now support striping. (Linux kernel version 6.18 or newer) As such, this patch adds striping support. The configuration is currently just two new sysctls called vfs.nfsd.pnfsstripeunit - Size (in bytes) of a stripe vfs.nfsd.pnfsstripecnt - # of DSs to stripe across A setting of 0 for the first sysctl and 1 for the second disables striping. A patch that allows use of a different striping configuration for each exported MDS file system is planned for the future. The pnfsdscopymr may be broken by this patch, but since no one reported that they were actually using a pNFS server configuration, I do not believe that will be a problem at this time. Until the FreeBSD NFSv4.1/4.2 client is patched to handle striped flexible file layouts, mounts to a striped pNFS configuration must be done without the "pnfs" mount option. (Linux systems with a kernel version of 6.18 or newer should be able to handle a striped pNFS configuration.) Future patches that convert the pNFS server to a "loosely coupled" configuration (which allows the use of non-FreeBSD servers as DSs) are anticipated.
debug: classified in
03-filenames_plain1 by
'sys/fs/'
Commit 4d80d4913e79 fixed a long standing bug in the recovery code. However. glebius@ reported seeing multiple recovery cycles with this patch during an NFSv4.1/4.2 server reboot. This commit should minimize the risk of multiple recovery cycles. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294925 Reported by: Jov <amutu@amutu.com> MFC after: 2 weeks Fixes: https://cgit.freebsd.org/src/commit/?id=4d80d4913e79 ("nfs: Fix argument typo to avoid a crash")
debug: classified in
03-filenames_plain1 by
'sys/fs/'
Commit 72e57bc26417 added support for striping to the pNFS server when using the Flexible File layout. It is configured globally via the following sysctls: vfs.nfsd.pnfsstripeunit - Size (in bytes) of a stripe vfs.nfsd.pnfsstripecnt - # of DSs to stripe across This patch allows the above settings to be overridden on a per-MDS exported file system basis. With this patch, a stripeunit can optionally be specified for the MDS file system listed when one is listed after a '#' in the "-p" nfsd argument. This is done by appending "@NNN", where NNN is the stripeunit, in bytes. The current syntax implies that neither a '#' nor '@' can be in the MDS mount point's directory path. This patch does not affect current pNFS server configurations (of which there appears to be very few, anyhow).
debug: classified in
03-filenames_plain1 by
'sys/fs/'
Notable upstream pull request merges:
#18372 eaaea55b6 Consistently encode DRR_BEGIN packed nvlist payloads with
NV_ENCODE_XDR
#18410 891e379d0 Fix failfast default and usage
#18470 a2d053329 zdb: Add some more file layout output, triggered by -v
#18472 d50f5b6d0 dsl_dir: avoid dd_lock during snapshots_changed updates
#18493 d65015938 Vdev allocation bias/class change
#18497 8fdc86675 zfs: annotate nested dd_lock in reservation sync
accounting
#18494 956deba27 zdb: detect BRT and DDT leaks during block traversal
#18499 c7cfe0805 zarcstat: detect attached L2ARC device with no data
#18503 439b802e7 sa: fix sa_add_projid lock ordering
#18508 968f4db03 zpool-attach.8: add EXAMPLES section
#18513 45dddc452 zfs.4: Fix documentation of zfs_arc_dnode_reduce_percent
#18516 8ff64005a zap: split implementation out into more files
#18520 181e1b522 Fix double free for blocks cloned after DDT prune
#18535 -multiple zstream: fix crashes when refcount tracking enabled
#18536 -multiple refcount tag fixups
#18541 a65ed7afd zpool/zfs: accept --help and -? after a subcommand
#18544 6fb72fda0 zio_ddt_write: compute have_dvas after taking dde_io_lock
#18546 -multiple zap: internal locking uplift
#18550 40a87651d zap_impl: use flex array field for mzap_phys_t.mz_chunks
#18551 -multiple zap: make the _by_dnode() op variants be the primary
implementation
#18570 112b0131b zpl_xattr: stop heap-allocating prefixed xattr names
#18578 4bc8c39b6 zed: Prefer dRAID distributed spares to regular ones
#18596 e30ab5fa4 FreeBSD: Make it possible to build openzfs.ko with
sanitizers
#18597 472ddca11 zed: Prefer spares with matching rotational and size
#18599 c90dc2808 enforce exact decompressed length for lz4, gzip, and zstd
#18603 -multiple zap: add zap_cursor_init_by_dnode; cursor unit tests;
mock dnode refcounts
#18604 59dc88602 nvpair: Check for un-terminated strings in packed nvlist
#18606 ef6f26145 When reading a vdev label skip libzfs_core_init()
#18613 0aa4088dc sharenfs: Check for invalid characters
#18615 80fb85b80 Fix the integer type in zfs_ioc_userspace_many()
#18616 e199f6d98 Fix uninitialized variable warning in vdev_prop_get()
#18617 7de42602c Extend dataset zfs_ioc_set_prop() secpolicy
#18622 5fea0c838 Parallelize metaslab_sync_done() calls
#18623 cab50d5ad Add additional verification of size fields and strings
#18630 -multiple zap: misc function removal / uplift / tests
#18633 a8ef128da Fix uninitialized variable warning in zil_parse()
Obtained from: OpenZFS
OpenZFS commit: a170134febea405c6b6f5ed51724cdcfb6d8e726
debug: classified in
05-summary-prefix by 'zfs:'
Kernel stuff (other than networking, filesystems, and drivers).
parse_rules() has been calling toast_rules() in case of a parse error in order to deallocate the 'struct rule' objects it has constructed up to that point. toast_rules() would take a pointer to a full 'struct rules' object, and besides freeing all 'struct rule' referenced by it, would also free the holding 'struct rules' itself. With the introduction of the "executable paths" feature, and the embedding of 'struct rules' into 'struct conf', meaning that the lifecycle for 'struct rules' was no longer independent, toast_rules() was changed not to free the passed 'struct rules' (as it was a field of a 'struct conf' object). Unfortunately, this change was not completed with a reinitialization of the rules list head, so the 'struct conf' object would continue to reference just-freed rules, which then would be freed a second time on destruction of that container. So, make toast_rules() re-initialize the rules list in 'struct rules', which it logically has been having to do since not freeing the enclosing 'struct rules'. This alone is enough to fix the bug, but let's use the occasion to change the contract of parse_rules() and bring its herald comment up-to-date: On error, parse_rules() now simply leaves already constructed 'struct rule' objects in 'conf'. The latter is eventually destroyed and the rule objects reclaimed at that point. Add a test trying to set an invalid rules configuration with the first rule being valid and the second being invalid, which triggers the bug (and an immediate panic() on an INVARIANTS kernel). Reported by: impost0r(ret2plt) <impostor@ret2p.lt> Reviewed by: markj Fixes: https://cgit.freebsd.org/src/commit/?id=9818224174c4 ("MAC/do: Executable paths feature (GSoC 2025's final state)") Sponsored by: The FreeBSD Foundation
debug: classified in
04-filenames_plain2 by 'sys/'
Reviewed by: oshogbo Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57345
debug: classified in
04-filenames_plain2 by 'sys/'
We implement all of the currently-defined Linux inotify mask bits and flags, with the same values as Linux. Return EINVAL for unknown bits, as Linux does. This also moves the translation inline into linux_inotify_add_watch. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57387
debug: classified in
04-filenames_plain2 by 'sys/'
Implement NT_PRFPREG and NT_X86_XSTATE for PTRACE_GETREGSET on amd64. Chrome's crashpad handler uses these to collect floating-point and extended CPU register state for crash dumps. Other architectures retain the previous EINVAL stub behavior. Signed-off-by: Ricardo Branco <rbranco@suse.de> PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289285 Reviewed by: kib Pull-Request: https://github.com/freebsd/freebsd-src/pull/2165
debug: classified in
04-filenames_plain2 by 'sys/'
Prevent LINUX_SI_TKILL from inadvertently falling through to LINUX_SI_QUEUE, which incorrectly overwrote si_code with SI_QUEUE instead of SI_LWP.
debug: classified in
04-filenames_plain2 by 'sys/'
bindat(2)/connectat(2): allow implicit EMPTYPATH for unix domain sockets path specification. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57370
debug: classified in
04-filenames_plain2 by 'sys/'
uipc_usrreq: revert addition of EMPTYPATH for bindat(2) The caller wants the parent vnode, which cannot be provided for emptypath lookups. Reported and reviewed by: markj Fixes: https://cgit.freebsd.org/src/commit/?id=12c590a9abd7 ("bindat(2)/connectat(2): allow implicit EMPTYPATH for unix domain sockets") Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57448
debug: classified in
04-filenames_plain2 by 'sys/'
amd64: complete thunderbolt KERNCONF integration This completes the work so the driver can be integrated into KERNCONFs properly on amd64. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D55573
debug: classified in
04-filenames_plain2 by 'sys/'
thunderbolt: Fix INVARIANTS compilation The problem is that THUNDERBOLT_DEBUG triggers the use of some variables, but it is independent of INVARIANTS and the variables it uses were tagged with '__diagused'. Fix this by using '__maybe_unused' in those places. Fixes: https://cgit.freebsd.org/src/commit/?id=183633079178 ("thunderbolt: make code -Wunused clean") Fixes: https://cgit.freebsd.org/src/commit/?id=886164895f3f ("amd64: complete thunderbolt KERNCONF integration") Sponsored by: The FreeBSD Foundation
debug: classified in
03-filenames_plain1 by
'sys/dev/'
debug: moved to kernel because
'Need to be grouped with
886164895f3f4805dc11171ac7980acaccf6ec77'
i386's genassym.c needs to define some assembly symbols holding the size
of NFS structures to support NFS_ROOT while booting with a nfs_diskless
structure. For this, it needs to include a few NFS headers, which
require definitions from <sys/mount.h> (fhandle_t, vfs_init_t), which
was removed by commit 72ab129799a2 ("x86: remove sys/mount.h from
genassym.c").
Since recently, <sys/mount.h> has been including <sys/vnode.h>, so needs
"vnode_if.h" to have been generated for the compilation of 'genassym.o'
not to fail. Make sure this is the case (for all architectures for
simplicity) by tweaking the rule for 'genassym.o' in
'sys/conf/kern.post.mk', leaving a comment there so that it can be
removed when i386 is dropped (or if the above-mentioned dependency is
broken).
Fixes: https://cgit.freebsd.org/src/commit/?id=72ab129799a2 ("x86: remove sys/mount.h from genassym.c")
Sponsored by: The FreeBSD Foundation
debug: classified in
04-filenames_plain2 by 'sys/'
Include <linux/types.h> for `false`. This is needed by amdgpu somewhere between Linux 6.12 and 6.15. Reviewed by: Minsoo Choo <minsoo@minsoo.io>, bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57415
debug: classified in
04-filenames_plain2 by 'sys/'
See the commit log for the why. MFC after: 3 days Sponsored by: The FreeBSD Foundation
debug: classified in
04-filenames_plain2 by 'sys/'
No functional change. MFC after: 3 days Sponsored by: The FreeBSD Foundation
debug: classified in
04-filenames_plain2 by 'sys/'
This will be used by amdgpu as of Linux 6.13. Reviewed by: bz Sponsored by: The FreeBSD Foundation
debug: classified in
04-filenames_plain2 by 'sys/'
LinuxKPI: 802.11: add three more driver downcalls Add (*link_sta_rc_update), (*set_bitrate_mask), and (*sta_set_decap_offload) mac80211 driver downcalls in preparation for further work. Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
04-filenames_plain2 by 'sys/'
LinuxKPI: 802.11: implement ieee80211_start_tx_ba_session() Implement ieee80211_start_tx_ba_session() as a start for rtw8x (and select mt76 chipsets) to support more throughput. Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
04-filenames_plain2 by 'sys/'
LinuxKPI: 802.11: add note about rate control support under boot -v We currently do not support rate control in LinuxKPI. As more drivers and chipsets gain suppport for higher throughput add a note under bootverbose if we hit one of these cases (currently only older iwlwifi chipsets). Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
04-filenames_plain2 by 'sys/'
LinuxKPI: 802.11: adjust tracing for action/ampdu/addba functions Adjust the pure debug tracing to no longer be under HT and add more to the other functions we are interested in, so we can follow the calls more easily. Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
04-filenames_plain2 by 'sys/'
LinuxKPI: 802.11: make *addba* work better Fill in more details for lkpi_ic_addba_request(), lkpi_ic_addba_response(), and lkpi_ic_addba_response_timeout(). Migrate the ltxq flags seen_dequeue and stopped to a bitfield and add %b support to log messages. This seemed the better approach after needing an additional stop field for BA while we have to hold packets from being transmitted. Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
04-filenames_plain2 by 'sys/'
LinuxKPI: 802.11: set flag if frame should be part of an A-MPDU In the output path where we are sending a frame to the driver mark it if it should be part of an A-MPDU based on its tid, type, and whether net80211 thinks that we are in the right state for this. Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
04-filenames_plain2 by 'sys/'
The `ksiginfo_t` flag `KSI_TRAP` is set both for exceptions and when copying between userspace and the kernel fails. In the latter case, the exception syndrome register as captured in `struct trapframe` won't be valid. That means we can't use `KSI_TRAP` to determine whether `tf_esr` is valid. This motivates the addition of a new flag, here called `KSI_EXCEPT`, for specifically identifying signals caused by exceptions. It is added to `ksi_flags` via `trapsignal`. Signed-off-by: Alex Arslan <ararslan@comcast.net> Reported by: andrew Pull Request: https://github.com/freebsd/freebsd-src/pull/2053
debug: classified in
04-filenames_plain2 by 'sys/'
It was previously not possible to poll() or select() on the trigger device, which made implementing proper signal handling in auditd difficult. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, markj Differential Revision: https://reviews.freebsd.org/D57457
debug: classified in
04-filenames_plain2 by 'sys/'
This reduces the size of a trigger entry from 24 bytes to 16 (or from 12 bytes to 8 on 32-bit) with no additional complexity. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D57464
debug: classified in
04-filenames_plain2 by 'sys/'
The vn_start_write() call there is already interruptible. Check for user signals before restarting due to ERELOOKUP, or after failed vn_start_write(). Note that vn_start_write(V_XSLEEP | V_PCATCH) does not check for signals if not sleeping. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295826 Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57453
debug: classified in
04-filenames_plain2 by 'sys/'
Check for tdvp being vp_crossmp. This cannot happen for the normal rename cases, but could if the target path specified by the syscall points to the nullfs mount over the regular file. In this case namei() cannot step over crossmp, and keep it in ni_dvp. Since crossmp VOP_GETWRITEMOUNT() returns NULL mp, we retry the locking dance since the belief is that NULL return is transient. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295826 Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57453
debug: classified in
04-filenames_plain2 by 'sys/'
Reviewed by: bz Sponsored by: The FreeBSD Foundation Fixes: https://cgit.freebsd.org/src/commit/?id=0936c648ad0ee ("LinuxKPI: 802.11: update the ni/lsta reference cycle") Fixes: https://cgit.freebsd.org/src/commit/?id=c816f64e66a0d ("LinuxKPI: 802.11: plug mbuf leak") Differential Revision: https://reviews.freebsd.org/D57477
debug: classified in
04-filenames_plain2 by 'sys/'
Support for swapping out kernel stacks was removed, so the PHOLD has no purpose. (And even before that, it's not clear why a swapout here would have been problematic.) Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57486
debug: classified in
04-filenames_plain2 by 'sys/'
Requested and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57491
debug: classified in
04-filenames_plain2 by 'sys/'
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57487
debug: classified in
04-filenames_plain2 by 'sys/'
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57487
debug: classified in
04-filenames_plain2 by 'sys/'
libarchive: Clean up the build configuration * Move settings duplicated in libarchive, bsdcat, bsdcpio, bsdtar, and bsdunzip into libarchive's Makefile.inc. * Drop some CFLAGS that merely duplicated some of the contents of our platform configuration header. MFC after: 1 week Reviewed by: mm Differential Revision: https://reviews.freebsd.org/D57307
debug: classified in
02-filenames_wildcards by
'.*Makefile'
libarchive: Fix typo in sed command MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=eb3a0a74a069 ("libarchive: Clean up the build configuration") Reported by: Shawn Webb <shawn.webb@hardenedbsd.org>
debug: classified in 01-style
by '[tT]ypo'
debug: moved to build because
'Need to be grouped with
eb3a0a74a069d0f294e1596504676459282bb308'
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295704 MFC after: 1 week
debug: classified in
02-filenames_wildcards by
'.*Makefile'
If pkg is installed, for each old library found to still be present, check if any installed packages either provide or require the library, and inform the user. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D53977
debug: classified in
02-filenames_wildcards by
'.*Makefile'
A bug was discovered in the riscv64 assembly implementation of this function. Fall back to the generic implementation until a fix can be developed. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295823 Reported by: siva MFC after: 1 week
debug: classified in
02-filenames_wildcards by
'.*Makefile'
We have to switch back to the previous rule once the temporary build fix has been replaced with a permanent fix. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295823 See also: 4996ebdb720042239a197ebec2d265cdfdf1bbf3 Reported by: siva MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'tools/build/'
These were dropped in 2021 but were never listed in ObsoleteFiles.inc, so systems that have been upgraded from source since before that date (or from 13.x) may still have them. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295668 MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=0a36787e4c1f ("locales: separate unicode from other locales") Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D57331
debug: classified in
03-filenames_plain1 by
'ObsoleteFiles.inc'
debug: classified in
03-filenames_plain1 by '['.github/',
'MAINTAINERS']'
lib/libc/tests/gen: add fts_set() tests Add ATF test cases for fts_set(): fts_set: - invalid instruction returns non-zero with EINVAL - FTS_AGAIN revisits the current node - FTS_AGAIN consecutive visits node three times - FTS_FOLLOW on symlink to file yields FTS_F - FTS_FOLLOW on symlink to directory causes descent - FTS_FOLLOW on dead symlink yields FTS_SLNONE - FTS_SKIP prevents descent into directory - fts_set_clientptr/fts_get_clientptr round-trip - fts_get_stream returns parent FTS* from FTSENT* Sponsored by: Google LLC (GSoC 2026) Reviewed by: asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2242
debug: classified in
03-filenames_plain1 by
'lib/libc/tests/'
fts: address post-merge feedback on fts_set_test.c Per review by des@: - Remove fts_check_debug() which has no effect in fts_set_test.c, and remove unused #include "fts_test.h" - Add errno = 0 before fts_read() so errno check is meaningful - Remove fts_lexical_compar where traversal order does not matter - Change int boolean flags to bool throughout - Use !saw_inside instead of saw_inside == false - Move fts_set_clientptr/fts_get_clientptr test inside fts_read() loop so the pointer is exercised during active traversal Fixes: https://cgit.freebsd.org/src/commit/?id=940142d6103 ("lib/libc/tests/gen: add fts_set() tests") Sponsored by: Google LLC (GSoC 2026) Reviewed by: des, asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2258
debug: classified in
03-filenames_plain1 by
'lib/libc/tests/'
Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57403
debug: classified in
02b-filenames_wildcards2 by
'usr.bin/.*/tests/.*'
Cause a write error using a fifo and wait, rather than needing a sleep to wait for something to terminate. This is faster and avoids a potential test failure on a heavily loaded system. Using /dev/full would be simpler, but it is not portable enough (it tends not to be available in jails, even). Starting programs with stdout not open or only open for read/execute/search may have unexpected side effects. Reviewed by: ngie, des Differential Revision: https://reviews.freebsd.org/D57213
debug: classified in
02b-filenames_wildcards2 by
'['bin/.*/tests/.*', 'usr.bin/.*/tests/.*']'
- Remove fts_check_debug() which is only needed by test cases that use the fts_test() helper; fts_children_test.c does not call fts_test() - Remove fts_lexical_compar where traversal order does not matter for the test result - Drop fts_test.h and copy fts_lexical_compar locally - Pull up NULL argument onto same line as fts_open Fixes: https://cgit.freebsd.org/src/commit/?id=e624417db8a1 ("lib/libc/tests/gen: add fts_children() tests") Sponsored by: Google LLC (GSoC 2026) Reviewed by: des, asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2260
debug: classified in
03-filenames_plain1 by
'lib/libc/tests/'
Extend fts_misc_test.c with additional test cases: - FTS_NOCHDIR with absolute paths allows application chdir freely - fts_name is always NUL-terminated with correct fts_namelen - FTS_D/FTS_DP are paired and fts_level increments correctly - FTSENT fts_errno/fts_dev/fts_ino/fts_nlink are correct - circular symlink loop under FTS_PHYSICAL terminates - cycle via symlink under FTS_LOGICAL yields FTS_DC - fts_close after root deletion must not crash - fts_close after root rename restores CWD (SVN r77497) - FTS_NOCHDIR + empty directory does not corrupt path (SVN r49772) - FTS_NS entry has non-zero fts_errno - FTS_XDEV and FTS_WHITEOUT stubbed pending mount setup Sponsored by: Google LLC (GSoC 2026) Reviewed by: asomers, jillest MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2248
debug: classified in
03-filenames_plain1 by
'lib/libc/tests/'
Add ATF regression tests for previously-fixed fts(3) bugs: - PR 45723: directory with read but no execute is traversed via FTS_DONTCHDIR fallback, not silently skipped (commit 1e03bff7f2b7) - PR 196724: FTS_SLNONE must not be returned for a non-symlink; time-bounded race test runs for 1 second with concurrent file creation/deletion (commit bf4374c54589) - PR 262038: readdir(2) errors produce FTS_DNR with fts_errno set, not silently treated as end-of-directory (commit 0cff70ca6654) - SVN r246641: normal traversal works correctly with O_DIRECTORY fix in fts_safe_changedir() (commit f9928f1705ee) - SVN r261589: no crash when tree modified during traversal; time-bounded race test runs for 1 second with concurrent file creation/deletion (commit c6d38f088e5c) Sponsored by: Google LLC (GSoC 2026) Reviewed by: asomers MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2257
debug: classified in
03-filenames_plain1 by
'lib/libc/tests/'
These could go in other categories, but it's more clear if they're here instead.
Fixes: https://cgit.freebsd.org/src/commit/?id=af2c7d9f6452 ("style.9: Encourage style changes when doing significant modifications") MFC after: 1 day Sponsored by: The FreeBSD Foundation
debug: classified in 01-style
by '[tT]ypo'
style(9) still allows TAB after #define but this is a historical
artifact and by far the minority of uses cases. Going forward, we would
like to promote the use of a single space, as it allows alignment to
survive line prefixing (such as in diffs).
style(9) also has prescribed a single space between '#else' or '#endif'
and a comment recalling the guard since 2002.
So, commit 157c184689ea ("assert.h: Remove leading tabs for whitespace
consistency") was good, and in line with rules about whitespace changes
(since the file was heavily modified by surrounding commits).
This commit is thus basically a revert of 439710cf003b ("assert.h:
Revert "Remove leading tabs for whitespace consistency"), which extended
replacing spaces with TABs in the code introduced in the meantime (after
commit 157c184689ea).
Reviewed by: fuz, imp
Fixes: https://cgit.freebsd.org/src/commit/?id=439710cf003b ("assert.h: Revert "Remove leading tabs for whitespace consistency")
MAC after: 3 days
Differential Revision: https://reviews.freebsd.org/D57391
debug: classified in 01-style
by '[sS]tyle'
.git-blame-ignore-revs: <assert.h> whitespace changes Reminded by: brooks Sponsored by: The FreeBSD Foundation
debug: classified in 01-style
by '[wW]hitespace'
.git-blame-ignore-revs: <assert.h> whitespace changes: Fix comment Fixes: https://cgit.freebsd.org/src/commit/?id=8ee0f80252d1 (".git-blame-ignore-revs: <assert.h> whitespace changes") Sponsored by: The FreeBSD Foundation
debug: classified in 01-style
by '[wW]hitespace'
Approved by: bapt Differential Revision: https://reviews.freebsd.org/D55627 Upstream: https://github.com/corecode/dma/pull/152
debug: classified in
03-filenames_plain1 by
'contrib/'
[Serialization] Fix assertion on re-deserialized friend template spec… (#200566)
…ialization in PCH (#198133)
A friend function-template specialization declared inside a class
template is serialized into a PCH. When the class template is later
instantiated while loading the PCH, the friend specialization can be
deserialized re-entrantly (VisitFriendDecl -> VisitFunctionDecl -> ...
-> VisitFunctionDecl for the same specialization) at the same time as
the canonical copy, producing two redeclarations of the same
specialization in the template's specialization set.
ASTDeclReader::VisitFunctionDecl asserted that this collision could only
happen when merging declarations from different modules. Since
38b3d87bd384, friend functions defined inside dependent class templates
are loaded eagerly, so the collision can now also occur within a single
PCH/AST file (non-modules build), tripping the assertion:
Assertion failed: (Reader.getContext().getLangOpts().Modules &&
"already deserialized this template specialization"), function
VisitFunctionDecl
The merge that follows (mergeRedeclarable) already links the two
redeclarations correctly regardless of whether modules are enabled, so
the fix is to drop the modules-only assumption and let the merge run.
Fixes https://github.com/llvm/llvm-project/issues/198133
This fixes (well, simply removes :) an assertion when building the
cad/OrcaSlicer port with precompiled headers turned on.
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295296
MFC after: 3 days
debug: classified in
03-filenames_plain1 by
'contrib/'
MFV: file 5.47. MFC after: 3 days
debug: classified in
05-summary-prefix by 'MFV:'
file: normalize .result files to ensure trailing newline on install Some upstream result files introduced in file 5.47 (e.g., bgcode.result) lack a trailing newline, causing the contrib_file_tests ATF test to fail with "cmp: EOF on bgcode.result". Generate normalized copies of the expected results and install those instead. MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=e949ce9dc0e6fff26e83904f1008b76d36ba0a37
debug: classified in
02-filenames_wildcards by
'.*Makefile'
debug: moved to contrib because
'Need to be grouped with
e949ce9dc0e6fff26e83904f1008b76d36ba0a37'
Correctly declare vfs.zfs.metaslab.condense_pct The following sysctls have moved to metaslab.c: vfs.zfs.metaslab.df_alloc_threshold vfs.zfs.metaslab.df_free_pct vfs.zfs.metaslab.sm_blksz_no_log vfs.zfs.metaslab.sm_blksz_with_log Reported by: dim@FreeBSD.org
debug: classified in
03-filenames_plain1 by
'sys/contrib'
defaultroute: Fix dual-stack and IPv6-only handling Since IPv6-only setups are becoming more common, and IPv6 connectivity is often sufficient for tasks such as DNS resolution and NTP time synchronization, update defaultroute rc.d script to support IPv6-only environments. Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D56797
debug: classified in 00-reverts
by 'This reverts commit
\b([0-9a-fA-F]{40})\b'
Revert "defaultroute: Fix dual-stack and IPv6-only handling" This reverts commit 5b5a836e72ec2614def23409674822c907cf3740. Despite using arcpatch for this commit, I attributed the wrong author of the patch.
debug: classified in 00-reverts
by 'This reverts commit
\b([0-9a-fA-F]{40})\b'
libc: Constify the getcap API MFC after: 1 week Inspired by: NetBSD Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D57252
debug: classified in 00-reverts
by 'This reverts commit
\b([0-9a-fA-F]{40})\b'
Revert "libc: Constify the getcap API" This broke cross-building on Linux and macOS. This reverts commit 823d00b2d447247f1c5860e3bbc61f6fd19a70e5.
debug: classified in 00-reverts
by 'This reverts commit
\b([0-9a-fA-F]{40})\b'
Not classified automatically, and waiting for manual attention.
-- no commits in this category this week --
Dates:
cgit.freebsd.org/src. Git accurately records the
order of commits, but not their dates.Automatic grouping:
This reverts commit \\b([0-9a-fA-F]{40})\\b
and the hash was found in this week's commits.
Automatic categories:
Source code:
Generated with commits-periodical 0.20 at 2026-07-13 17:53:14+00:00.
This work is supported by Tarsnap Backup Inc.
Alternate version: 2026-06-01 (release)