This is a display of mostly-automatically-classified git commits from 2026-04-01 to 2026-07-31.
This report is still in progress.
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:
| (5) | Highlighted commits (these are copies, not in stats) | |
| 2 | 0.9% | Userland programs |
| 17 | 7.8% | Documentation |
| 36 | 16.5% | Hardware support |
| 31 | 14.2% | Networking |
| 24 | 11.0% | System administration |
| 10 | 4.6% | Libraries |
| 2 | 0.9% | Filesystems |
| 46 | 21.1% | Kernel |
| 17 | 7.8% | Build system |
| 2 | 0.9% | Internal organizational stuff |
| 7 | 3.2% | Testing |
| 10 | 4.6% | Style, typos, and comments |
| 13 | 6.0% | Contrib code |
| 1 | 0.5% | Reverted commits |
| 0 | 0.0% | Unclassified commits |
| 218 | 100% | total |
| Technical notes about this page |
debug: info about the automatic classification
| num | % | num changed | stage |
|---|---|---|---|
| 1 | 0.5% | 0 | 00-reverts |
| 10 | 4.6% | 0 | 01-style |
| 28 | 12.8% | 0 | 02-filenames_wildcards |
| 6 | 2.8% | 0 | 02b-filenames_wildcards2 |
| 98 | 45.0% | 0 | 03-filenames_plain1 |
| 57 | 26.1% | 0 | 04-filenames_plain2 |
| 6 | 2.8% | 0 | 05-summary-prefix |
| 12 | 5.5% | 0 | Manually-classified commits |
| 0 | 0.0% | 0 | Unclassified commits |
debug: more stats
| num | % | stage |
|---|---|---|
| 0 | 0.0% | Misclassified commits |
| 206 | 94.5% | Classified commits, no corrections |
debug: groups
| 0 | 0.0% | num in revert |
| 3 | 1.4% | num in fixes |
| 48 | 22.0% | num in consecutive |
| 51 | 23.4% | 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.
debug: classified in
03-filenames_plain1 by
'RELNOTES'
debug: classified in
03-filenames_plain1 by
'RELNOTES'
MFC after: 2 weeks Relnotes: yes
debug: classified in
05-summary-prefix by 'MFV:'
geneve creates a generic network virtualization tunnel interface for Tentant Systems over an L3 (IP/UDP) underlay network that provides a Layer 2 (ethernet) or Layer 3 service using the geneve protocol. This implementation is based on RFC8926. Reviewed by: glebius, adrian Discussed with: zlei, kp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D54172
debug: classified in
04-filenames_plain2 by 'sys/'
Oracle's previous support is no longer available to the project. Repeated attempts to find a sponsor within Oracle's cloud business have not been successful. The last published official images are from 15.0-RELEASE. https://marketplace.oracle.com/app/freebsd-release Relnotes: yes Sponsored by: SkunkWerks, GmbH Differential Revision: https://reviews.freebsd.org/D56360 MFC after: 3 days
debug: classified in
02-filenames_wildcards by '['.*Makefile',
'release/.*']'
Commits about commands found in man section 1 (other than networking).
Netlink usage is growing in FreeBSD. This patch adds support to `truss(1)` to decode Netlink headers in sendmsg/recvmsg calls, making debugging network configuration tools significantly easier. Changes: libsysdecode: Add `sysdecode_netlink()` to parse struct `nlmsghdr`. truss: Detect `AF_NETLINK` sockets and decode the message payload. Reviewed by: kp Signed-off-by: Ishan Agrawal <iagrawal9990@gmail.com> Github PR: https://github.com/freebsd/freebsd-src/pull/1950
debug: Commit manually moved from "unknown" to "userland".
We use -xattr in our openrsync tests for convenience, and it seems like a good addition to FreeBSD. -xattr and -xattrname will both consult all available namespaces by default, but -xattrname allows filtering by namespace using a "user:" or "system:" prefix. Inspired by: https://github.com/apple-oss-distributions/shell_cmds Reviewed by: kib, rmacklem Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55286
debug: classified in
04-filenames_plain2 by
'usr.bin/'
Man pages, release notes, etc.
procctl.2: Align list indentation Remove 81 lines of whitespace at default manual rendering width. MFC after: 3 days
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
procctl.2: remove space at EOL Fixes: https://cgit.freebsd.org/src/commit/?id=db9bbe131c92f55e6cf03657dc030c9eea93a9fb
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Sponsored by: The FreeBSD Foundation MFC after: 3 days
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Document two missing error conditions for mq_open(2): - EINVAL: returned when mq_maxmsg exceeds kern.mqueue.maxmsg or mq_msgsize exceeds kern.mqueue.maxmsgsize. - ENFILE: add kern.mqueue.maxmq sysctl name to the existing entry. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243209 Reviewed by: mhorne MFC after: 1 week Signed-off-by: Kit Dallege <xaum.io@gmail.com> Pull Request: https://github.com/freebsd/freebsd-src/pull/2098
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D56222
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
debug: classified in
03-filenames_plain1 by
'RELNOTES'
libm's fmax and fmin family of functions treat +0.0 as greater than -0.0. This is not required by the C standard, so the user may not see this behaviour due to compiler optimization. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294214 Reviewed by: fuz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56230
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
debug: classified in
03-filenames_plain1 by
'RELNOTES'
debug: classified in
03-filenames_plain1 by
'RELNOTES'
Add error numbers to the exit codes so that readers can decode them without having to use a separate utility. Organize exits by error code. Mark up the error constants with the error constant macro, even though this is really not very helpful because people will search for the error code, the macro is explicitly for the constants and not the codes. While where, align and alphabetize the options list as well, fix misaligned padding in an example, and a one-sentance-per-line error. MFC after: 3 days Reported by: Antranig Vartanian <antranigv@freebsd.am> Differential Revision: https://reviews.freebsd.org/D48470
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
debug: classified in
03-filenames_plain1 by
'RELNOTES'
MFC after: 3 days
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
See also: D55834, D56236 MFC after: 1 month
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Commit 8b9775912cbc added support for an NFSv4 mounted root file system. This patch documents how to set this up. It also includes some minor updates and fixes some formatting. This is a content change. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56317 Fixes: https://cgit.freebsd.org/src/commit/?id=8b9775912cbc ("nfs_diskless: Add support for an NFSv4 root fs")
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Reviewed by: imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56362
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Add geneve parameters to ifconfig manual. Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D55181
debug: classified in
02-filenames_wildcards by
'.*\.[1-9]'
Hardware drivers and architecture-specific code.
The condition after SYSCTL_IN was inverted: success (error == 0) returned immediately and skipped the NVRAM write path, while failure fell through. Return only when SYSCTL_IN fails. Signed-off-by: Weixie Cui <cuiweixie@gmail.com> Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2113
debug: classified in
03-filenames_plain1 by
'sys/dev/'
The kernel_pmap lock is a bit special: it does not need the DUPOK flag, and it really belongs to a different lock class. If it belongs to the same class as regular pmap locks, then witness may report warnings when performing UMA allocations under a regular pmap lock, if the allocation triggers a pmap_growkernel() call. Replace instances of PMAP_LOCK_INIT(kernel_pmap) with inline mtx_init() calls to silence some witness warnings for harmless behaviour I see with some uncommitted test programs. Reviewed by: alc, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56185
debug: classified in
03-filenames_plain1 by '['sys/amd64/',
'sys/arm/', 'sys/arm64/', 'sys/i386/', 'sys/powerpc/',
'sys/riscv/']'
We cannot have more than one SPMC device. Reviewed by: olce Approved by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56062
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Microsoft added a new function index (turn on display, 9) to their DSM
set. This revision calls this, which fixes S0ix on certain machines,
such as the Lenovo Yoga Slim 7i Aura, who's ECs use this method as a
trigger to restore power to certain devices.
See commit 229ecbaac6b3 ("ACPI: x86: s2idle: Invoke Microsoft _DSM
Function 9 (Turn On Display)") on Linux.
Also see the following:
https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-firmware-notifications#turn-on-display-notification-function-9
Reviewed by: olce
Approved by: olce
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56062
debug: classified in
03-filenames_plain1 by
'sys/dev/'
This commit adds a shutdown splash to the existing kernel startup splash(4) screen feature. It can be customized by providing a PNG image to the shutdown_splash directive loader.conf(5). Sponsored by: Defenso MFC after: 2 weeks Reviewed by: vexeduxr, ziaee, manu Differential Revision: https://reviews.freebsd.org/D55140
debug: Commit manually moved from "unknown" to "hardware".
This patch changes the default value of the loader tunable hw.virtio.pci.transitional to 1. This means, virtio uses the modern mode for transitional devices by default. The return values of vtpci_modern_probe() and vtpci_legacy_probei() were chosen to prefer modern mode, but hw.virtio.pci.transitional=0 prevents modern mode. Setting hw.virtio.pci.transitional to 1 by default seems a better fit. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D55894
debug: classified in
03-filenames_plain1 by
'sys/dev/'
sound: Mark some snd_fmt* functions as static Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56238
debug: classified in
03-filenames_plain1 by
'sys/dev/'
sound: Retire unused CHN_N_* defines These still haven't been implemented by the original author, and there doesn't seem to be much use for them anyway. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56239
debug: classified in
03-filenames_plain1 by
'sys/dev/'
sound: Simplify parts of chn_notify() Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56240
debug: classified in
03-filenames_plain1 by
'sys/dev/'
sound: De-macro array definitions in chn_calclatency() Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56263
debug: classified in
03-filenames_plain1 by
'sys/dev/'
sound: Make chn_reset() control flow clearer I think this is cleaner than playing around with return values. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56264
debug: classified in
03-filenames_plain1 by
'sys/dev/'
sizeof(*sc->sc_ipimasks) * mp_maxid + 1 is parsed as (sizeof(*sc->sc_ipimasks) * mp_maxid) + 1, so the buffers were one byte short of a full (mp_maxid + 1) element count. Multiply by (mp_maxid + 1) for sc_ipimasks and sc_cpuids. Signed-off-by: Weixie Cui <cuiweixie@gmail.com> Reviewed-by: kevans, ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2112
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
Reviewed by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55606
debug: classified in
03-filenames_plain1 by
'sys/x86/'
Previously, when entering s2idle, we were parsing the _S255D object to get the shallowest D-state supported by device, as acpi_stype_to_sstate() returns -1 for s2idle. Instead, we should read _S3D. Relevant document: https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/07_Power_and_Performance_Mgmt/device-power-management-objects.html#s3d-s3-device-state Reviewed by: olce Tested by: emaste, olce Approved by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55118
debug: classified in
03-filenames_plain1 by
'sys/dev/'
As soon as we need information from the hardware frame annotation to make sure that checksums of the ingress frames were verified by the DPAA2 HW, I've decided to make a preparation and extracted all of the frame related routines into the separate dpaa2_frame.[h,c] along with some clean up and improvements, e.g. no more dpaa2_fa, but dpaa2_swa and dpaa2_hwa structures to describe software and hardware frame annotations respectively, dpaa2_fa_get_swa/dpaa2_fa_get_hwa to obtain those annotations from the frame descriptor. The next step is to implement dpaa2_fa_get_hwa. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006 Approved by: tuexen MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56315
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Commit c8c37141 ("virtio_blk: Use bus_dma for command/ack buffer
allocations") failed to update initialisation of the dedicated dump
request structure. This caused a panic on attempting to dump core to a
virtio_blk device.
Reviewed by: asomers
Sponsored by: Arm Ltd
Pull Request: https://reviews.freebsd.org/D56156
debug: classified in
03-filenames_plain1 by
'sys/dev/'
.../sys/dev/hwpmc/hwpmc_mod.c:4640:1: warning: unused function 'pmc_is_multipart' [-Wunused-function]
4640 | pmc_is_multipart(struct pmc_sample *ps)
| ^~~~~~~~~~~~~~~~
1 warning generated.
Reviewed by: mhorne
Fixes: https://cgit.freebsd.org/src/commit/?id=e51ef8ae490f - main - hwpmc: Initial support for AMD IBS
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D56296
debug: classified in
03-filenames_plain1 by
'sys/dev/'
In ibs_stop_pmc I accidently cleared the fetch max count value rather than the op max count value, when stopping the op counter. This mitigates a bug in early pre-zen processors, but breaks using both counters simultaneously. I also found that the max op count mask needs to be extended for recent zen processors. Reported by: Andre Fernando da Silva Reviewed by: mhorne Sponsored by: Netflix Fixes: https://cgit.freebsd.org/src/commit/?id=e51ef8ae490f ("hwpmc: Initial support for AMD IBS") Pull Request: https://github.com/freebsd/freebsd-src/pull/2120
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Both fetch and op IBS sampling have the same problem where we need to rewrite the control MSR to ensure sampling continues at the correct rate. I also like this because it resets the counter reducing the chances that we collect a sample inside the NMI handler. Reported by: Aalok Agarwal Reviewed by: mhorne Sponsored by: Netflix Fixes: https://cgit.freebsd.org/src/commit/?id=e51ef8ae490f ("hwpmc: Initial support for AMD IBS") Pull Request: https://github.com/freebsd/freebsd-src/pull/2130
debug: classified in
03-filenames_plain1 by
'sys/dev/'
This is part 3 of the support for the new Intel Ethernet E610 family of devices The ix driver now enables firmware logging on Intel E610 devices for debugging with Customer Support. Logs are enabled by default and generated in binary format that requires decoding by support teams. The collected data is firmware and hardware related for debugging purposes only. When the driver loads, it creates a fw_log sysctl node under the debug section. Events are organized into categories (modules) for targeted logging, and users can adjust verbosity levels as needed. This adds sysctl support for the firmware logging feature and updates the ix(4) manual page with documentation. Signed-off-by: Yogesh Bhosale <yogesh.bhosale@intel.com> Co-developed-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: ziaee, kbowling Tested by: Mateusz Moga <mateusz.moga@intel.com> MFC after: 1 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D53973
debug: classified in
03-filenames_plain1 by
'sys/dev/'
We have a small buffer for pages on the stack, but if the user wants to do an I/O larger than this we currently fail w/o a way for the user to know the max size. It's not hard to allocate an array for the uncommon case of very large I/Os, and the performance advantage of the array is small in that case anyway. In addition, this allows firmware upgrades using the full transfer size of the device as a happy accident too. Sponsored by: Netflix Reviewed by: chs, chuck Differential Revision: https://reviews.freebsd.org/D55638
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56330
debug: classified in
03-filenames_plain1 by
'sys/x86/'
Advertise IFCAP_WOL_MAGIC when PCI power management is available and enable it by default. On suspend or shutdown, rge_setwol() enables the WOL_MAGIC and WOL_LANWAKE bits in CFG3/CFG5, disables the RXDV gate, and enables PM so the NIC stays powered to watch for magic packets. Move hardware-specific WOL register configuration into rge_wol_config() in if_rge_hw.c to keep hardware-specific functions in sync with OpenBSD. Update rge.4 to document WoL support. Tested on FreeBSD 16.0-CURRENT bare metal with Realtek RTL8125 on a Gigabyte B650 Gaming X AX motherboard. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D56259
debug: classified in
03-filenames_plain1 by
'sys/dev/'
* migrate the MSM8916 (snapdragon 410) support to qcom_gcc * add the full qcom_gcc / qcom_clk list to files.arm64, replacing the MSM8916 stub in sys/arm64/qualcomm . Differential Revision: https://reviews.freebsd.org/D49706
debug: classified in
03-filenames_plain1 by '['sys/arm/',
'sys/arm64/', 'sys/dev/']'
Focus on the MRQE field of the MRQC register, which is 4 bits wide, and we use these 3 types of values. - IXGBE_MRQC_RSSEN 0x1 (non VF mode) - IXGBE_MRQC_VMDQRSS32EN 0xA (less than 33 VFs) - IXGBE_MRQC_VMDQRSS64EN 0xB (less than 65 VFs) If we always take a bitwise OR with IXGBE_MRQC_RSSEN, IXGBE_MRQC_VMDQRSS32EN will never be chosen. Select these 3 types of values for the proper case. Signed-off-by: Yuichiro NAITO <naito.yuichiro@gmail.com> MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/2132
debug: classified in
03-filenames_plain1 by
'sys/dev/'
According to "HID Usage Tables FOR Universal Serial Bus (USB)" Usage Page ID range 0x93-0xF1CF is "Reserved" and Usage Page ID range 0xFF00-0xFFFF is "Vendor-defined". MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'sys/dev/'
These devices appeared to stop sending reports via mouse USB interface after switching to RAW mode. Fix it with changing Usage of Top Level Collection to one found in HID report descriptor of proper interface. MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'sys/dev/'
They always report it value as zero breaking pressure-driven drivers like moused(8) and xf86-input-synaptics. MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'sys/dev/'
They always report it value as zero breaking pressure-driven drivers like moused(8) and xf86-input-synaptics. MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'sys/dev/'
Before this change evdev interface sent only copy of data sent through the sysmouse interface. It worked as /dev/wsp0 device node was automatcaly opened by devd(8) with starting of moused(8). Starting with 15.0 moused(8) does not open sysmouse interface by default thus making wsp(4) device dysfunctional. Fix it with adding extra checks of interfaces state. MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'sys/dev/'
The size broke when upages was converted from array to double pointer. Reported by: gcc -Wsizeof-pointer-div Reviewed by: imp Fixes: https://cgit.freebsd.org/src/commit/?id=82ff1c334b97 ("nvme: Allow larger user request sizes") Differential Revision: https://reviews.freebsd.org/D56368
debug: classified in
03-filenames_plain1 by
'sys/dev/'
When modifying mappings in pmap we may need to perform a break-before-make sequence. This creates an invalid mapping, then recreates it with the changes. When modifying DMAP mappings we may be changing the mapping that contains its own page table then after breaking the old entry we are unable to create the new entry. To fix this create a map that can be used & won't be affected by the break-before-make sequence. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D56306
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
Support changing the property of a DMAP page that holds it's own page table entry. Because we need to perform a break-before-make sequence to change the properties of pages a page that also holds it's own page table entry will fault in the make part of the sequence. Handle this by mapping the page with a temporary mapping as we already do when demoting a superpage. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55943
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
arm64: mte: cleanup cache register definitions Cleanup the definitions in armreg.h for the CSSIDR_EL1, CLIDR_EL1 and CSSELR_EL1 system register to prepare for additional bitfeilds for Memory Tagging Extension (MTE). Reviewed by: andrew Sponsored by: Arm Ltd Signed-off-by: Harry Moulton <harry.moulton@arm.com> Differential Revision: https://reviews.freebsd.org/D55944
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
arm64: mte: add system register definitions Add system register and bit field definitions for Memory Tagging Extension (MTE) in ARMv8.5. Reviewed by: andrew Sponsored by: Arm Ltd Signed-off-by: Harry Moulton <harry.moulton@arm.com> Co-authored-by: Andrew Turner <andrew@FreeBSD.org> Differential Revision: https://reviews.freebsd.org/D55945
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
arm64: mte: configure initial state for system registers The fields in SCTLR_EL1 and HCR_EL2 for enabling MTE are set, and if the ID_AA64PFR1_EL1 register shows MTE is present, the GCR_EL1 register is also configured, and the two TFSR registers which hold pending tag check faults are cleared. Reviewed by: andrew Sponsored by: Arm Ltd Signed-off-by: Harry Moulton <harry.moulton@arm.com> Differential Revision: https://reviews.freebsd.org/D55946
debug: classified in
03-filenames_plain1 by
'sys/arm64/'
Network-related commands, library, and kernel.
ip6_mroute: Fix the type name in sysctl_mfctable() No functional change since apparently it's fine to compute the size of a pointer type when the base type is undefined. Fixes: https://cgit.freebsd.org/src/commit/?id=0bb9c2b665d9 ("ip6_mroute: FIBify")
debug: classified in
03-filenames_plain1 by
'sys/netinet6/'
The result of IN6_ARE_MASKED_ADDR_EQUAL() macro is not an integer, so threat it as a boolean value. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294114 Reported by: Peter Much <pmc citylink dinoex sub org> MFC after: 1 week
debug: classified in
03-filenames_plain1 by
'sys/netpfil/'
Delayed proxy addresses need special handling, since they can use link-local ifa as their source address and have different link-layer data in their response. Fixes: https://cgit.freebsd.org/src/commit/?id=f37fbe30f559 Reviewed by: glebius, markj Differential Revision: https://reviews.freebsd.org/D55850
debug: classified in
03-filenames_plain1 by
'sys/netinet6/'
This TF_-flag is only used in the RACK stack and not really needed. So replace it, since glebius@ needs a TF_ flag and right now all of them are taken. No functional change intended. Reviewed by: rrs, glebius, rscheff, Nick Banks Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D56025
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
Fix nooptions VIMAGE build The recent FIBify commits deref struct thread without including sys/proc.h, which can result in a compiler error. This becomes apparent when building with LINT-NOVIMAGE, as net/vnet.h includes sys/proc.h. Fix this by directly including sys/proc.h Fixes: https://cgit.freebsd.org/src/commit/?id=4c486fe40267 ("ip_mroute: FIBify"), https://cgit.freebsd.org/src/commit/?id=0bb9c2b665d9 ("ip6_mroute: FIBify")
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
To be more robust since the checking is now performed where the interface is referenced. While here, remove a redundant check from if_vmove_loan(). Reviewed by: kp, glebius, pouria MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55875
debug: classified in
03-filenames_plain1 by
'sys/net/'
Recurring banners except the first are printed just after the latest interval's statistics line, giving the false impression that the latter are omitted. It is also better to print a new banner only if it is going to be followed by a new line of statistics, in case netstat(1) is interrupted or we have reached the number of iterations specified by '-q'. Fix this by pushing printing these banners inside the loop producing statistics lines, after having waited for the next interval. The first banner is printed before the loop, as we want it to be printed immediately at launch, even if at this point we do not have statistics to display (we have to wait for an interval to compute these, as they are based on a difference). While here, remove the 'goto' spaghetti by putting banner printing into its own private function and using a proper infinite loop in sidewaysintpr(). While here, document the why of the 21 statistics line span between two banners. While here, check for the number of output lines of statistics once such a line has effectively been printed. This allows to remove the internal incrementation performed when reading '-w''s argument, which was a hack to compensate the misplaced check. While here, in the manual page, simplify the description of the '-w' mode and mention that passing 0 to '-q' means "no count limit". Reviewed by: glebius Fixes: https://cgit.freebsd.org/src/commit/?id=84c1edcbad7d ("Rewrite netstat/if.c to use ...") Fixes: https://cgit.freebsd.org/src/commit/?id=bf10ffe1d3a9 ("Add a new option, -q howmany, ...") MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56227
debug: classified in
03-filenames_plain1 by
'usr.bin/netstat/'
This change adds the ability to examine the contents of multicast routing tables for other FIBs without the need for executing `netstat` with `setfib(1)`. MFC after: 3 days Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D56205 Reviewed by: glebius, markj, zlei
debug: classified in
03-filenames_plain1 by
'usr.bin/netstat/'
Commit a223d6c489c7 made most of the ip6_mroute state per-VNET, but failed to do this for a couple of counter structures. Make them per-VNET too. Reported by: zlei Reviewed by: pouria, zlei Fixes: https://cgit.freebsd.org/src/commit/?id=a223d6c489c7 ("ip6_mroute: Start putting global variables into a structure") Differential Revision: https://reviews.freebsd.org/D56253
debug: classified in
03-filenames_plain1 by
'sys/netinet6/'
The draft-ietf-6man-ipv6only-flag has been obsoleted by RFC 8925. Remove the EXPERIMENTAL compile option from the kernel and remove DRAFT_IETF_6MAN_IPV6ONLY_FLAG from userland. This compile option was not enabled by default. Also regenerate src.conf.5. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D56228
debug: Commit manually moved from "unknown" to "network".
While here remove ipi_lbgrouphashmask, as it is always has the same value as ipi_porthashmask. Differential Revision: https://reviews.freebsd.org/D56174
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
While here, slightly restyle ip_vnet_init() and use sparse initializer for pfil_head_args. There is no functional change wrt to pfil(9) hook registration. Differential Revision: https://reviews.freebsd.org/D56175
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
Functional change is that on destruction INVARIANTS checks will run. Also the mask is no longer hardcoded, so makes it easier to make hash size a tunable. Reviewed by: ae Differential Revision: https://reviews.freebsd.org/D56176
debug: classified in
03-filenames_plain1 by '['sys/net/',
'sys/netinet/', 'sys/netinet6/']'
Reviewed by: tuexen, rrs Differential Revision: https://reviews.freebsd.org/D56177
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D56113
debug: classified in
03-filenames_plain1 by '['sys/net/',
'sys/netpfil/']'
inpcb: apply smr_advance(9)/smr_wait(9) trick only to reusable sockets The protocols marked with PR_CONNREQUIRED can never go through pr_connect after being disconnected. This is a tiny improvement of fdb987bebddf0. While here push clearing of the addresses under the same condition. Although this clearing originates from pre-FreeBSD times, it actually makes sense only for protocols that can reconnect. Reviewed by: pouria, markj Differential Revision: https://reviews.freebsd.org/D55661
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
inpcb: retire the inpcbinfo list lock With the SMR locking of inpcbs the use of this lock reduced down to the global list and generation number. It was used only on an inpcb creation and destruction. Use the inpcbinfo hash lock for this purpose. Reviewed by: pouria, rrs, markj Differential Revision: https://reviews.freebsd.org/D55966
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
inpcb: retire the inpcb global list The iteration over all pcbs is possible without the global list. The newborn inpcbs are put on a global list of unconnected inpcbs, then after connect(2) or bind(2) they move to respective hash slot list. This adds a bit of complexity to inp_next(), but the storage scheme is actually simplified. One potential problem before this change was that a couple of pcbs fall into the same hash slot and are linked A->B there, but they also sit next to each other in the global list, linked as B->A. This can deadlock of course. The problem was never observed in the wild, but I was able to instrument it with lots of effort: just few pcbs in the system, hash size reduced down to 2 and a lot of repetitive calls into two kinds of iterators. However the main motivation is not the above problem, but make a step towards splitting the big hash lock into per-slot locks. Differential Revision: https://reviews.freebsd.org/D55967
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
inpcb: make in_pcbdisconnect() acquire the hash lock internally Should be no functional change. Reviewed by: pouria, markj Differential Revision: https://reviews.freebsd.org/D55968
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
The INP_DROPPED is going to become an internal flag for inpcb. As of now it means a TCP pcb that is in TCPS_CLOSED. There is nothing wrong with calling setsockopt(2) on such socket, although has no practical use. This deletes a piece of code from 56713d16a06c5 / D16201. There is no description of the panic fixed, but I will speculate that the panic was about in6p->in6p_outputopts being NULL as the inpcb already went through in_pcbfree_deferred(). This also can be related to compressed TIME-WAIT, that is also gone now. With current locking this shouldn't be possible. An inpcb goes through in_pcbfree() only with pr_detach method, which is called from sofree(), and the latter is called on losing the very last socket reference. So, at the point when in_pcbfree() is called, the socket has lost its file descriptor reference and there can not be any running setsockopt() on it. Leave the call to ip6_pcbopt() still embraced with INP_WLOCK(), since we are modifying inpcb contents. NB: the IPv6 setsockopt(2) definitely has room for improvement. Several memory allocations should be moved out of lock and made M_WAITOK. Covering large piece of setsockopt(2) code with epoch(9) just because ip6_setpktopts() calls ifnet_byindex() isn't correct either. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56169
debug: classified in
03-filenames_plain1 by
'sys/netinet6/'
inpcb: make in_pcbbind() acquire the hash lock internally Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55970
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
inpcb: make in_pcbconnect() acquire the hash lock internally Reviewed by: pouria, rrs, markj Differential Revision: https://reviews.freebsd.org/D55971
debug: classified in
03-filenames_plain1 by '['sys/netinet/',
'sys/netinet6/']'
inpcb: make in6_pcbsetport() acquire the hash lock internally Reviewed by: pouria, rrs, markj Differential Revision: https://reviews.freebsd.org/D55972
debug: classified in
03-filenames_plain1 by
'sys/netinet6/'
Reviewed by: pouria, rrs, markj Differential Revision: https://reviews.freebsd.org/D55973
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
No functional change.
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
The SOCK_RAW socket is a multiple receiver socket by its definition. An incoming packet may be copied to multiple sockets. Thus, incoming packet handling is expensive. Systems with many thousands of raw sockets usually have them connect(2)-ed to different destinations. This allows for some improvement of the input handling, which was introduced by 9ed324c9a588 back in 2008. This optimization was made specifically for L2TP/PPTP VPN concentrators based on ports/net/mpd5. This change generalizes the idea of 9ed324c9a588, so that it potentially can be used with IPv6 raw sockets. This also eliminates last use of the pcbinfo hash lock outside of in_pcb.c. While here make a speculative design decision: put into the hash table sockets that did only connect(2). Previously, we were indexing only sockets that were protocol bound, did bind(2) and did connect(2). My speculation is that only the remote IP provides some real entropy into the hash and local address and proto are expected to be the same for majority of the sockets. My other speculation is that VPN concentrators other than mpd5 may not bind(2) their sockets, thus not getting any use of the hash. Differential Revision: https://reviews.freebsd.org/D56172
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
vnet_if_return() will be invocked by vnet_sysuninit() on vnet destructing, while the lock ifnet_detach_sxlock has been acquired in vnet_destroy() already. With this change the order of locking is more clear. There should be no functional change. Reviewed by: pouria Fixes: https://cgit.freebsd.org/src/commit/?id=868bf82153e8 if: avoid interface destroy race MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56288
debug: classified in
03-filenames_plain1 by
'sys/net/'
SIOCSIFVNET is not a hardware ioctl. Move it to where it belongs. Where here, rewrite the logic of checking whether we are moving the interface from and to the same vnet or not, since it is obviously not stable to access the interface's vnet, given the current thread may race with other threads those running if_vmove(). MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55880
debug: classified in
03-filenames_plain1 by
'sys/net/'
The change e133271fc1b5e introduced ifnet_detach_sxlock, and change 6d2a10d96fb5 widened its coverage, but there are still consumers, net80211 and tuntap e.g., want it. Instead of sprinkling it everywhere, make it opaque to consumers. Out of tree drivers shall also benefit from this change. Reviewed by: kp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56298
debug: classified in
03-filenames_plain1 by '['sys/net/',
'sys/netlink/']'
ifconfig: Add support for geneve (netlink) This implementation is netlink only Differential Revision: https://reviews.freebsd.org/D55184
debug: Commit manually moved from "unknown" to "network".
ifconfig: Fix printf on geneve for 32-bit architectures Replace uint64_t type with uintmax_t in printf to fix warnings on 32-bit architectures. Reported by: Jenkins Fixes: https://cgit.freebsd.org/src/commit/?id=688e289ee904 ("ifconfig: Add support for geneve") Differential Revision: https://reviews.freebsd.org/D55184
debug: classified in
03-filenames_plain1 by 'sbin/'
debug: moved to network because
'Need to be grouped with
688e289ee904fe625d92f93680a71753d03ba2ee'
Stuff in man section 8 (other than networking).
MFC after: 1 week
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
Reviewed by: zlei, markj Differential Revision: https://reviews.freebsd.org/D56202
debug: classified in
03-filenames_plain1 by 'sbin/'
It's a bit silly to have iov_to_buf() and buf_to_iov() return a ssize_t to begin with, just to be able to return -1 for error. Change this to size_t and use 0 as an error indicator, which won't require any changes to the code using these functions. While here, switch iov_to_buf() to use reallocf() instead of realloc(). Reviewed by: jhb Fixes: https://cgit.freebsd.org/src/commit/?id=2a514d377b37 ("bhyve/virtio-scsi: Preallocate all I/O requests") Differential Revision: https://reviews.freebsd.org/D55800
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
When a specially formatted path is passed to dlopen(), of the form #number/path and the number is the valid dirfd file descriptor listed in the LD_LIBRARY_FDS, interpret it as a relative path name against dirfd number. This complements the result returned from dladdr() for such objects in dli_fname. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56152
debug: classified in
03-filenames_plain1 by
'libexec/'
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56152
debug: classified in
03-filenames_plain1 by
'libexec/'
tunefs: Don't lower WARNS Use casts to silence the alignment warnings instead of potentially suppressing other legitimate warnings. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56033
debug: classified in
03-filenames_plain1 by 'sbin/'
tunefs: Fix alignment warning on arm64 MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=c5e79c7e93dd ("tunefs: Don't lower WARNS") Reviewed by: bakul Differential Revision: https://reviews.freebsd.org/D56229
debug: classified in
03-filenames_plain1 by 'sbin/'
MFC after: 1 week Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D56034
debug: classified in
03-filenames_plain1 by '['etc/',
'sbin/']'
Changes for jng 1.0 -> 2.0 include: + Add experimental MSS clamping + Add support for ng_bridge(4) NGM_BRIDGE_GET_STATS (getstats) + Add JSON formatted ng_bridge(4) statistics (see above) via "jng stats -j <name>" + Add error messages + Minor refactoring for code readability (read: quietly() function) + Rename eiface variables to jiface to clarify as-for jail interface (not ng_eiface(4)) + Fix missing description for alternate form of "jng show" usage + Update "jng show <name>" to accept multiple names (now "jng show <name> …" is allowed) + Update "jng shutdown <name>" to accept multiple names (now "jng shutdown <name> …" is allowed) + Add "-a" option to "jng stats" (as-in "jng stats -a") to show all ng_bridge(4) stats + Update "jng stats <name>" to accept any kind of name (make it easier to use) + Add version ident + Remove extraneous line in LICENSE section + Add -h to usage statements + Bump copyright Reviewed by: jlduran Differential Revision: https://reviews.freebsd.org/D43516
debug: Commit manually moved from "unknown" to "admin".
tunefs: Better fix for arm64 alignment issues Rather than trust that the compiler will lay out the stack frame the way we expect it to, use a union to force the correct alignment. MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=616f47f176c3 ("tunefs: Fix alignment warning on arm64") Reviewed by: kevans, mckusick Differential Revision: https://reviews.freebsd.org/D56245
debug: classified in
03-filenames_plain1 by 'sbin/'
tunefs: Fix pointer arithmetic While here, remove a bogus const which has been there for years. MFC after: 1 week Reported by: ivy@ Fixes: https://cgit.freebsd.org/src/commit/?id=1b83e8a3f840 ("Constify string pointers.") Fixes: https://cgit.freebsd.org/src/commit/?id=8244dd326265 ("tunefs: Better fix for arm64 alignment issues") Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56343
debug: classified in
03-filenames_plain1 by 'sbin/'
This allows something like the following local.lua to install a filter
to implement its own notion of hidden BEs using a naming convention of
a leading dot to hide them:
-- file: /boot/lua/local.lua
local core = require("core")
local function be_hide(be)
if core.isSingleUserBoot() then
-- All BEs are accepted for single-user
return true
end
local name = be:match("/([^/]+)$")
if not name then
-- Accept malformed BEs, for whatever reason
return true
end
return name:match("^%.") == nil
end
if core.bootenvFilter then
-- Just in case we need to be compatible with older versions of
-- core.lua without the filtering functionality.
core.bootenvFilter(be_hide)
end
-- EOF
Requested by: Marek Zarychta
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D55359
debug: classified in
03-filenames_plain1 by 'stand/'
arm64: Add arm64 SVE tests Add the tests/sys/arch directory for architecture-specific tests and use it to add arm64 SVE tests. These test the kernel is managing the SVE state in a way we expect. These tests require SVE hardware support to run so will skip when they can't detect it. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43311
debug: classified in
03-filenames_plain1 by 'etc/'
test/sys/arch: Fix arch without test/sys/arch/${MACHINE_ARCH}
Fixes: https://cgit.freebsd.org/src/commit/?id=0ddaa4c86d68 ("arm64: Add arm64 SVE tests")
Sponsored by: The FreeBSD Foundation
debug: classified in
02-filenames_wildcards by
'.*Makefile'
debug: moved to admin because
'Need to be grouped with
0ddaa4c86d68e8dacee8a78877e5742d53c122b3'
download.freebsd.org is backed by project mirrors and a CDN, which should benefit most users. Sponsored by: The FreeBSD Foundation Reviewed by: delphij (releng) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54849
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
In case the user did input, we should put newline on screen to avoid possible error messages to get mixed with user input.
debug: classified in
03-filenames_plain1 by 'stand/'
Because panic() does provide mechanism to have architecture specific panic call, we can instruct it to print out stack trace too (in hope we actually can print). While there, also implement simple check to detect loop in trace. illumos issue: https://www.illumos.org/issues/17887
debug: classified in
03-filenames_plain1 by 'stand/'
This allows safe_set to be leveraged in other contexts where additional chars like '*' or '!' or even '\[\]' need to be preserved in the result.
debug: classified in
03-filenames_plain1 by
'libexec/'
file_loadraw() can have a need to load unverified files like "dtrace_dof". Allow severity_guess() to look at the filename but if it returns less than VE_MUST check that the type is not one we insist on verifying. In vectx_open if severity < VE_MUST we can allow it to be unverified. If passed VE_GUESS we call severity_guess(). Regardless, we record severity in ctx so it is available to vectx_close(). Sponsored by: Hewlett Packard Enterprise Development LP Reviewed by: khng Differential Revision: https://reviews.freebsd.org/D56297
debug: Commit manually moved from "unknown" to "admin".
hccontrol LE_Set_Advertising_Data does not currently allow construction of manufacturer-specific type 0xFF AdvData. Fixed by a new data-entry option -b "b1,b2,b3,...,bn" where b's are 8-bit byte strings (octets). Signed-off-by: F. Duncanh <fduncanh@gmail.com> Reviewed by: takawata, pouria Pull Request: https://github.com/freebsd/freebsd-src/pull/2082
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
Both (U)EFI and BIOS are completely different things, be precise and don't use them together. Reviewed by: imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56329
debug: classified in
03-filenames_plain1 by 'stand/'
Improve mfi_pd_inq_string() by * Reusing buffer sizes from cam/cam.h according to SCSI specification + NULL byte * Don't truncate vendor-specific information by escaping into a too small buffer * Use cam_strvis() from libcam instead of old, outdated local copy * Recaculate size of inq_string based on the reused buffer sizes and format statements PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294354 Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D56328
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
This is the small internal doc fix from https://reviews.freebsd.org/D46313 Reviewed by: michaelo Approved by: (blanket; comment fix) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D55325
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
rather than on VID/PID. Later is not reliable for some types. VID/PID identification can be restored by specifying of -p option. Tested by: arrowd, wulf PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290639 MFC after: 1 week
debug: classified in
04-filenames_plain2 by
'usr.sbin/'
Drop the _np suffix. Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56222
debug: Commit manually moved from "unknown" to "libs".
Starting from the existing fmax{,f,l} functions I've added the fmaximum
family, which handles NaN according to the newest standard (propagating
it).
This commit is a PoC for GSoC 2026.
Reviewed by: fuz, kargl
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D55834
debug: classified in
04-filenames_plain2 by 'lib/'
Move is_restricted_var() to libsa/environment.c so it can be leveraged by boot_setenv called from subr_boot with not truted input. Also, allow for local tuning via ENV_IS_RESTRICTED_ALLOWED_LIST and ENV_IS_RESTRICTED_LIST Sponsored by: Hewlett Packard Enterprise Development LP. Reviewed by: kevans, imp Differential Revision: https://reviews.freebsd.org/D56287
debug: Commit manually moved from "unknown" to "libs".
Reported and tested by: fluffy Reviewed by: emaste Fixes: https://cgit.freebsd.org/src/commit/?id=3a01e1e1a50cb9a9594aac2148dc920a6b295428 Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56283
debug: classified in
04-filenames_plain2 by 'lib/'
We've compiled it since the LLVM 13 import in 2021, but for some reason never exported it. A user of CheriBSD recently caused Morello LLVM to emit a reference to it so finish the job and export it. Reviewed by: dim, emaste Fixes: https://cgit.freebsd.org/src/commit/?id=6e75b2fbf9a0 ("Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a") MFC after: 1 week Sponsored by: DARPA, AFRL See also: https://github.com/CTSRD-CHERI/cheribsd/issues/2614 Differential Revision: https://reviews.freebsd.org/D56310
debug: classified in
04-filenames_plain2 by 'lib/'
The 'simplification' commit referenced below actually broke one aspect of MFD_HUGETLB: the caller isn't supposed to be required to specify a size. MFD_HUGETLB by itself without a shift mask just requests a large page, so we revert that part of memfd_create() back. While we're here, fix up the related parts of the manpages a little bit, since MFD_HUGETLB is actually supported. The manpage claims that we would return ENOSYS if forced mappings weren't supported, but this was actually not true. However, that seems like a very important distinction to make between ENOSYS and EOPNOTSUPP, so fix the implementation to match the docs. Fixes: https://cgit.freebsd.org/src/commit/?id=8b8cf4ece660f ("memfd_create: simplify HUGETLB support [...]") Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D56114
debug: classified in
04-filenames_plain2 by 'lib/'
debug: classified in
04-filenames_plain2 by 'lib/'
Added support for the f{maximum,minimum}_{mag,num} families, the new
C23 standard functions for maximum magnitude and number-preferring
maximum. This includes modifying fmax.3, on top of D56230, to
recommend the use of fmaximum_num and fminimum_num.
Reviewed by: fuz, kargl
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D56236
debug: classified in
04-filenames_plain2 by 'lib/'
Reviewed by: imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56362
debug: classified in
03-filenames_plain1 by
'include/'
libarchive 3.8.7
Important bugfixes:
#2871 libarchive: fix handling of option failures
#2897 iso9660: fix undefined behavior
#2898 RAR: fix LZSS window size mismatch after PPMd block
#2900 CAB: fix NULL pointer dereference during skip
#2911 libarchive: do not continue with truncated numbers
#2919 CAB: Fix Heap OOB Write in CAB LZX decoder
#2934 iso9660: fix posibble heap buffer overflow on 32-bit systems
#2939 cpio: Fix -R memory leak
#2947 libarchive: lzop and grzip filter support
Important bugfixes between 3.8.5 and 3.8.6:
#2860 bsdunzip: fix ISO week year and Gregorian year confusion
#2864 7zip: ix SEGV in check_7zip_header_in_sfx via ELF offset validation
#2875 7zip: fix out-of-bounds access on ELF 64-bit header
#2877 RAR5 reader: fix infinite loop in rar5 decompression
#2878 mtree reader: Fix file descriptor leak in mtree parser cleanup
(CWE-775)
#2892 RAR5 reader: fix potential memory leak
#2893 RAR5: fix SIGSEGV when archive_read_support_format_rar5 is called
twice
#2895 CAB reader: fix memory leak on repeated calls to
archive_read_support_format_cab
Obtained from: libarchive
Vendor commit: ded82291ab41d5e355831b96b0e1ff49e24d8939
MFC after: 1 week
debug: classified in
05-summary-prefix by 'lib.*:'
* cd9660_rrip_slink() did not check that the lengths of individual entries do not exceed the length of the overall record. * cd9660_rrip_altname() did not check that the length of the record was at least 5 before subtracting 5 from it. Note that in both cases, a better solution would be to check the length of the data before calling the handler, or immediately upon entry of the handler, but this would require significant refactoring. MFC after: 1 week Reported by: Calif.io in collaboration with Claude and Anthropic Research Reported by: Adam Crosser, Praetorian Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56215
debug: classified in
03-filenames_plain1 by
'sys/fs/'
This patch moves the definition of the nfsd_idargs structure out of nfs.h and into a new file called nfsid.h. This is being done so that it can be included in nfs_diskless.c in a future commit. There should be no semantics change from this commit. MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=8b9775912cbc ("nfs_diskless: Add support for an NFSv4 root fs")
debug: Commit manually moved from "unknown" to "filesystems".
Kernel stuff (other than networking, filesystems, and drivers).
The new PRIV_VMM_CREATE and DESTROY permissions should be allowed by jails, so need to be added to the list in prison_priv_check(). Then, modify vmmdev_create() to verify that the jail was created with the allow.vmm flag. This is already verified when opening /dev/vmmctl, but checking again doesn't hurt and ensures that one can't pass the allow.vmm policy by passing a vmmctl fd along a unix domain socket from outside the jail. Rename vmm_priv_check() to vmm_jail_priv_check() to make the function's purpose more clear. Reported by: novel Reviewed by: bnovkov Fixes: https://cgit.freebsd.org/src/commit/?id=d4c05edd410e ("vmm: Add privilege checks to vmmctl operations") Differential Revision: https://reviews.freebsd.org/D56119
debug: classified in
04-filenames_plain2 by 'sys/'
For instance, this is used by DRM drivers to declare the EDID property
of an GPU output connector:
sysctl -b sys.device.drmn1.card0.card0-DP-1.edid | edid-decode
...
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: SAM
Model: 29814
Serial Number: 810635354 (0x3051505a)
Made in: week 15 of 2025
...
Reviewed by: bz, emaste, wulf
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55176
debug: classified in
04-filenames_plain2 by 'sys/'
After reading both manual pages, our TCP_MAXUNACKTIME is fairly similar to the TCP_USER_TIMEOUT, the only considerable difference is ours is in seconds and linux's in milliseconds. Round up linux's in setsockopt(2) to a next whole second and clamp ours getter to UINT_MAX ms. Reviewed by: tuexen, glebius Differential Revision: https://reviews.freebsd.org/D56168 MFC after: 2 weeks Sponsored by: Sippy Software, Inc.
debug: classified in
04-filenames_plain2 by 'sys/'
kqueue: compare against the size in kqueue_expand This is a cosmetic change, rather than a functional one: comparing the knlistsize against the fd requires a little bit of mental gymnastics to confirm that this is fine and not doing unnecessary work in some cases. Notably, one must consider that kq_knlistsize only grows in KQEXTENT chunks, which means that concurrent threads trying to grow the kqueue to consecutive fds will usually not result in the list being replaced twice. One can also more clearly rule out classes of arithmetic problems in the final `else` branch. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D56209
debug: classified in
04-filenames_plain2 by 'sys/'
kqueue: avoid a possible fork-deadlock kqueue_fork_copy() is likely to have transitioned at least one knote through a flux state, so we should check whether we need to wake anything up on the way out to avoid a possible deadlock. This was a part of D56210, but we'll close the review with the next commit. Fixes: https://cgit.freebsd.org/src/commit/?id=b11289f87123f ("kqueuex(2): add KQUEUE_CPONFORK") Reviewed by: kib, markj
debug: classified in
04-filenames_plain2 by 'sys/'
kqueue: simplify knote_fdclose() The influx logic in knote_fdclose() is a little misguided, the resulting wakeup() call should always be redundant: knote_drop_detached() will always issue a wakeup before it returns, so anything waiting on *that* knote that had entered fluxwait should have been woken up then. This is the obvious divergence from the other influx/wakeup pattern in the implementation, which will kn_influx-- and then issue the wakeup after it has processed all of the knotes it can make progress on. While we're here, the kq_knlist cannot shrink, so we can avoid that condition in the loop and avoid potentially excessive wakeups from fluxwait on kqueues that we didn't touch. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D56210
debug: classified in
04-filenames_plain2 by 'sys/'
kqueue: add some kn_knlist assertions around knlist_(add|remove) We currently assert that kn_status is accurate, but there's more room for error. Neither of these are very likely, but currently we'd blow up in SLIST*() macros instead of providing more obvious diagnostics. It's perhaps only worth testing these because knlist_remove() requires getting logic across both f_attach() and f_detach() correct. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D56211
debug: classified in
04-filenames_plain2 by 'sys/'
kqueue_fork_copy_knote(): zero kn_knlist for the copy before calling knlist_add() Reported by: pho, dhw Fixes: https://cgit.freebsd.org/src/commit/?id=306c9049c642da6a59a5dc088589605a9aa38b87 Sponsored by: The FreeBSD Foundation MFC after: 1 week
debug: classified in
04-filenames_plain2 by 'sys/'
Reviewed by: kevans, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56212
debug: classified in
04-filenames_plain2 by 'sys/'
Fixes: https://cgit.freebsd.org/src/commit/?id=b538d4911004ca541507166b8ec9689d2e87d1aa MFC after: 2 weeks
debug: classified in
04-filenames_plain2 by 'sys/'
Without this patch, diskless root NFS file systems could only be mounted via NFSv3 (or NFSv2). This patch adds the basic support needed to mount a root fs via NFSv4. At this time, the NFSv4 mount will only work if the following is done on the NFS server configuration: - The root directory specified in the "V4:" line in /etc/exports must be "/". This is needed since the path to mount must be the same for NFSv3 and NFSv4. - The NFS server must be configured to do both NFSv3 and NFSv4, since the bootstrap code still uses NFSv3. - The NFSv4 server must be configured with: vfs.nfs.enable_uidtostring=1 vfs.nfsd.enable_stringtouid=1 since the NFSv4 root fs cannot be running nfsuserd(8) when it is booting. (This limitation may be removed in a future commit by hard-wiring enough id<-->name mapping entries to handle things until the nfsuserd(8) is running.) To enable the root fs to be mounted via NFSv4, it needs: - in the root file system's /boot/loader.conf boot.nfsroot.options="nfsv4" (Additional options like rsize=65536,wsize=65536 can also be specified.) - in the root file system's /etc/sysctl.conf vfs.nfs.enable_uidtostring=1 Requested by: Dan Shelton <dan.f.dhelton@gmail.com> MFC after: 1 week
debug: classified in
04-filenames_plain2 by 'sys/'
This commit adds page & bank fields to ifi2creq in preparation for adding CMIS support for 400g optics to ifconfig. The new ioctl SIOCGI2CPB is added, so that drivers can distinguish between callers asking for page/bank selection and legacy callers that simply failed to zero out all ifi2creq fields. The mlx5en(4) driver and iflib(4) driver frameork have been updated to use this new SIOCGI2CPB ioctl and support page/bank operations. A follow-on patchset will add support to ifconfig for reporting data from CMIS optics. This has been tested on Nvidia ConnectX-7 and Broadcom Thor2 (using out of tree driver) based NICs. Differential Revision: https://reviews.freebsd.org/D55912 Sponsored by: Netflix Inc. Reviewed by: kib
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Add `strtomem()` and `strtomem_pad()` The DRM generic code started to use `strtomem_pad()` in Linux 6.11. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55729
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Move `_RET_IP_` to <linux/instruction_pointer.h> This matches the declaration on Linux. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55730
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Define `_THIS_IP_` For now, the macro is not implemented and it returns 0. The DRM generic code started to use it in Linux 6.11. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55731
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Add mising functions in <linux/kmsg_dump.h> The DRM generic code started to use `kmsg_dump_get_buffer()` and `kmsg_dump_rewind()` in Linux 6.11. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55732
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Define `CONFIG_PGTABLE_LEVELS` This is a kernel configuration constant that is expected to be defined. The DRM generic code started to use it in Linux 6.11. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55733
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Define `PMD_SHIFT` For now, only define it for x86 architectures. The DRM generic code started to use it in Linux 6.11. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55734
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Add <linux/linux_logo.h> It only defines the `struct linux_logo` structure for now. It does not define any actual logo. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55735
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Add <linux/mfd/core.h> To be exact, there was a dummy file with no content before. This commit defines `struct mfd_cell` and adds two function stubs. The function stubs are not implemented but still return success. They log a message to indicate they need to be implemented. Also, unlike Linux, <linux/mfd/core.h> includes <linux/ioport.h>. This works around the fact that we can't include <linux/ioport.h> from <linux/pci.h>, due to a conflict with the FreeBSD-native `struct resource`. The amdgpu DRM driver started to use it in Linux 6.11. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55736
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Add field `flags` to `struct resource` This in the Linux version of `struct resource`, not the FreeBSD native structure. The amdgpu DRM driver started to use it in Linux 6.11. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55737
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Document why <linux/pci.h> can't include <linux/ioport.h> Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55738
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Define `MIN_T()` and `MAX_T()` There are the same as `MIN()` and `MAX()` except that they take a type to cast both arguments to compare. The DRM generic code started to use it in Linux 6.11. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55739
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Define missing `SZ_*` below 1 kib The amdgpu DRM driver started to use it in Linux 6.11. Reviewed by: bz, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55740
debug: classified in
04-filenames_plain2 by 'sys/'
linuxkpi: Add <linux/ascii85.h> This is used by the i915 DRM driver for some time to log more details about a GPU error, but the code was commented out. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56282
debug: classified in
04-filenames_plain2 by 'sys/'
As of this commit, all changes to linuxkpi required by the DRM drivers from Linux 6.11 were committed. Sponsored by: The FreeBSD Foundation
debug: classified in
04-filenames_plain2 by 'sys/'
Commit 8b9775912cbc added support for an NFSv4 mounted root file system, but only if the NFSv4 configuration used id numbers in the strings. This patch adds support for the case where the NFSv4 configuration uses name<-->id mappings via nfsuserd(8) by priming the mapping cache with just enough entries so that it works until the nfsuserd(8) is running. They are listed in nfs_prime_userd[] in sys/fs/nfs/nfs_commonsubs.c. The entries in nfs_prime_userd[] are also wired into the kernel's cache for name<-->id mappings when nfsuserd(8) starts up. This is necessary, since an upcall to the nfsuserd(8) daemon for a mapping when looking up the path to the passwd/group database files (/etc) will hang the system, due to a vnode lock being held on the entry in the path which blocks nfsuserd(8) from accessing files. To enable this case, the following must be put in the NFS root file system's /boot/loader.conf: boot.nfsroot.options="nfsv4" boot.nfsroot.user_domain="<user.domain>" where <user.domain> must be the same as nfsuserd uses (usually set via the -domain flag). If boot.nfsroot.user_domain does not exist or is the empty string, ids is strings is configured. MFC after: 1 week Requested by: Dan Shelton <dan.f.shelton@gmail.com> Fixes: https://cgit.freebsd.org/src/commit/?id=8b9775912cbc ("nfs_diskless: Add support for an NFSv4 root fs")
debug: classified in
04-filenames_plain2 by 'sys/'
In the sb == NULL case, we are computing the size of the note using a dummy sbuf drain handler which counts bytes and discards the contents of the buffer, so the fact that "structsize" is uninitialized doesn't matter. But, the compiler may complain about this, so we might as well just initialize it unconditionally to silence the warning, as other handlers already do. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292811 MFC after: 1 week
debug: classified in
04-filenames_plain2 by 'sys/'
- When allocating a page, we should only consider the PG_ZERO flag when handling the top-level page. - Unconditionally reset the flag when restarting the fault handler. Previously, vm_fault_busy_sleep() would fail to reset it. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294039 Reviewed by: kib Tested by: Peter Much <pmc@citylink.dinoex.sub.org> MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=cff67bc43df1 ("vm_fault: only rely on PG_ZERO when the page was newly allocated") Differential Revision: https://reviews.freebsd.org/D56234
debug: classified in
04-filenames_plain2 by 'sys/'
linprocfs_doauxv() allocates an automatic sbuf before validating whether the requested read can be satisfied. When the computed auxv read length exceeds IOSIZE_MAX, or when the buffer length is too big, the function returns early without releasing the sbuf. Route these early exits through a shared cleanup path so the sbuf is always deleted after sbuf_new_auto() succeeds. Signed-off-by: Shunchao Hu <ankohuu@gmail.com> Reviewed by: des, spmzt, zlei, aokblast MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2118
debug: classified in
04-filenames_plain2 by 'sys/'
This is motivated by the following race in the ZFS zvol code. When a zvol is created, we create a GEOM-backed zvol, which results in a /dev/zvol/<zvol path> device file, created by GEOM::dev. If volmode=dev is specified, zvol_set_volmode_impl() will wither the GEOM, then create a device file with the same name. This sometimes fails because g_wither_geom() is asynchronous, so we end up trying to create a device file while the old one still exists. I want to fix this by adding a g_waitidle() call to zvol_os_remove_minor(). g_waitidle() is not sufficient: GEOM::dev does not destroy the device until g_dev_orphan() is called. (In fact the device destruction is asynchronous too, but the delist_dev() call is sufficient to address this race.) So, I propose modifying g_waitidle() to block until orphaned providers are processed. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258766 Reviewed by: mav, imp, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55049
debug: classified in
04-filenames_plain2 by 'sys/'
We'll subsequently just knote_free() since the knote is barely constructed, but that bypasses any logic that might release references on owned files/fops. Defer clearing those until the knote actually owns them and update the comment to draw the line more clearly. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D56318
debug: classified in
04-filenames_plain2 by 'sys/'
This is purely a cosmetic change to make it a little easier on the eyes, rather than jumping back to the else branch up top. Re-flow it to use another loop on the outside and just inline the re-lock before we repeat after awaking from fluxwait. The !killkn path should maybe issue a wakeup if there's a thread in KQ_SLEEP so that userland can observe the EOF, but this isn't a practical problem today: pretty much every case of knlist_clear is tied to a file descriptor and called in the close(2) path. As a consequence, potentially affected knotes are almost always destroyed before we even get to knlist_clear(). Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D56226
debug: classified in
04-filenames_plain2 by 'sys/'
This is not a functional change, but it makes it more clear upon inspection of the definition that the mapping property described is preserved. Maybe more importantly, if one ends up getting an index wrong or punching a hole in the name array unexpectedly, then it'll hopefully manifest more clearly as a (null) or nullptr deref rather than potentially just emitting the wrong namespace name. It's noted that this almost certainly invalidates its use in C++, but there aren't really any known C++ consumers of it- let's just cross that bridge if we get there. Reviewed by: kib, mckusick, rmacklem Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55323
debug: classified in
04-filenames_plain2 by 'sys/'
freebsd11_freebsd32_nstat() invoked copyout(2) when freebsd11_cvtnstat32() failed and skipped copyout on success. This is backwards. Fix this to match freebsd11_freebsd32_nlstat() and freebsd11_nstat(), and only copy the nstat32 result to userspace when conversion succeeds. Signed-off-by: Weixie Cui <cuiweixie@gmail.com> Reviewed by: mhorne MFC after: 1 week Pull Request: https://github.com/freebsd/freebsd-src/pull/2109
debug: classified in
04-filenames_plain2 by 'sys/'
kobj.h just needs sys/types.h (because it uses u_int, it can't use sys/_types.h). kobj.h isn't a standard thing, so we don't need to be careful about namespace pollution. Sponsored by: Netflix
debug: Commit manually moved from "unknown" to "kernel".
Sponsored by: The FreeBSD Foundation MFC after: 1 week
debug: classified in
04-filenames_plain2 by 'sys/'
If a knote belongs to the list, there is no reason to check for the list emptiness. On the other hand, if the knote does not belong to the list, then checking for emptiness is not enough since there might be a different knote there. Reviewed bu: kevans, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56341
debug: classified in
04-filenames_plain2 by 'sys/'
Linux /proc/partitions reports the major/minor pair, the device size in 1K blocks, and the device name. linprocfs still printed obsolete statistics columns and reported the size in bytes. Update linprocfs_dopartitions() to emit the Linux-style header and report provider sizes in 1K blocks. Signed-off-by: Shunchao Hu <ankohuu@gmail.com> Reviewed by: des MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/2126 Closes: https://github.com/freebsd/freebsd-src/pull/2126
debug: classified in
04-filenames_plain2 by 'sys/'
zstd's tracing API (zstd_trace.h) declares ZSTD_trace_compress_begin()
and friends as __attribute__((weak)) externals, gated on the
ZSTD_HAVE_WEAK_SYMBOLS compile-time probe. That probe has covered
x86_64 and i386 since at least zstd 1.5.6, and was extended to aarch64
and riscv in 1.5.7.
In a static kernel image there is no dynamic linker to patch the PLT GOT
entries at runtime. On amd64 the undefined weak symbols resolve directly
to NULL, so the "!= NULL" guard in the zstd source correctly suppresses
every call through the stubs. On aarch64 and riscv the ABI requires
GOT-based indirection for external calls: the PLT stub address is
non-NULL, the guard passes, and the call lands in an uninitialized GOT
slot. Because this happens before exception handlers are in place the
machine resets silently, making the kernel unbootable after the zstd
1.5.7 import.
The upstream-supported suppression is ZSTD_NO_TRACE (zstd_internal.h),
which skips inclusion of zstd_trace.h entirely and forces ZSTD_TRACE=0.
Add it to ZSTD_C alongside the existing ZSTD_* defines, and while here
group all three -DZSTD_* flags onto a single line in alphabetical order
with ${.IMPSRC} on its own line.
Reported by: many
Tested by: lwhsu
X-MFC-with: c0d9a07101a1
debug: classified in
04-filenames_plain2 by 'sys/'
hash(9): introduce hashalloc()/hashfree() KPI This is a more extendable version than traditional hashinit(9). It allows different kinds of slot headers with optional locks. Implement traditional hashinit()/hashdestroy() on top of it. Reviewed by: pouria, gallatin Differential Revision: https://reviews.freebsd.org/D55904
debug: Commit manually moved from "unknown" to "kernel".
hash(9): fix my stupid off-by-one Fixes: https://cgit.freebsd.org/src/commit/?id=abf68d1cf02550c3c0341f5bb90be0d34f655a15
debug: classified in
04-filenames_plain2 by 'sys/'
inpcb: retire INP_DROPPED and in_pcbdrop() The inpcb flag INP_DROPPED served two purposes. It was used by TCP and subsystems running on top of TCP as a flag that marks a connection that is now in TCPS_CLOSED, but was in some other state before (not a new-born connection). Create a new TCP flag TF_DISCONNECTED for this purpose. The in_pcbdrop() was a TCP's version of in_pcbdisconnect() that also sets INP_DROPPED. Use in_pcbdisconnect() instead. Second purpose of INP_DROPPED was a negative lookup mask in inp_smr_lock(), as SMR-protected lookup may see inpcbs that had been removed from the hash. We already have had INP_INHASHLIST that marks inpcb that is in hash. Convert it into INP_UNCONNECTED with the opposite meaning. This allows to combine it with INP_FREED for the negative lookup mask. The Chelsio/ToE and kTLS changes are done with some style refactoring, like moving inp/tp assignments up and using macros for that. However, no deep thinking was taken to check if those checks are really needed, it could be that some are not. Reviewed by: rrs Differential Revision: https://reviews.freebsd.org/D56186
debug: classified in
04-filenames_plain2 by 'sys/'
tcp: fix !INVARIANTS build Fixes: https://cgit.freebsd.org/src/commit/?id=40dbb06fa73cac37d57563c07e55efd0cabbd488
debug: classified in
03-filenames_plain1 by
'sys/netinet/'
debug: moved to kernel because
'Need to be grouped with
40dbb06fa73cac37d57563c07e55efd0cabbd488'
Implement Linux I2C ioctl translation in the Linux compatibility layer and wire iicbus cdevs up for in-kernel rdwr handling. Support common i2c-dev requests including SLAVE, FUNCS, and RDWR, while rejecting unsupported 10-bit and SMBus operations. Signed-off-by: YAO, Xin <mr.yaoxin@outlook.com> Reviewed by: imp, adrian, pouria Differential Revision: https://reviews.freebsd.org/D56251
debug: classified in
04-filenames_plain2 by 'sys/'
geneve creates a generic network virtualization tunnel interface for Tentant Systems over an L3 (IP/UDP) underlay network that provides a Layer 2 (ethernet) or Layer 3 service using the geneve protocol. This implementation is based on RFC8926. Reviewed by: glebius, adrian Discussed with: zlei, kp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D54172
debug: classified in
04-filenames_plain2 by 'sys/'
This fixes the build when WITHOUT_CROSS_COMPILER is set. Reported by: fuz, vishwin Fixes: https://cgit.freebsd.org/src/commit/?id=17494c6e6b7d ("build: Boostrap LLVM_BINUTILS for cross-tools") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56219
debug: classified in
03-filenames_plain1 by
'share/mk/'
These were modified to avoid triggering a libucl bug which is now fixed. MFC after: 1 week Reviewed by: ivy, kevans Differential Revision: https://reviews.freebsd.org/D52824
debug: classified in
02-filenames_wildcards by
'release/.*'
Gate libsamplerate behind MK_CUSE and MK_SOUND, like virtual_oss. Nothing else uses this library, so there's no point building it if we aren't building virtual_oss. This avoids building a useless FreeBSD-sound package containing only this library when WITHOUT_SOUND is set. MFC after: 1 week Reviewed by: christos, emaste Differential Revision: https://reviews.freebsd.org/D56164 Sponsored by: https://www.patreon.com/bsdivy
debug: classified in
02-filenames_wildcards by
'.*Makefile'
When WITHOUT_AUDIT is set, nothing is built that uses this library, so don't build the library. This avoids building the FreeBSD-audit package when WITHOUT_AUDIT is set. MFC after: never Reviewed by: csjp, imp, emaste Differential Revision: https://reviews.freebsd.org/D56157 Sponsored by: https://www.patreon.com/bsdivy
debug: classified in
02-filenames_wildcards by
'.*Makefile'
WITHOUT_BZIP2_SUPPORT only affects a single binary, gzip(1); it doesn't remove bzip2 support from other bits (e.g., libarchive) and there are no similar options for gzip, xz or zstd. WITHOUT_BZIP2 has not done anything at all since it was first added in 2007. MFC after: never Discussed on: arch@ Reviewed by: imp, des, adrian, delphij, emaste Differential Revision: https://reviews.freebsd.org/D56148 Sponsored by: https://www.patreon.com/bsdivy
debug: Commit manually moved from "unknown" to "build".
In libucl 0.9.3, macros and includes are disabled by default when creating a new UCL parser. This breaks the package build, which relies on includes. Fix this by explicitly passing zero flags to ucl.parser(). MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=abda442d92fd ("contrib/libucl: Import libucl 0.9.3") Reviewed by: kevans, bapt Reported by: freebsd@walstatt-de.de Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56266
debug: classified in
02-filenames_wildcards by
'release/.*'
debug: classified in
03-filenames_plain1 by
'share/mk/'
flua: Always build as a bootstrap tool We want to use flua from the source tree (not the host) during package build, firstly to protect us from breaking changes in lua or libucl, and secondly to allow (in future) cross-building of packages from Linux or macOS. Since we don't know if the user will be building packages during the bootstrap phase, and because flua is fairly small and generally useful, build it as a bootstrap tool unconditionally. MFC after: 2 weeks Reviewed by: kevans, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56270
debug: classified in
02-filenames_wildcards by
'.*Makefile'
tools/build/Makefile: Always add md4.h to SYSINCS Since libmd was added to the bootstrap, building main on stable/14 fails because of an incompatibility in its old md4.h. Fix this by always including md4.h in the bootstrap headers, instead of only doing so when building on a non-FreeBSD host. Fixes: https://cgit.freebsd.org/src/commit/?id=50de0bf50512 ("flua: Always build as a bootstrap tool") Reported by: olce Reviewed by: olce, kevans Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56327
debug: classified in
02-filenames_wildcards by
'.*Makefile'
To avoid breaking the build due to incompatible changes in flua or lua libraries on the host, use the bootstrap flua for the package build. MFC after: 2 weeks Reviewed by: kevans, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56271
debug: classified in
02-filenames_wildcards by '['.*Makefile',
'release/.*']'
MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=8dfeba04eb36 ("Update to a June 8th snapshot of (un)vis form NetBSD.") Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D56260
debug: classified in
02-filenames_wildcards by
'.*Makefile'
This also adds the aarch64 symbols, exporting them. Reported and tested by: fluffy Reviewed by: emaste Fixes: https://cgit.freebsd.org/src/commit/?id=3a01e1e1a50cb9a9594aac2148dc920a6b295428 Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56283
debug: classified in
02-filenames_wildcards by
'.*Makefile'
MFC after: 1 day (the security issues warrant a quick backport). MFC with: 10a428653ee7216475f1ddce3fb4cbf1200319f8
debug: classified in
02-filenames_wildcards by
'.*Makefile'
Reviewed by: des
debug: classified in
02-filenames_wildcards by
'.*Makefile'
Add missing header file (openssl/ml_kem.h) of OpenSSL 3.5 Reviewed by: fluffy, ngie Approved by: ngie (maintainer) Differential Revision: https://reviews.freebsd.org/D56291
debug: classified in
02-filenames_wildcards by
'.*Makefile'
Reviewed by: ziaee, adrian Differential Revision: https://reviews.freebsd.org/D55182
debug: classified in
02-filenames_wildcards by
'.*Makefile'
Oracle's previous support is no longer available to the project. Repeated attempts to find a sponsor within Oracle's cloud business have not been successful. The last published official images are from 15.0-RELEASE. https://marketplace.oracle.com/app/freebsd-release Relnotes: yes Sponsored by: SkunkWerks, GmbH Differential Revision: https://reviews.freebsd.org/D56360 MFC after: 3 days
debug: classified in
02-filenames_wildcards by '['.*Makefile',
'release/.*']'
FreeBSD has not yet established an AI submission policy. For now remove text that implies we have.
debug: classified in
03-filenames_plain1 by
'CONTRIBUTING.md'
Approved by: makc (mentor)
debug: classified in
03-filenames_plain1 by
'share/misc/committers-ports.dot'
The argv test checks ps(1) output immediately after backgrounding yes(1), but the forked child briefly shows the parent shell's argv before exec(2) replaces it. This caused intermittent failures where ps(1) captured the atf shell wrapper command line instead of "yes y". Approved by: des Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D56231
debug: classified in
02b-filenames_wildcards2 by
'usr.bin/.*/tests/.*'
While here fix the match pattern in the existing test.
Sponsored by: Rubicon Communications, LLC ("Netgate")
debug: classified in
02b-filenames_wildcards2 by
'tests\/.*'
* The f_flag test may fail if a component of the full path to the temporary directory is a symbolic link. * The n_flag test had an empty head; give it a description. * Use consistent quoting. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56293
debug: classified in
02b-filenames_wildcards2 by
'usr.bin/.*/tests/.*'
The unit tests are patterned after those for memrchr(). This catches the issue found in 293915. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293915 Reviewed by: strajabot Reported by: safonov.paul@gmail.com MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56037
debug: classified in
03-filenames_plain1 by
'lib/libc/tests/'
* Use ourselves as test file instead of /COPYRIGHT, which may or may not be present in the test environment. * atf-check understands \n in strings, use it. * Some file systems don't like creating small holes, so create large ones instead. This means we need two variables: ps (page size) is the minimum size of a data region and the alignment for a hole, while hs (hole size) is the minimum size of the holes we create. This makes no difference on FreeBSD but makes it easier to port the test to other platforms. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56304
debug: classified in
02b-filenames_wildcards2 by
'usr.bin/.*/tests/.*'
Just copy over a timer and a write-filter, be sure that we can observe both in the child. Maybe the timer should check for a minimum time passed, but I don't know that we'd be likely to get that wrong. This also adds a negative test with a kqueue that is *not* set for CPONFORK being added to the first one, made readable, and confirming that we don't see a knote for it in the child. Some other improvements to the test noted in the review are planned in the short term, but they're not particularly worth blocking adding this as a basic sanity check. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D56223
debug: classified in
02b-filenames_wildcards2 by
'tests\/.*'
Add tests for each combinations of geneve modes, address families and multicast. Differential Revision: https://reviews.freebsd.org/D55183
debug: classified in
02b-filenames_wildcards2 by
'tests\/.*'
These could go in other categories, but it's more clear if they're here instead.
- s/reimplemeted/reimplemented/ MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
- s/impementations/implementations/ MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
- s/THis/This/ - s/impementation/implementation/ MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
- s/seperated/separated/ MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
- s/implemeted/implemented/ MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
- s/THis/This/ MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
Reviewed by: tuexen Fixes: https://cgit.freebsd.org/src/commit/?id=c70755bc0d8f ("virtio: add loader tunables to sysctl") MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
Reported by: vladlen
debug: classified in 01-style
by '[tT]ypo'
MFC after: 3 days
debug: classified in 01-style
by '[tT]ypo'
MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=fc32c802158f Add two new manual pages Differential Revision: https://reviews.freebsd.org/D55814
debug: classified in 01-style
by '[tT]ypo'
Security: CVE-2026-34743 MFC after: 3 days
debug: classified in
05-summary-prefix by 'MFV:'
Changes: https://github.com/libexpat/libexpat/blob/R_2_7_5/expat/Changes https://github.com/libexpat/libexpat/blob/R_2_7_4/expat/Changes Security: CVE-2026-32776 Security: CVE-2026-32777 Security: CVE-2026-32778 Security: CVE-2026-24515 Security: CVE-2026-25210 MFC after: 3 days
debug: classified in
05-summary-prefix by 'contrib/'
Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56222
debug: classified in
03-filenames_plain1 by
'contrib/'
Differential Revision: https://reviews.freebsd.org/D54583 Approved by: bapt MFC after: 3 days Changelog: https://github.com/vstakhov/libucl/releases/tag/0.9.3
debug: classified in
03-filenames_plain1 by
'contrib/'
Merge commit 'fe271bdb43cf88ee129d94c0e286fe618fd28e89'
debug: classified in
05-summary-prefix by 'Merge '
Sponsored by: The FreeBSD Foundation
debug: classified in
03-filenames_plain1 by
'contrib/'
Enable macros and includes by default as this is breaking package building on HEAD. libucl 0.9.3 by default changed the behavior of includes and macros. These were previously enabled but it switched to disabled which breaks the package building in HEAD. This is a temporary workaround for now to fix the package building specially for releng/15.0. This might be reverted post EOL of 15.0 in the coming months. Reported by: ivy Fixes: https://cgit.freebsd.org/src/commit/?id=abda442d92fd ("contrib/libucl: Import libucl 0.9.3") Tested by: ivy Approved by: ivy, kevans Differential Revision: https://reviews.freebsd.org/D56294
debug: classified in
03-filenames_plain1 by
'contrib/'
MFC after: 2 weeks Relnotes: yes
debug: classified in
05-summary-prefix by 'MFV:'
This change brings in version 3.5.6 of OpenSSL, which features several security fixes (the highest of which is a MEDIUM severity issue), as well as some miscellaneous feature updates. Please see the release notes [1] for more details. PS Apologies for the confusing merge commits -- I was testing out a new automated update process and failed to catch the commit message issues until after I pushed the change. 1. https://github.com/openssl/openssl/blob/openssl-3.5.6/NEWS.md MFC after: 1 day (the security issues warrant a quick backport). Merge commit 'ab5fc4ac933ff67bc800e774dffce15e2a541e90'
debug: classified in
03-filenames_plain1 by
'crypto/openssl/'
A new manpage and any associated links will be added in the next commit. MFC after: 1 day (the security issues warrant a quick backport). MFC with: 10a428653ee7216475f1ddce3fb4cbf1200319f8
debug: classified in
05-summary-prefix by
'crypto/openssl:'
We don't need any docs or examples in tree, as well as any upstream-specific build infrastructure. Differential Revision: https://reviews.freebsd.org/D55836
debug: classified in
03-filenames_plain1 by
'sys/contrib'
debug: classified in
03-filenames_plain1 by
'sys/contrib'
NetBSD make defaults this to "yes", bmake defauts it to "no" to retain the traditional behavior. The default is dealt with in bmake's Makefile but that does not address boot-strap. For now, just change the ifdef in main. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294436
debug: classified in
03-filenames_plain1 by
'contrib/'
The logic of clearing local address at the protocol level makes sense. It is feature of UDP, not of any protocol, that local address is cleared on disconnect. This code can be tracked down to pre-FreeBSD times. For example, for TCP we want a disconnected socket to return previously used local address with getsockname(2). The TCP has successfully evaded that by not calling in_pcbdisconnect() and calling in_pcbdetach() in the very old code and in_pcbdrop() later. After D55661 TCP again has this potential bug masked. Better make it right than rely on such unintentional evasions. The raw IP sockets don't use in_pcbdisconnect(), but they are going to in the near future. If in_pcbdisconnect() clears local address for them, that would be a larger bug than just getsockname(). A raw socket may be bound with bind(2) and then connect(2)ed, and then disconnected, e.g. connect(INADDR_ANY). And when we run raw IP socket through in_pcbdisconnect() we don't want to lose local address. This reverts D38362. This reverts commit 2589ec0f365777faacf36bd1eb24706538836b17. Reviewed by: rrs, markj Differential Revision: https://reviews.freebsd.org/D56170
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-04-13 18:39:35+00:00.
This work is supported by Tarsnap Backup Inc.
Alternate version: 2026-04-01 (release)