This is a display of mostly-automatically-classified git commits from 2026-04-13 to 2026-04-19.
Table of contents and commits per category:
| (4) | Highlighted commits (these are copies, not in stats) | |
| 4 | 1.8% | Userland programs |
| 20 | 9.1% | Documentation |
| 42 | 19.1% | Hardware support |
| 43 | 19.5% | Networking |
| 13 | 5.9% | System administration |
| 5 | 2.3% | Libraries |
| 0 | 0.0% | Filesystems |
| 43 | 19.5% | Kernel |
| 17 | 7.7% | Build system |
| 0 | 0.0% | Internal organizational stuff |
| 10 | 4.5% | Testing |
| 7 | 3.2% | Style, typos, and comments |
| 13 | 5.9% | Contrib code |
| 3 | 1.4% | Reverted commits |
| 0 | 0.0% | Unclassified commits |
| 220 | 100% | total |
| Technical notes about this page |
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.
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
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
NETWORKING is the documented placeholder, while /etc/rc.d/NETWORKING still provides the legacy alias NETWORK. The NETWORKING script was originally introduced to avoid conflicts with NetBSD's lowercase network script on case-insensitive file systems. The NETWORK alias was retained for compatibility with older scripts. Following the discussion in PR 293652, remove the legacy NETWORK alias from 16-CURRENT. Keeping both names adds more confusion than value now that NETWORKING is the documented placeholder and current base system and ports tree uses are already clean. Add an UPDATING entry to note that local RC scripts using REQUIRE: NETWORK should be migrated to REQUIRE: NETWORKING. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293652 Reviewed by: michaelo, jlduran Relnotes: yes Differential Revision: https://reviews.freebsd.org/D56300
Implement RFC 4191 by handling received Router Adverisement (RA) packets with route information option. For default routes, use the route information's lifetime and preference to overwrite the RA's lifetime/preference. Also install and update more-specific route prefixes with the option's lifetime and expire them when their lifetime elapses. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263982 Reviewed by: markj Tested by: Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D55449
Commits about commands found in man section 1 (other than networking).
The default history size in bin/sh is currently 100 however POSIX.1-2024 mandates that a default greater than or equal to 128 shall be used, therefore this increases the default history size in /bin/sh to 128. POSIX standards reference: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/sh.html#tag_20_110_08 MFC after: 3 days Reviewed by: emaste, jilles, jlduran, ziaee Signed-off-by: Kristofer Peterson <kris@tranception.com> Closes: https://github.com/freebsd/freebsd-src/pull/2093
* Use xo_warn() / xo_err() instead of warn() / err(). * Add a test case for the POSIX-mandated stdout error check. * While here, don't assume the size of off_t, address some style issues, and broaden the use of bool instead of int. * Reorder SEE ALSO section. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D56402
When using PART_KIND_FILE (-p type:=filename), mkimg uses a colon to separate an optional offset (e.g., filename:offset). strsep() was being used to split the string at the first colon. This caused failures when the filename itself contained a colon (e.g., "th:is"). This patch uses stat() to check if the entire string exists as a file. If so, use it directly without splitting. If the full string is not a valid file, fall back to splitting at the right-most colon using strrchr(). Uses errc() to fail and exit immediately when an existing directory is input instead of a file in PART_KIND_FILE mode. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257960 Signed-off-by: Aaditya Singh <aadityavksingh@gmail.com> Reviewed by: jlduran Pull Request: https://github.com/freebsd/freebsd-src/pull/2041
This usually gets bumped by re@ when the version number changes in sys/conf/newvers.sh, but apparently we forgot for the past two major versions.
Man pages, release notes, etc.
Add geneve parameters to ifconfig manual. Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D55181
MFC after: 3 days Reviewed by: Aaron Li <aly@aaronly.me>, ziaee Differential Revision: https://reviews.freebsd.org/D56090
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285744 Reviewed by: ziaee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56285
Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D56384
Explain how SIGTHR is used and that it should be not touched by user code. Note about SIGLIBRT. Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D56384
The FreeBSD shell is a POSIX compatible shell. It evolved over several decades from the Almquist shell, which was preceeded a decade before that by the Bourne shell. Most readers today have never seen a Bourne shell. If someone wants to learn to use our shell, they need to look for tutorials on the POSIX shell. Align descriptions through out the tree with this reality, consistent with it's manual and common parlance. We made a similar change to the doc tree in b4d6eb01540fe. MFC after: 3 days Reviewed by: carlavilla Differential Revision: https://reviews.freebsd.org/D56382
Break the examples into subsections, so that we can have multi-step examples. MFC after: 3 days (to 15 only) Discussed with: ivy Differential Revision: https://reviews.freebsd.org/D55526
MFC after: 3 days Reviewed by: ivy, emaste Discussed with: bapt, des, emaste, ivy, phk, pi Differential Revision: https://reviews.freebsd.org/D55458
MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=7b35b4d19630 ("sockstat: add libxo support")
Fix several incorrect sysctl.3 type and mutability descriptions so the manpage matches the actual kern and kern.proc interfaces. Signed-off-by: Tyler Waddell <tyler.waddell112@gmail.com> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2128
The man page used "trimmed" to describe log rotation, which is misleading as it suggests the file is truncated to a specific size rather than being rotated (renamed and a new file created). Replace all instances of "trimmed" with "rotated" to match the actual behavior and the terminology used elsewhere in the page. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278671 Signed-off-by: Kit Dallege <xaum.io@gmail.com> Reviewed by: imp,ziaee Pull Request: https://github.com/freebsd/freebsd-src/pull/2099
Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56225
Now that i386 kernels are deprecated, we don't really need to mention this limitation. It's also a bit dated since PKRU is supported with 5-level paging as well. Reviewed by: alc, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56415
There are cases where the kernel will be able to access memory covered by a PKRU key which nomially prohibits accesses. I believe regular copyin()/copyout() are subject to the contents of PKRU, but memory accesses via uiomove_fromphys() will not be. This can arise when performing fault I/O, for instance. I didn't test, but I suspect AIO is another case. Update the man page to acknowledge this. Reviewed by: alc, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56416
+ s/ntp/ntpd/ for correctness + apropos results in document description + silence a linter warning by escaping a period with a zero-width space MFC after: 3 days
The example provided puts the semicolon in the wrong place. It must come after the file:// specification, not in it. MFC after: 1 week
See also: https://github.com/freebsd/virtual_oss/issues/2 Sponsored by: The FreeBSD Foundation MFC after: 1 week
MFC after: 1 week Reviewed by: imp, markj, jhb Differential Revision: https://reviews.freebsd.org/D56499
Since pdrfork will be included in FreeBSD 15.1 Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56513
Hardware drivers and architecture-specific code.
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
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
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
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
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
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
Noticed by: jhb Sponsored by: Netflix
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294468 Reported by: dan.kotowski@a9development.com Tested by: dan.kotowski@a9development.com Discussed with: kib Fixes: https://cgit.freebsd.org/src/commit/?id=9289df1949cd ("x86: Add zen identifier helper function") MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56377
This example opens separate OSS capture and playback channels in mmap mode, places them into a sync group, and starts them together so both ring buffers advance on the same device timeline. It then monitors the capture mmap pointer with SNDCTL_DSP_GETIPTR, converts that pointer into monotonic absolute progress using the reported block count, and copies newly recorded audio from the input ring to the matching region of the output ring. The main loop is driven by an absolute monotonic frame clock rather than a fixed relative usleep delay. Wakeups are scheduled from the sample rate using a small frame step similar to the SOSSO timing model, while the audio path itself stays intentionally simple: just copy input to output, with no explicit xrun recovery or processing beyond ring wraparound handling. MFC after: 1 week Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D53749
The lock is already held by the caller since it is used as the knlist lock. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293901 Reported by: Jiaming Zhang <r772577952@gmail.com> Fixes: https://cgit.freebsd.org/src/commit/?id=cc2715cf1f86 ("acpi_apm: Narrow scope of ACPI_LOCK")
This patch adds a debugging interface to read and write arbitrary Apple SMC keys by name through sysctl, enabling hardware exploration and control of undocumented features. The interface provides four sysctls under dev.asmc.0.raw.*: - key - Set the 4-character SMC key name (e.g., "AUPO") - value - Read/write key value as a hex string - len - Auto-detected key value length (can be overridden) - type - Read-only 4-character type string (e.g., "ui8", "flt") Implementation includes a new asmc_key_getinfo() function using SMC command 0x13 to query key metadata. The interface automatically detects key lengths and types, uses hex string encoding for arbitrary binary values, and is safe for concurrent access via CTLFLAG_NEEDGIANT. This interface was essential for discovering that the AUPO key enables Wake-on-LAN from S5 state, and for mapping all 297 SMC keys on Mac Mini 5,1. Reviewed by: ngie, adrian, markj Differential Revision: https://reviews.freebsd.org/D54441
Check a PCI device's class, subclass, and progif to figure out if it is a USB4 NHI. nhi_identifiers is completely removed as only these generic USB4 NHIs are supported anyway, and all remnants of ICM-supporting code are removed too. All devices now use the HCM. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290827 Reviewed by: jhb, ngie Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52861
HID driver for Apple IR receivers (USB HID, vendor 0x05ac). Supports Apple Remote and generic IR remotes using NEC protocol. Supported hardware: - Apple IR Receiver (0x8240, 0x8241, 0x8242, 0x8243, 0x1440) Apple Remote protocol (proprietary 5-byte HID reports): - Key down/repeat/battery-low detection - 17-key mapping with two-packet command support - Synthesized key-up via 125ms callout timer Generic IR remotes (NEC protocol): - Format: [0x26][0x7f][0x80][code][~code] - Checksum: code + ~code = 0xFF - Default keymap with 8 common codes - See: https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol Output via evdev with standard KEY_* codes. Raw HID access available at /dev/hidraw0 for custom remapping. Based on protocol reverse-engineering by James McKenzie et al. Reference: drivers/hid/hid-appleir.c (Linux) Tested on Mac Mini 2011 (0x05ac:0x8242). Differential Revision: https://reviews.freebsd.org/D55472
This commit adds support for the MacBookPro13,1 (late 2016, 13-inch). The SMC keys were collected from https://logi.wiki/index.php/SMC_Sensor_Codes. Two temperature keys are omitted because they fail to be read: TI0P (IO Proximity) and Ta0P (Ambient Air). Note that the with this model the `dev.asmc.0.fan.0.minspeed` setting only applies when the fans have been activated by the system. In my testing, the fans did not spin up until CPU temperatures hit about 80C. At lower temperatures, the fans will happily ignore the minimum speed and remain at 0 rpm. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2137
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2137
If you use the FreeBSD pre-build Raspberry Pi image, it does not include the specific .dtb file for the Raspberry Pi 400. On this hardware, it will fall back to attempting to load the Raspberry Pi 4 .dtb file instead. The Pi 4 .dtb file reports the board compatible name as "raspberrypi,4-model-b" The Pi 400 .dtb file reports the board compatible name as "raspberrypi,400" However, it's even better to use the generic name. When using the official Pi 400 .dtb file from the Raspberry Pi Firmware collection, the FreeBSD xhci driver currently fails to recognize this, and thus fails to initialize the xhci device. This means no external USB, or internal USB (which feeds the build-in keyboard) The official Raspberry Pi FreeBSD image has been working on the Pi 400 "on accident" simply because it didn't include the Pi 400 .dtb file prior to this. But the Stratipi Builder uses the full Raspberry Pi firmware suite and hit this bug. As a note: this is probably also a bug on the Compute Module 4 (CM4), but I don't own one of these devices in order to test/validate it. MFC After: 5 days Reviewed by: imp, Ali Mashtizadeh Pull Request: https://github.com/freebsd/freebsd-src/pull/2115
The switch fell through from the supported B150–B115200 cases into default and returned EINVAL for every speed. Break out before default so valid rates return success, matching uvscom_cfg_param(). Signed-off-by: Weixie Cui <cuiweixie@gmail.com> Reviewed by: imp,aokblast Pull Request: https://github.com/freebsd/freebsd-src/pull/2110
The pmclog record header carries the raw TSC for each event. Export it in struct pmclog_ev, fix JSON output to emit it unsigned, and preserve the installed header ABI by overlaying pl_tsc with the legacy pl_ts storage. Update pmclog(3) to document the TSC semantics and the legacy alias. Sponsored by: AMD Signed-off-by: Andre Silva <andasilv@amd.com> Reviewed by: imp, mhorne, Ali Mashtizadeh Pull Request: https://github.com/freebsd/freebsd-src/pull/2085
Some ACPI debugging prints call acpi_d_state_to_str() on unset D-states (i.e. ACPI_STATE_UNKNOWN), so return a string explicitly saying "unknown D-state" instead of just panicking. Fixes: https://cgit.freebsd.org/src/commit/?id=84bbfc32a3f4 ("acpi_powerres: D3cold support") Sponsored by: The FreeBSD Foundation MFC after: 3 days
Reviewed by: olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56305
ofw: bool-ify OF_hasprop() Adjust the function signature and the few callers that don't treat it this way already. This is style only; no functional change intended. Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56203
OF_getprop.9: update OF_hasprop() signature The return type has been converted to a bool. Reported by: manu Sponsored by: The FreeBSD Foundation Fixes: https://cgit.freebsd.org/src/commit/?id=b60cd486a652 ("ofw: bool-ify OF_hasprop()")
raspberry_virtgpio: fix OF_hasprop() usage The function returns a bool. This driver was merged recently (by me) and I missed this instance. While here, adjust the ofw_bus_status_okay() call similarly. This function still returns an int, but this usage is more widely used in our drivers. No functional change intended. MFC after: 3 days Sponsored by: The FreeBSD Foundation Fixes: https://cgit.freebsd.org/src/commit/?id=b60cd486a652 ("ofw: bool-ify OF_hasprop()")
Frequently there are some unused/unspecified fixed clocks present in a device tree. Each one emits a warning before it fails to attach, which results in (sometimes many) repeated messages which are not user-actionable. Put this warning behind the bootverbose flag. MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56204
Add the Normal-Tagged memory attribute introduced with MTE. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D55948
The clock calibration routine currently can result in rx timestamps jumping backwards, which can confuse the TCP stack. Ensure they are monotonically increasing by estimating what we'd calculate as the next timestamp and clamp the calibration so new timestamps are no earlier in time. Reviewed by: kib, nickbanks_netflix.com Tested by: nickbanks_netflix.com Differential Revision: https://reviews.freebsd.org/D56427 Sponsored by: Netflix
etherswitch: Add minimal support for mv88e6170 switch
e6000sw.4: Mention MV88E6171 Fixes: https://cgit.freebsd.org/src/commit/?id=680e6e30c020 (etherswitch: Add minimal support for mv88e6170) Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D56455
Instead of trying to parse a bogus node, just skip it if marked disabled.
E6500 cores (MMUv2) support all powers-of-2 page sizes from 4k to 1TB, not just powers of 4. By using the other page sizes (8k, 32k, etc) we can save on TLB1 space, saving up to ~1/3 of used TLB1 entries.
Freescale T-series QorIQ devices use a different register to twiddle the timebase enable.
Since whether or not the irq is an IPI is passed into powerpc_setup_intr_int(), use this as the check for IPI instead of checking the name string.
Apple SMCs contain numerous undocumented voltage, current, power,
and ambient light sensors. This change adds automatic detection
and registration of these sensors as sysctls.
New sysctl trees:
dev.asmc.0.voltage.* - Voltage sensors (millivolts)
dev.asmc.0.current.* - Current sensors (milliamps)
dev.asmc.0.power.* - Power sensors (milliwatts)
dev.asmc.0.ambient.* - Ambient light sensors
Implementation:
- Scans all SMC keys at attach time via asmc_key_dump_by_index()
- Identifies sensors by key prefix patterns:
- Voltage: VC*, VD*, VG*, VP*, VI*
- Current: I{C,D,G,M,N,O,H,P,B,A,L}*
- Power: P{C,D,N,S,T,H,F,Z,z}*
- Light: ALV*, ALS*
- Dynamically creates sysctls for detected sensors
- Supports 8 fixed-point SMC data types:
- sp78, sp87, sp4b, sp5a, sp69, sp96, sp2d, ui16
- Auto-converts all values to milli-units (mV, mA, mW)
On Mac Mini 5,1, detects:
- 7 voltage sensors
- 18 current sensors
- 27 power sensors
- 2 ambient light sensors
Enables power consumption monitoring, voltage rail debugging,
and ambient light detection without hardcoding model-specific
sensor lists.
Tested on:
- Mac Mini 5,1 (2011) running FreeBSD 15.0-RELEASE
- 54 sensors auto-detected and exposed via sysctl
- All sensor types verified with multimeter readings
- Fixed-point conversions validated against known values
- Memory management tested (malloc/free on detach)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D55807
Add a per-interface loader tunable dev.rge.%d.disable_aspm to disable PCIe ASPM (L0s/L1) and ECPM on the RTL8125/8126/8127. Disabling ASPM reduces latency at the cost of higher power consumption. Default is off (ASPM left as configured by BIOS). Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D56103
Each MDIO transfer takes 8ms, and all of that is spent in a set of DELAY() calls, which is consuming a LOT of CPU. * Change the timeout in ixgbe_hic_unlocked() - doing IPC to the on-chip firmware - to a 1uS delay and bump timeout appropriately. This seems to finish in a couple of microseconds on my local test devices. * Change the 2ms sleep in ixgbe_release_swfw_sync_X540() to 2ms for EEPROM/flash, and 10uS otherwise. 10uS seems to work fine on my local testing, but the config EEPROM doesn't read right without this extra delay. The first change shouldn't change the driver behaviour, but the latter change is more intrusive and needs some wider testing. (My guess here is that there SHOULD have been some completion check somewhere in the EEPROM/flash IO path, and these sleeps are masking them.) Locally tested: * C3558 (Denverton) w/ X553 backplane Reviewed by: kbowling Differential Revision: https://reviews.freebsd.org/D50295
Oops, I missed 'device ix' in here, and it now requires mdio.
When the Alder Lake Serial-over-LAN device is put into loopback mode and repeated writes are performed to the data register it results in the device ending up in a non-functional state afterwards. Recovering the device to a working state requires re-writing the LCR register with it's current value (no effective change). This should be harmless on all other devices. Sponsored by: Citrix Systems R&D Differential revision: https://reviews.freebsd.org/D56107 Reviewed by: imp
For PCI devices listed in pci_ns8250_ids return BUS_PROBE_SPECIFIC, while for generic UART devices not explicitly listed in pci_ns8250_ids return BUS_PROBE_GENERIC. This allows more specific drivers to take over those devices, and the generic UART PCI driver will only be used as a fallback. This fixes an issue where the UART PCI driver would attach to multiport PCI UART devices, that instead need to use the puc(4) driver to multiplex the device. Reported by: markj Sponsored by: Citrix Systems R&D Differential revision: https://reviews.freebsd.org/D56467 Reviewed by: markj imp
acpi_spmc(4): Small probe improvements/fixes Remove the test on presence of an ACPI handle, this is implied by ACPI_ID_PROBE() succeeding. Set 'sc->dev' early, so that acpi_spmc_check_dsm_set() using device_printf() will print the driver name. Add a missing newline after printing that more DSM functions are implemented then expected. Reviewed by: obiwac Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56483
acpi_spmc(4): Remove redundant setting of 'sc->dev' on attach Should have been part of the previous commit (but PEBCAK). Reviewed by: obiwac Fixes: https://cgit.freebsd.org/src/commit/?id=bd05b47fbd8b ("acpi_spmc(4): Small probe improvements/fixes") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56483
Add WITH{,OUT}_LOADER_USB to build the kshim usb library. Nothing
in-tree uses it, but this will make it easier to keep building. Updated
src.conf.5 with a few extra changes...
Sponsored by: Netflix
In order to enable RX checksum offloading we need to check the meta-information for the (good) frames to see if the L3/4 checksums were calculated and if there was an error. The way the buffere are setup, the needed frame meta-information is already requested. All we have to do is make sure it is really part of the RX frame, that it is valid, and if the respective bits are set. Also do not forget to set the (dummy) csum_data as otherwise upper layers will just be cranky. An artefact of the past which likely should disappear. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006 Reviewed by: bz, tuexen Tested by: bz, tuexen Approved by: tuexen Obtained from: bz (initial version, D55320) MFC after: 3 days Sponsored by: Traverse Technologies (providing Ten64 HW for testing) Differential Revision: https://reviews.freebsd.org/D56383
Network-related commands, library, and kernel.
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
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
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
ifconfig: Add support for geneve (netlink) This implementation is netlink only Differential Revision: https://reviews.freebsd.org/D55184
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
ifconfig: Do not build geneve with WITHOUT_NETLINK_SUPPORT geneve(4) is netlink-only, therefore, don't build it with WITHOUT_NETLINK_SUPPORT=1 set. Reported by: kp Fixes: https://cgit.freebsd.org/src/commit/?id=688e289ee904 ("ifconfig: Add support for geneve (netlink)") Differential Revision: https://reviews.freebsd.org/D55184
Observed below kernel panic calltrace while performing sysctl -a operation while unloading the if_bnxt driver, Fatal trap 9: general protection fault while in kernel mode KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe02a7569940 vpanic() at vpanic+0x136/frame 0xfffffe02a7569a70 panic() at panic+0x43/frame 0xfffffe02a7569ad0 trap_fatal() at trap_fatal+0x68/frame 0xfffffe02a7569af0 calltrap() at calltrap+0x8/frame 0xfffffe02a7569af0 trap 0x9, rip = 0xffffffff80c0b411, rsp = 0xfffffe02a7569bc0, rbp = 0xfffffe02a7569be0 --- sysctl_handle_counter_u64() at sysctl_handle_counter_u64+0x61/frame 0xfffffe02a7569be0 sysctl_root_handler_locked() at sysctl_root_handler_locked+0x9c/frame 0xfffffe02a7569c30 sysctl_root() at sysctl_root+0x22f/frame 0xfffffe02a7569cb0 userland_sysctl() at userland_sysctl+0x196/frame 0xfffffe02a7569d50 sys___sysctl() at sys___sysctl+0x65/frame 0xfffffe02a7569e00 amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe02a7569f30 fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe02a7569f30 Root Cause: iflib adds per-device sysctl nodes under the device tree using the device sysctl context. Some of those nodes are counter sysctl that point at fields inside txq→ift_br. When the if_bnxt driver is unloaded, iflib_device_deregister runs and calls iflib_tx_structures_free, which frees the txqs ift_br. The device sysctl tree is only freed when the device is destroyed. If sysctl -a runs during unload, it can still traverse the device tree and call sysctl_handle_counter_u64 for those nodes. The handler does counter_u64_fetch(*(counter_u64_t *)arg1). By then arg1 can point into freed memory and leads to use after free type kernel panic. Fix: flib now uses its own sysctl context for all iflib-related nodes instead of using device’s context. And iflib sysctl context is now removed before any queue/ring memory is freed. MFC after: 2 weeks Reviewed by: gallatin, ssaxena, #iflib Differential Revision: https://reviews.freebsd.org/D55981
When IFDI_ATTACH_POST() fails (or netmap attach fails), iflib tears down with ether_ifdetach(), taskqueue_free(ifc_tq), and IFDI_DETACH(). CTX_LOCK is still held after ether_ifattach. ether_ifdetach() and taskqueue_drain(admin) must not run under CTX_LOCK. Teardown ordering (match iflib_device_deregister): - Free the per-interface admin taskqueue after IFDI_DETACH / IFDI_QUEUES_FREE, not before. - Drop IFNET_WLOCK() across IFDI_DETACH / IFDI_QUEUES_FREE so driver detach can sleep in LinuxKPI workqueue drain, then retake IFNET_WLOCK() before iflib_free_intr_mem and fail_unlock. MFC after: 2 weeks Reviewed by: gallatin, kgalazka, #iflib Differential Revision: https://reviews.freebsd.org/D56316
FIB_NH_LOG calls the `nhop_get_upper_family(nh)` to read `nh->nh_priv->nh_upper_family` for failure logging. Call FIB_NH_LOG before freeing nh so failures are logged without causing a panic. MFC after: 3 days
tcp_close: Use in6_pcbdisconnect for INET6 sockets This also fixes the LINT-NOINET builds. Fixes: https://cgit.freebsd.org/src/commit/?id=40dbb06fa73c ("inpcb: retire INP_DROPPED and in_pcbdrop()")
inpcb: make in6_pcbdisconnect() just like in_pcbdisconnect() Allow to be passed with already unconnected inpcb. Fixes: https://cgit.freebsd.org/src/commit/?id=4fadf2466468dd6dcb6cf9e3739ed696a18c1bb4
Only use hashes for protocols that are enabled in the kernel configuration. Fixes: https://cgit.freebsd.org/src/commit/?id=ece716c5d347 ("raw ip: move hash table manipulation to inpcb layer")
Add support for CMIS based optics, typically used by 400GbE and faster ethernet optics. The CMIS standard requires paged support for i2c ioctls. This has been tested on an Nvidia ConnectX-7 and Broadcom Thor2 400GbE NIC, and I have verified that optics vendor information, light levels, and temperatures match the information provided by various vendor tools. Differential Revision: https://reviews.freebsd.org/D56265 Reviewed by: kbowling, sumit.saxena_broadcom.com Sponsored by: Netflix
lro: move pkt rejection checks to leafs to avoid queueing non-LRO'able pkts When lro mbuf queuing is enabled, we should not queue easily reject-able packets. Queuing them does a bit of extra work (sorting, timestamps) and can potentially delay urgent packets such as LACP PDUs. This change moves simple rejection tests from lro_rx_common() into lro_rx and (more importantly) into tcp_lro_queue_mbuf(). Note this change only moves the easy checks on forwarding and packet metadata, where the rejection criteria is already hot in cache. It does not move parsing and looking inside the packet to verify the ether protocol, ip protocol, etc. This could be done, but we risk essentially doubling the cache misses per-packet by doing so. Differential Revision: https://reviews.freebsd.org/D56337 Reviewed by: rrs, tuexen Sponsored by: Netflix
tcp lro: fix vnet handling Reported by: Shawn Webb Reviewed by: glebius, rrs Fixes: https://cgit.freebsd.org/src/commit/?id=f707cc00ed12 ("lro: move pkt rejection checks to leafs to avoid queueing") Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D56420
Make loopback packet drops more obvious by reporting them in interface stats visable via netstat -ni Since loopback uses netisr, packets can be dropped if the netisr queue overflows. These drops are visible via netisr -Q, but its not an obvious place to look. Differential Revision: https://reviews.freebsd.org/D56356 Reviewed by: glebius, tuexen Sponsored by: Netflix
`ip_tryforward()` and `ip6_tryforward()` checks whether the destination address is local or not without considering if it belongs to the current FIB. If the destination is local but not in our FIB, forward it instead of returning it to ip_input(). PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292319 Reviewed by: zlei MFC after: 1 week MFC to: stable/15 Differential Revision: https://reviews.freebsd.org/D56353
If a FIB does not have a router configured, X_ip_mforward() would leak a lock. Plug the leak. The IPv6 counterpart did not have such a check. It wouldn't send an upcall to a non-existent router anyway due to the router_ver check, but we should verify that a router is present anyway. Add regression test cases to exercise these code paths. Reported by: Claude Opus 4.6 Fixes: https://cgit.freebsd.org/src/commit/?id=0bb9c2b665d9 ("ip6_mroute: FIBify") Sponsored by: Klara, Inc. Sponsored by: Stormshield
On platforms other than amd64, BIOCSRTIMEOUT is equal to BIOCSRTIMEOUT32. Therefore, running the COMPAT_FREEBSD32 code basically clears tv_usec on big endian platforms. When tcpdump is used, the timeout requested is 100ms, which gets cleared to 0 on ppc64 platforms. This results in tcpdump showing the packets only when the read buffer is full. Thanks to kib for guiding me to the correct fix. Reported by: ivy Reviewed by: adrian, kib MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56399
Implement RFC 4191 by handling received Router Adverisement (RA) packets with route information option. For default routes, use the route information's lifetime and preference to overwrite the RA's lifetime/preference. Also install and update more-specific route prefixes with the option's lifetime and expire them when their lifetime elapses. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263982 Reviewed by: markj Tested by: Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D55449
MFC after: 3 days Reported by: Claude Opus 4.6
Implement the criteria specified in RFC 6191 for recycling TCP connections in TIME-WAIT. Reviewed by: rscheff, Marius Halden Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D56321
pf: fix error handling in pf_sourcelim_add()
There are two issues in pf_sourcelim_add() error path:
- stale pointers are left in pf_sourcelim_id_tree_inactive when
duplicate source limiter instance is found in pf_sourcelim_nm_tree
- overload table may leak when insertion of new source limiter instance
fails.
Both issues reported and patch submitted by:
Renaud Allard <renaud () allard ! it>
OK sashan@
Obtained from: OpenBSD, sashan <sashan@openbsd.org>, 32063577ec
Sponsored by: Rubicon Communications, LLC ("Netgate")
pf: pf_frag_compare() should not be using subtraction to compare fragment IDs
Issues reported and patch submitted by:
Renaud Allard <renaud () allard ! it>
OK sashan@
Obtained from: OpenBSD, sashan <sashan@openbsd.org>, 747740863c
Sponsored by: Rubicon Communications, LLC ("Netgate")
pf: use correct address family in pfr_pool_get()
pfr_pool_get() in call to pfr_prepare_network()must use af
instead of hardcoded AF_INET
Issues reported and patch submitted by:
Renaud Allard <renaud () allard ! it>
OK sashan@
Obtained from: OpenBSD, sashan <sashan@openbsd.org>, 8e156a5ebe
Sponsored by: Rubicon Communications, LLC ("Netgate")
Wiring a virtual address range may require the thread to sleep, and this is not permitted in an epoch section. MFC after: 1 week
If we are low on TX descriptors, bypass iflib_txq_can_reclaim() and force a reclaim. This is intended to reduce the number of output drops under heavy load when using simple transmit. Differential Revision: https://reviews.freebsd.org/D56339 Sponsored by: Netflix
iflib: accurately count bytes/segments for TSO When using software based ifnet counters, iflib has not factored TSO into account when reporting the segments and bytes sent. So it will underreport NIC bandwidth by a small percent, and will undercount sent segments by a large factor. Fix this by calculating the number of added segments the NIC will send, and add header size multiplied by that number to arrive at a correct accounting of segments and bytes sent. This makes these software counters directly comparable to hardware counters. Doing this requires moving the calculation into iflib_encap() where we have already parsed the packet and know the header size, MSS, etc. Differential Revision: https://reviews.freebsd.org/D56338 Sponsored by: Netflix
iflib: fix book keeping iflib_txq_drain() returns the number of consumed entries. In the case of TSO, a single entry can contain multiple TCP packets. Reported by: Ricardo Branco, David Wolfskill Reviewed by: gallatin Fixes: https://cgit.freebsd.org/src/commit/?id=3fade68cfdf9 ("iflib: accurately count bytes/segments for TSO") Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D56509
Replace the bare 7 with a named constant.
nd6: Break nd6_prefix_update out of prelist_update if PI exists, call prefix_update, instead of doing it inside the prelist_update. no functional change intended. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56130
nd6: Break pfxrtr_add out of nd6_prelist_add Updating defrouter only required by `prelist_update()`. since `nd6_prelist_add()` is a public function, exclude unsed dr logic from it. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56131
nd6: Change prelist_update return type to void The return value of `prelist_update()` is unused. Reviewed by: markj, zlei Differential Revision: https://reviews.freebsd.org/D56132
nd6: Ignore entire PI if violates RFC 4862 section 5.5.3 Ignore prefix information update earlier in `prelist_update()`. If PI is invalid or autonomous bit is unset, we better to let our SLAAC address expire and if we don't have any previous matching prefix, better not to create new one. Because either our router don't want us to have one anymore, or the very RA is malicious. Reviewed by: ae Differential Revision: https://reviews.freebsd.org/D56133
nd6: Remove anycast check in prelist_update RFC 2462 is obsoleted by RFC 4862 and it made statements more clear than before. Considering SLAAC can't create anycast addresses by itself, remove its check. While here, update comments based on RFC 4862. Reviewed by: markj, zlei Differential Revision: https://reviews.freebsd.org/D56134
nd6: Break nd6_prefix_lifetime_update out of prelist_update Logic of updating prefix lifetime is big enough that deserves its own function. While here, fix style. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56135
nd6: Remove goto and unused condition in prelist_update While here, style it. Reviewed by: markj, zlei Differential Revision: https://reviews.freebsd.org/D56136
Add the struct for VHT information and flags for the known and flag field as documented on radiotap.org. iwlwifi has started filling in these details. While here, add Copyright information for all the additions in the last years. Sponsored by: The FreeBSD Foundation MFC after: 3 days
V_rt_numfibs can be set at compile time (with the ROUTETABLES kernel config option) or boot time (with the net.fibs tunable). vnet_rtables_init(), running during SI_PROTO_DOMAIN, was checking the tunable and updating V_rt_numfibs accordingly, but that means that earlier SYSINITs, such as vnet_mroute_init(), see the compile-time value for V_rt_numfibs before it gets corrected in vnet_rtables_init(). Fix this by initializing V_rt_numfibs earlier, so that SYSINITs are less likely to use the wrong value. Add a comment describing the weird, preexisting semantic of resetting rt_numfibs to 1 in VNET jails. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294510 Reviewed by: glebius, zlei, pouria MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56473
ENOTCAPABLE is for capsicum and its use here is inappropriate. In particular, note that syscallret() treats this value specially. Reviewed by: glebius, pouria, zlei MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56481
When TCP_REQUEST_TRK is enabled, the tcb grows by 600 bytes to accommodate the t_tcpreq_info[MAX_TCP_TRK_REQ] array. Even when the option is enabled, not every connection is using this feature. So let's allocate it on-demand, and save 600 bytes in the common case. Sponsored by: Netflix Reviewed by: rrs, tuexen Differential Revision: https://reviews.freebsd.org/D56484
Stuff in man section 8 (other than networking).
MFC after: 3 days
NETWORKING is the documented placeholder, while /etc/rc.d/NETWORKING still provides the legacy alias NETWORK. The NETWORKING script was originally introduced to avoid conflicts with NetBSD's lowercase network script on case-insensitive file systems. The NETWORK alias was retained for compatibility with older scripts. Following the discussion in PR 293652, remove the legacy NETWORK alias from 16-CURRENT. Keeping both names adds more confusion than value now that NETWORKING is the documented placeholder and current base system and ports tree uses are already clean. Add an UPDATING entry to note that local RC scripts using REQUIRE: NETWORK should be migrated to REQUIRE: NETWORKING. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293652 Reviewed by: michaelo, jlduran Relnotes: yes Differential Revision: https://reviews.freebsd.org/D56300
When zpool status -x reports errors, the output only shows basic error counts without identifying which files are affected. Replace the unconditional echo of the brief status with verbose output (zpool status -v) in the error path so administrators can see exactly which files have been damaged. The healthy/no-pools path still shows the brief status. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223243 Signed-off-by: Po Han Chen <hypery11@gmail.com> Reviewed by: imp, jlduran, asomers Pull Request: https://github.com/freebsd/freebsd-src/pull/2089
Extend pmcstat -R output to include the raw TSC for each decoded record and print tsc_freq from the initialize record so TSC deltas can be converted to elapsed time. Update the pmcstat documentation to describe the decoded output and the architecture-specific TSC behavior. Sponsored by: AMD Signed-off-by: Andre Silva <andasilv@amd.com> Reviewed by: imp, mhorne, Ali Mashtizadeh Pull Request: https://github.com/freebsd/freebsd-src/pull/2085
The -t option gives the user the ability to create a control device for a given virtual_oss(8) instance, so that the instance's configuration can be manipulated during runtime with virtual_oss_cmd(8). As is expected, the control device's name is not known, since it is specified by the user. This patch introduces a virtual_oss_default_control_device rc variable, which defaults to "vdsp.ctl". The goal of this is that third-party programs and scripts can access the control device of the default virtual_oss(8) configuration without guessing. This is especially useful for sbin/devd/snd.conf which deals with hot-swapping sound devices using virtual_oss(8). Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55670
Currently it is only needed by powerpc ofwfdt.c, and defined statically
there. Make it available as part of libofw, mirroring what we have in
the kernel.
Two small tweaks are made to the implementation:
1. Return type is changed to bool
2. Return 'true' when OF_getproplen() == 0. This matches the expected
semantics of the kernel version, described in OF_hasprop(9).
Reviewed by: manu, imp, adrian
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56429
RFC 4191 section 3.1: if the received route's lifetime is zero, the route is removed from the Routing Table if present. Also, do not tell route information option is unknown. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263982 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55448
i messed up when we added support for names on these things. the
id and names are each supposed to be unique, which is checked by
putting the one limiter into an rb tree based on their id and another
based on their name. unfortunately i used the same RBT_ENTRY fields
for both trees, which meant using both trees on the same limiter
corrupted the topology, which goes badly when you want to use
multiple limiters.
found by, tested, and ok dgl@ (who is not me, this is not a typo)
ok jmatthew@
Obtained from: OpenBSD, dlg <dlg@openbsd.org>, f951d642cc
Sponsored by: Rubicon Communications, LLC ("Netgate")
bi_load itself loads various things into the staging area which can cause it to grow, which may result in the staging area moving, including the kernel. Therefore the address we get for the kernel entry point prior to bi_load may not be correct afterwards when we actually call it, and so we must defer the translation. On arm and riscv (but not arm64, which predates both of them in loader.efi and did not gain a copy of arm's added printf when arm support was added) we also printf this entry point to the console, which we can no longer do since bi_load calls ExitBootServices, so remove this printf that, in practice, seems to not be so useful, given nobody ever felt the need to add it to arm64. If anyone really feels this is an important printf to have then bi_load will need to be split so we can call printf after all the loading and potential reallocation of the staging area, but before ExitBootServices is called. We may also want to make this code more uniform and shared between the three architectures here, since there isn't much architecture-specific about this (and something like the RISC-V boot hart protocol could easily be made an MD hook). Reviewed by: imp Fixes: https://cgit.freebsd.org/src/commit/?id=0cafabf97fae ("Add support for arm64 to loader.efi and boot1.efi") Fixes: https://cgit.freebsd.org/src/commit/?id=ea7796a9ae6b ("EFI: don't call printf after ExitBootServices, since it uses Boot Services") Fixes: https://cgit.freebsd.org/src/commit/?id=2192efc03bc4 ("RISC-V boot1.efi and loader.efi support") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56431
Since this original comment was written, the actual issue in SLOF was diagnosed and documented in commit 424089a0fc, which fixed it for loader(8). Update the comment in boot1 to be more informative to future readers. MFC after: 3 days Reviewed by: jhibbits, adrian Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56470
ping6 needs IPV6_RECVPKTINFO and IPV6_RECVHOPLIMIT to process incoming replies. When these options fail, replies are silently dropped and ping6 appears to hang. Use err(3) instead of warn(3) so the user gets a clear error and immediate exit. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: pouria, jlduran, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56237
reloc_ptr() skips relocations for the kernel module, because on most platforms the kernel is ET_EXEC and this is not required. On PPC, the kernel is ET_DYN and we need to relocate here, otherwise the module metadata will not be loaded properly and the kernel module will have an incorrect version, preventing module dependencies from resolving. This fixes loading kernel modules from loader.conf on powerpc. Diagnosed by: jrtc27 Reviewed by: jrtc27, adrian Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56457
The -d option was indented with spaces instead of tabs, and this broke formatting. Before: -d Enable debugging of rc.d scripts -j Perform actions within the named jail After: -d Enable debugging of rc.d scripts -j Perform actions within the named jail MFC after: 1 week
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
Fix all pointer-sign warnings generated when compiling libifconfig. One of these warnings comes from the misuse of snl_add_msg_attr_string for a byte array. Though userland treats carpr_key as a string, it is actually an array of bytes. Handle it as such in libifconfig. While here, fix a small consistency nit in ifconfig_sfp_get_sfp_dump. Signed-off-by: Ryan Moeller <rmoeller.dev@gmail.com> Reviewed by: imp, zlei Pull Request: https://github.com/freebsd/freebsd-src/pull/1850
When processing the return data from these calls pass the limiter
pointer, not the limiter pointer pointer.
Sponsored by: Rubicon Communications, LLC ("Netgate")
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294577 MFC after: 1 week Reviewed by: mm Differential Revision: https://reviews.freebsd.org/D56468
No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 1 week
-- no commits in this category this week --
Kernel stuff (other than networking, filesystems, and drivers).
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
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
Added MAGIC number below and map to linsysfs in bsd_to_linux_ftype() This maps: - `linsysfs` -> `LINUX_SYSFS_MAGIC` (`0x62656572`) Signed-off-by: YAO, Xin <mr.yaoxin@outlook.com> Reviewed by: emaste Pull request: https://github.com/freebsd/freebsd-src/pull/2119
Now that a functional inpcb can not outlive its socket, just use socket's vnet pointer.
This fixes the build of the LINT-ACPI kernel. Fixes: https://cgit.freebsd.org/src/commit/?id=4e3fdced7f78 ("qcom_gcc: migrate the MSM8916 support to qcom_gcc")
In environments where time_t is 32 bits, including the 32-bit library build on amd64, the overflow being tested for cannot happen, and gcc complains with -Wtype-limits, causing the gcc build to fail. Work around this by ifdef'ing out the saturation code on i386. Reviewed by: imp, jfree Discussed with: markj Fixes: https://cgit.freebsd.org/src/commit/?id=e3799530b3ba ("sys/time: Add saturating sbt conversions") Differential Revision: https://reviews.freebsd.org/D56369
"total" is the number of slots in the array, so wraparound needs to be done when "first" or "last" is greater than or equal to the number of slots. Note that no consumers of the code are currently connected to the kernel build. Reported by: Stanislav Fort <stanislav.fort@aisle.com> Reviewed by: bz, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56371
Ensure that the .plt and .ipld sections are in the executable memory segment. MFC after: 1 week Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D56403
John points out that this probably should have been removed in commit 472888018ce, which removed a special case where we'd set desired=0 if the target process has P_INMEM clear. It's not obvious to me that the desired=0 case can't arise by setting an RSS limit to 0, but I'm not sure why we'd try to go the extra mile in that case anyway. Reported by: jhb Reviewed by: kib MFC after: 2 weeks Fixes: https://cgit.freebsd.org/src/commit/?id=472888018ce1 ("proc: Remove kernel stack swapping support, part 6") Differential Revision: https://reviews.freebsd.org/D56140
Remove the duplicate (incorrect) name. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294542 Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56400
kern_descrip.c: Clarify allocation and freeing of fd map in fdgrowtable() When expanding a file table, the condition for allocating a new map is NDSLOTS(nnfiles) > NDSLOTS(onfiles) whereas for freeing the old map is NDSLOTS(onfiles) > NDSLOTS(NDFILE). If a previously expanded file table were to be expanded slightly again such that the map did not need to be increased, then fdgrowtable could still free the current map. This does not happen currently as nnfiles is rounded up to a multiple of NDENTRIES at the beginning of fdgrowtable() so that every enlargement after the first enlargement will always require a larger map. Though the logic is currently correct, it is unclear and should the earlier rounding up of nnfiles be relaxed or remove, the logic would be incorrect. This patch therefore adds comments and invariants checking the size of the table and map, and updates the map free condition so that it is absolutely clear that the old map will only be deallocated if a new map has been allocated. Signed-off-by: Kristofer Peterson <kris@tranception.com> Reviewed by: kib, kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/2029
file: Fix a format string assertion Reported by: Jenkins Fixes: https://cgit.freebsd.org/src/commit/?id=e75b324c93a1 ("kern_descrip.c: Clarify allocation and freeing of fd map in fdgrowtable()")
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56365
The Memory Tagging Extension supports both Synchronous and Asynchronous faults, called Tag Check Faults, which are configurable via SCTLR_EL1.TCF0 for userspace and SCTLR_EL1.TCF for the kernel. This commit adds support for handling synchronous tag check faults at EL0 and EL1, although these are only enabled on a per-process basis in userspace, kernel space does not enable tag check faults. A TCF in the kernel will cause a kernel panic like any other virtual memory fault, and a TCF in userspace will result in a SIGSEGV Reviewed by: kib Sponsored by: Arm Ltd Signed-off-by: Harry Moulton <harry.moulton@arm.com> Differential Revision: https://reviews.freebsd.org/D55947
Reviewed by: gallatin Reported by: Claude Sonnet 4.6 Fixes: https://cgit.freebsd.org/src/commit/?id=1000cc4a0d39 ("so_splice: Disallow splicing with KTLS-enabled sockets") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56385
Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D56411
Lightly parse and preserve the attributes of the args as attributes. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D56407
Create a script to export the parsed data as json. Include the annotations for the system call arguments, since they are helpful to downstream uses. Sponsored by: Netflix Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D56408
linux: Support ICMP6_FILTER socket option translation Handle Linux IPPROTO_ICMPV6 socket options in the Linuxulator and map ICMP6_FILTER for both getsockopt(2) and setsockopt(2). Linux and FreeBSD use inverted bit semantics for struct icmp6_filter, so invert the filter contents before/after calling setsockopt/getsockopt. Signed-off-by: Ricardo Branco <rbranco@suse.de> PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294434 Reviewed by: pouria Pull-Request: https://github.com/freebsd/freebsd-src/pull/2138
linux: Support IPPROTO_RAW socket option translation Handle Linux IPPROTO_RAW socket options in the Linuxulator for both getsockopt(2) and setsockopt(2). Detect the socket family and remap the level to IPPROTO_IPV6 for AF_INET6, reusing the existing option translators. This fixes IPV6_CHECKSUM for IPv6 raw sockets, which Linux programs set at level IPPROTO_RAW rather than IPPROTO_IPV6. Signed-off-by: Ricardo Branco <rbranco@suse.de> PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294434 Reviewed by: pouria Pull-Request: https://github.com/freebsd/freebsd-src/pull/2138
linux: Translate IPv6 hoplimit ancillary data for recvmsg Signed-off-by: Ricardo Branco <rbranco@suse.de> Reviewed by: pouria Pull-Request: https://github.com/freebsd/freebsd-src/pull/2138
Provide intuitive log search keywords and increased system consistency. MFC after: 2 weeks Reported by: mav Reviewed by: 0mp, dteske OpenZFS change: d45c8d648 (Improve dmesg kernel message prefix) Differential Revision: https://reviews.freebsd.org/D55765
This works enough to let me see the marvell switch on the MDIO bus. It uses clause 22, which ixgbe's existing MDIO code doesn't currently support, so it's implemented in a new source file. Since mdio(4) is now required, add it where appropriate to GENERIC kernels. Reviewed by: kbowling Differential Revision: https://reviews.freebsd.org/D50128
LinuxKPI: 802.11: factor out chandef/chanctx initialization Factor out chandef and chanctx initialization from lkpi_sta_scan_to_auth(). This makes the code a lot more readable and prepares for the next steps that will re-use some of this. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: save the default channel Add a field to struct lkpi_hw to save the default channel for later reuse. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: keep chanctx on a reserved list Keep the chanctx around as we may swap them. In the future (11be) these lists likely need to be (a) limited to maximum number of chanctx possible (see struct ieee80211_iface_limit), and (b) with that also by radio. For the moment keep this simple and start with a single chanctx and build up from there when we get there. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: factor out getting and setting a chanctx Further factor out acquiring the chanctx (either set or new), as well as populating a chanctx with information. This further simplifies lkpi_sta_scan_to_auth() and gives us more reusable function blocks. Sponsored by: The FreeBSD Foundation MFC after; 3 days
LinuxKPI: 802.11: rework lkpi_ic_set_channel()
We are called by net80211 when channel changes are happening and
we have to map this to LinuxKPI 802.11. There are multiple cases:
(1) it is a hardware scan and net80211 still changes the channel;
we do not need to;
(2) it is a software scan (the magic fallback case) in which case
we let net80211 drive the scan channel and we need to keep
a copy of the scan_chandef (see follow-up commit);
(3) no scanning but a normal channel change triggerd by net80211;
in that case we could (should?) setup the full flags right away
but deferred LinuxKPI logic currently handle this for us as not
in all cases the information was fully available from net80211
in times we would have needed it. We only do this in order
to handle the emulate chanctx cases but do not change the
channel otherwise; scan_to_auth will set the correct chanctx.
(3a) we have no (active) chanctx for that, create/set one,
(3b) we do have an (active) chanctx for this, use it but reset to
defaults.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: 802.11: improve emulate chanctx implementation Now that all dependencies are implemented improve our chanctx emulation. Some drivers still rely on chandef information for channel work. In order to only do chanctx updates within mac80211 in Linux and likewise in the LinuxKPI 802.11 compat layer, emulation functions were introduced which claim to support chanctx driver operation but in reality convert these to chandef field updates and (*config) downcalls. This is relevant to several mt76 chipsets (at least 7615, 7915), and rtw88 and certain rtw89 chipsets (8851b, and the ones not supporting SCAN_OFFLOAD or BEACON_FILTER) for us. Migrate the logic out of the header and improve it. Make use of the introduced dflt_chandef and scan_chandef fields, add comparison of chandefs to see if we have to update, etc. Also add strict checks for driver settings in linuxkpi_ieee80211_alloc_hw() to make sure all preconditions are correctly met. Store the result if we are using the emulation functions in a field, so we can later check on it and also leave a note to the users if emulation is used in order to improve debugging on possible problem reports. Use the new field that we use emulation in lkpi_ic_set_channel() instead of a hand crafted check. Sponsored by: The FreeBSD Foundation MFC after: 3 days Fixes: https://cgit.freebsd.org/src/commit/?id=ac1d519c01ca8 ("LinuxKPI: 802.11: adjustments for v6.11..")
LinuxKPI: 802.11: add chandef tracing Add chandef tracing so we can follow what is set and unset in the chanctx emulation for drivers still needing this. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: start filling vif->cfg.ap_addr vif->cfg.ap_addr is used by various drivers now and is the BSSID for non-MLO or the AP addr for MLO configurations. If this is unset rtw89 gets cranky and certain packets are likely not going out correctly (also for iwlwifi). Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: make sure dtim_period is set When going from ASSOC to RUN LinuxKPI based wireless drivers have certian expectations written in various ways. I believe mac80211 waits to see a beacon before setting the vif to assoc (or the sta to AUTHORIZED). We have some comments in lkpi_update_dtim_tsf() for that. In practice we can filter out the beacons already and know when they came in as we count them but it is hard to split up the state machine and defer the work. So we make sure that dtim_period is set to at least 1 before calling the (*vif_cfg_change) after setting assoc to true; 0 is a reserved value according to the standards. We will update it once we see a beacon and in case the value differs from 1 shortly afterwards from the recv_mgmt callback. While iwlwifi seems to have coped with our initial implementation, rtw89 may hit a DIV 0 if dtim_period is 0 depending on how well the rx path races with our unlocking in assoc_to_run. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: move hex2bin() from kernel.h to new hex.h New Linux v7.0 drivers include hex.h. Rather than adding a dummy header, migrate the kernel.h hex2bin() into hex.h, where it belongs. Care needs to be taken as the _h2b() helper function is still used by other bits in kernel.h. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste, dumbbell Differential Revision: https://reviews.freebsd.org/D56391
LinuxKPI: add default_gfp() Various new allocation macros can take an optional gfp_t argument. If the argument is not given we need to set the GFP_KERNEL default. While this is only internally used and I initialy called it differently, should this spread elsewhere having the same name as in Linux will be good. Sponsored by: The FreeBSD Foundaton MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D56392
LinuxKPI: conditionally add __flex_counter() __flex_counter() is used by overflow.h and needed for "flex allocations". It is either a void * typed 0 (NULL) (like this for _Generic checks), or uses __builtin_counted_by_ref. The latter was added to gcc and llvm fairly recently and while for gcc the __has_builtin() check suffices, clang had parts broken until recently so needs an extra check for the next major version. The fixed hash is currently not part of any tag to use, so we play it save (and hope 23 will have it). It will be a while until we will see the builting to be used but at least we will be prepared for it. See inline comments for the commit hashes and versions which added the feature. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D56393
LinuxKPI: sync overflow.h from Linux v7.0
overflow.h was imported directly from Linux in 3208d4ad2b8320a.
Update the file to the newer version as needed for v7.0 driver updates.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Obtained from: git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
028ef9c96e96197026887c0f092424679298aae8 (tag: v7.0)
Reviewed by: emaste, dumbbell
Differential Revision: https://reviews.freebsd.org/D56394
LinuxKPI: add kmalloc_obj[s], kzalloc_obj[s], and kzalloc_flex Drivers in Linux v7.0 seem to have changed to the new allocation macros using a sweep. Add the ones I encountered with wireless drivers so far. They all take an optional argument for a gfp_t, which default_gfp() deals with. The plural version "objs" takes an extra nitems argument in addition to the size. We use size_mul() to possibly detect overflows. The "flex" version uses an extra variable to track the variable sized array allocations and if supported by the compiler will use __builtin_counted_by_ref() to properly track bounds. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D56395
LinuxKPI: implement devm_kmemdup_array() Implement devm_kmemdup_array() using devm_kmemdup() in order to prepare for Linux v7.0 based drivers. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D56396
LinuxKPI: 802.11: set IEEE80211_MIN_ACTION_SIZE according to struct IEEE80211_MIN_ACTION_SIZE came up in the mt76 vendor subtree merge as one of the non-mechanical changes which made me look. Rather than (incorrectly) hand counting the offset from the beginning of a frame, use the offset from the beginning of struct ieee80211_mgmt. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: Add structures and functions for NAN support In Linux v7.0 iwlwifi(4) started to add support for Wi-Fi Aware(tm) also known as Neighbor Awareness Networking (NAN). Add structures and fields for this as needed so far to keep the driver compiling. net80211 has no support for it as a new mode. We may consider a dedicated header file for these parts in the future depending on how much more is to come. Sponsored by: The FreeBSD Foundation MFC after: 3 days
LinuxKPI: 802.11: add struct/fields and functions for v7.0 Add 802.11 struct fields and functions support for Linux v7.0 based wireless drivers (at least iwlwifi, rtw88, rtw89). While here cleanup some other bits. Sponsored by: The FreeBSD Foundation MFC after: 3 days
MFC after: 1 week
Reviewed by: ziaee, adrian Differential Revision: https://reviews.freebsd.org/D55182
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
The FreeBSD-clang package contains a 32-bit shared object at /usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so This is expected, since clang uses this object when compiling for i386 targets with asan enabled. What is not expected is that the FreeBSD-clang package currently depends on 32-bit libc packages due to pkg's shared library analysis, making it impossible to install pkgbase on x86_64 without any lib32 packages. This commit leverages a new pkg feature implemented in [1], but could be landed before a pkg version including that feature is released without any ill effects. Unknown keys in package manifests are ignored. [1]: https://github.com/freebsd/pkg/pull/2594 Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54792
Reviewed by: bapt Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54793
Signed-off-by: Martin Filla <freebsd@sysctl.cz> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/2086
This keyboard was implemented but wasn't actually installed to the system. Fixes: https://cgit.freebsd.org/src/commit/?id=9357c694e8dca627c25b15529e8435b2ab3dd48b MFC after: 1 day Relnotes: yes
This keyboard was implemented but wasn't actually installed to the system. Fixes: https://cgit.freebsd.org/src/commit/?id=a049678039e40bdf523230852f78887a12435def Discussed with: imp MFC after: 1 day Relnotes: yes
Rather than manually including the include directory for LinuxKPI use the provided macro. Before there was no -I for the dummy directory and as files synced from Linux under a permissive license may include them the build would fail. overflow.h will include linux/const.h which only exists as a dummy header at this point on FreeBSD. Sponsored by: The FreeBSD Foundation Fixes: https://cgit.freebsd.org/src/commit/?id=35b53f8c989f6 MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D56424
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
This is required for LLVM 22's ld.lld to avoid a build error: ld.lld: error: section '.text' address (0x38000) is smaller than image base (0x10000000); specify --image-base ld.lld: error: section '.rodata' address (0x3b308) is smaller than image base (0x10000000); specify --image-base ld.lld: error: section '.data' address (0x3b610) is smaller than image base (0x10000000); specify --image-base ld.lld: error: section '.bss' address (0x3f618) is smaller than image base (0x10000000); specify --image-base Use 0x38000 for the image base, which is the address of the lowest (and only) LOAD segment in the file. Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56459
Add the new file for nan in the mld subdriver. Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Add optional support for the new cfr (channel frequency response) file/option. Sponsored by: The FreeBSD Foundation MFC after: 3 days
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0. Handle the file changes and the extra wifi7/ subdirectory. Sponsored by: The FreeBSD Foundation MFC after: 3 days
-- no commits in this category this week --
Add tests for each combinations of geneve modes, address families and multicast. Differential Revision: https://reviews.freebsd.org/D55183
This includes a regression test for CVE-2024-42416 MFC after: 2 weeks Sponsored by: ConnectWise Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D46613
MFC after: 1 week Fixes: https://cgit.freebsd.org/src/commit/?id=3e5550d25c6d ("du: Add regression tests") Sponsored by: Klara, Inc.
Fix gcc build error. Reviewed by: asomers, kib Fixes: https://cgit.freebsd.org/src/commit/?id=7e68af7ce2c1 ("fusefs: redo vnode attribute locking") Differential Revision: https://reviews.freebsd.org/D56370
Notably, confirm in the child that our close-on-fork fd is actually closed, and break RECV_ALL out into a table and check each bit individually to provide a better message when the test fails. While we're here, just switch to waitid() rather than trying to identify the point where we have to make the switch. This reduces maintenance slightly, as keeping our assertion static would require still adding to a _RECV_ALL mask *just* for that purpose. Reviewed by: kib, markj (both slightly earlier version) Differential Revision: https://reviews.freebsd.org/D56372
Sponsored by: Rubicon Communications, LLC ("Netgate")
The test runs without any unexpected results when mac_portacl is loaded. PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238781 MFC after: 1 week
* RA hop limit validation * RA source address validation * Multi router RA validation * Two hour rule RA validation * SLAAC onlink prefix switching test Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D56128
Test handling of receiving multiple route information options in RA. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D56216
Several testcases assume BLOCKSIZE=K, so set it at the top of the script. This fixes an issue where the tests would sometimes fail when run under sudo. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56476
These could go in other categories, but it's more clear if they're here instead.
The correct path is /etc/defaults/rc.conf (defaults in plural). Reviewed by: netchild Fixes: https://cgit.freebsd.org/src/commit/?id=cc4eb1ea1040 ("Add support for a /etc/defaults/vendor.conf override file") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56456
- s/initited/initiated/ Obtained from: NetBSD MFC after: 3 days
- s/verfier/verifier/ MFC after: 3 days
- s/limitiations/limitations/ MFC after: 3 days
- s/Inititalize/Initialize/ MFC after: 3 days
- s/unititialized/uninitialized/ MFC after: 3 days
- s/verfier/verifier/ MFC after: 3 days
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
While after the changes to LinuxKPI 802.11 we should never be assoc and not have dtim_period set, we have seen before that this could happen. Add a WARN as that will help debugging the following DIV 0. Sponsored by: The FreeBSD Foundation MFC after: 3 days
This code was not being built due to errors in our libarchive configuration. Now that those have been addressed, staticize some variables that trip a “no previous extern declaration” error. This is a subset of upstream PR 2962. MFC after: 1 week Reviewed by: mm Differential Revision: https://reviews.freebsd.org/D56471
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
Notable upstream pull request merges:
#18148 d1b0a6982 draid: add failure domains support
#18167 f203fedde Add zoned_uid property with additive least privilege
authorization
#18191 -multiple FreeBSD: Fix a couple of races involving zvol creation
and teardown
#18213 33ed68fc2 zpool create: report which device caused failure
#18235 931deb290 Prevent range tree corruption race by updating
dnode_sync()
#18282 b44a3ecf4 zpool: Change zpool offline spares policy
#18310 -multiple Fix s_active leak in zfsvfs_hold() when z_unmounted is
true
#18351 ce837a28e Bridge speculative and prescient prefetchers
#18380 fc659bd6d draid: fix import failure after disks replacements
#18385 16858492e FreeBSD: Implement relatime property
#18390 a22b3f670 abd: Fix stats asymmetry in case of Direct I/O
#18399 7b1682a82 Add support for POSIX_FADV_DONTNEED
#18403 5cb95ad89 fix memleak in spa_errlog.c
#18405 0752cf067 draid: allow seq resilver reads from degraded vdevs
#18407 e635d27eb Add ability to set user properties while changing
encryption key
#18414 2abf469be draid: fix cksum errors after rebuild with degraded disks
#18415 -multiple Fix snapshot automount deadlock during concurrent zfs recv
#18421 1644e2ffd Fix read corruption after block clone after truncate
Obtained from: OpenZFS
OpenZFS commit: 1644e2ffd2640fa3e2c191ceaf048a5fc8399493
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
This should no longer be necessary after 2018ae4e3b6a. This reverts commit cfe0b7d37e552d78762c029f5b15e0f36d9d0d38.
sound: Remove some forward declarations from sound.h and uaudio.h Sponsored by: The FreeBSD Foundation MFC after: 1 week
Revert "sound: Remove some forward declarations from sound.h and uaudio.h" This reverts commit 602249f033d146d9c731d8b1cb4b2e0899c61ad9.
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-21 17:15:22+00:00.
This work is supported by Tarsnap Backup Inc.
Alternate version: 2026-04-13 (debug) (contains info about the classification)