FreeBSD The Power to Serve

FreeBSD 14.2-RELEASE Release Notes

Abstract

The release notes for FreeBSD 14.2-RELEASE contain a summary of the changes made to the FreeBSD base system on the 14-STABLE development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented.

Introduction

This document contains the release notes for FreeBSD 14.2-RELEASE. It describes recently added, changed, or deleted features of FreeBSD. It also provides some notes on upgrading from previous versions of FreeBSD.

The "release" distribution to which these release notes apply represents the latest point along the 14-STABLE development branch since 14-STABLE was created. Information regarding pre-built, binary "release" distributions along this branch can be found at https://www.FreeBSD.org/releases/.

This distribution of FreeBSD 14.2-RELEASE is a "release" distribution. It can be found at https://www.FreeBSD.org/releases/ or any of its mirrors. More information on obtaining this (or other) "release" distributions of FreeBSD can be found in the Obtaining FreeBSD appendix to the FreeBSD Handbook.

All users are encouraged to consult the release errata before installing FreeBSD. The errata document is updated with "late-breaking" information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for FreeBSD 14.2-RELEASE can be found on the FreeBSD Web site.

This document describes the most user-visible new or changed features in FreeBSD since 14.1-RELEASE. In general, changes described here are unique to the 14-STABLE branch unless specifically marked as MERGED features.

Typical release note items document recent security advisories issued after 14.1-RELEASE, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to FreeBSD between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements.

Upgrading from Previous Releases of FreeBSD

Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the freebsd-update(8) utility. See the release-specific upgrade procedure, FreeBSD 14.2-RELEASE upgrade information, with more details in the FreeBSD handbook binary upgrade procedure. This will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. The freebsd-update(8) utility requires that the host being upgraded have Internet connectivity.

Source-based upgrades (those based on recompiling the FreeBSD base system from source code) from previous versions are supported, according to the instructions in /usr/src/UPDATING.

Upgrading FreeBSD should only be attempted after backing up all data and configuration files.

Security and Errata

This section lists the various Security Advisories and Errata Notices since 14.1-RELEASE.

Security Advisories

Advisory Date Topic

FreeBSD-SA-24:04.openssh

01 July 2024

OpenSSH pre-authentication remote code execution

FreeBSD-SA-24:05.pf

07 August 2024

pf incorrectly matches different ICMPv6 states in the state table

FreeBSD-SA-24:06.ktrace

07 August 2024

ktrace(2) fails to detach when executing a setuid binary

FreeBSD-SA-24:07.nfsclient

07 August 2024

NFS client accepts file names containing path separators

FreeBSD-SA-24:08.openssh

07 August 2024

OpenSSH pre-authentication async signal safety issue

FreeBSD-SA-24:09.libnv

04 September 2024

Multiple vulnerabilities in libnv

FreeBSD-SA-24:10.bhyve

04 September 2024

bhyve(8) privileged guest escape via TPM device passthrough

FreeBSD-SA-24:11.ctl

04 September 2024

Multiple issues in ctl(4) CAM Target Layer

FreeBSD-SA-24:12.bhyve

04 September 2024

bhyve(8) privileged guest escape via USB controller

FreeBSD-SA-24:13.openssl

04 September 2024

Possible DoS in X.509 name checks in OpenSSL

FreeBSD-SA-24:14.umtx

04 September 2024

umtx Kernel panic or Use-After-Free

FreeBSD-SA-24:15.bhyve

19 September 2024

bhyve(8) out-of-bounds read access via XHCI emulation

FreeBSD-SA-24:16.libnv

19 September 2024

Integer overflow in libnv

FreeBSD-SA-24:17.bhyve

29 October 2024

Multiple issues in the bhyve hypervisor

FreeBSD-SA-24:18.ctl

29 October 2024

Unbounded allocation in ctl(4) CAM Target Layer

FreeBSD-SA-24:19.fetch

29 October 2024

Certificate revocation list fetch(1) option fails

Errata Notices

Errata Date Topic

FreeBSD-EN-24:10.zfs

19 June 2024

Kernel memory leak in ZFS

FreeBSD-EN-24:11.ldns

19 June 2024

LDNS uses nameserver commented out in resolv.conf

FreeBSD-EN-24:12.killpg

19 June 2024

Lock order reversal in killpg causing livelock

FreeBSD-EN-24:13.libc++

19 June 2024

Incorrect size passed to heap allocated std::string delete

FreeBSD-EN-24:14.ifconfig

07 August 2024

Incorrect ifconfig netmask assignment

FreeBSD-EN-24:15.calendar

04 September 2024

cron(8) / periodic(8) session login

FreeBSD-EN-24:16.pf

19 September 2024

Incorrect ICMPv6 state handling in pf

FreeBSD-EN-24:17.pam_xdg

29 October 2024

XDG runtime directory’s file descriptor leak at login

Userland

This section covers changes and additions to userland applications, contributed software, and system utilities.

Userland Application Changes

An option has been added to change the directory in env(1) which closely resembles the feature in the GNU version of env although it does not support long options. 08e8554c4a39 (Sponsored by Klara, Inc.)

Contributed Software

bc has been upgraded to 7.0.2. 90ea553a0d30

libarchive has been upgraded to 3.7.7. 2ae238160f20

libcbor has been upgraded to 0.11.0. 1755b9daa693 (Sponsored by The FreeBSD Foundation)

libcxxrt has been upgraded to vendor snapshot 6f2fdfebcd62. d0dcee46d971

libfido2 has been upgraded to 1.14.0. 128bace5102e (Sponsored by The FreeBSD Foundation)

libpcap has been upgraded to 1.10.5. 26f21a6494b4 (Sponsored by The FreeBSD Foundation)

llvm has been upgraded to 18.1.6. f1e3279983d6

openssl has been upgraded to 3.0.15. cc43f991ab3e

tcpdump has been upgraded to 4.99.5. ec3da16d8bc1 (Sponsored by The FreeBSD Foundation)

unbound has been upgraded to 1.22.0. 0a096a7b3ae8

Runtime Libraries and API

fma(3) now returns correctly-signed zero when provided certain small inputs (as observed in the Python test suite). dc39004bc670 (Sponsored by The FreeBSD Foundation)

The cap_rights_is_empty function has been added. It reports whether a cap_rights_t has no rights set. e77813f7e4a3 (Sponsored by The FreeBSD Foundation)

Deprecated Applications

fdisk(8) has been deprecated in favor of gpart(8) for a long time but has not been removed, running this application will show a warning to migrate to gpart(8). 3958be5c29da (Sponsored by The FreeBSD Foundation)

The accuracy of asinf(3) and acosf(3) has improved. 33c82f11c267

Cloud Support

This section covers changes in support for cloud environments.

The nuageinit startup script now supports OpenStack network config. ea310d18b222 (Sponsored by OVHCloud)

The FreeBSD project is now publishing OCI-compatible container images. 8a688fcc242e

The FreeBSD project is now publishing Oracle Cloud Infrastructure images. See the Oracle Cloud Infrastructure FreeBSD Listing for more information. 77b296a2582b

The "shutdown" and "reboot" API in the Amazon EC2 cloud now work for arm64 instances. Older instances upgraded to FreeBSD 14.2-RELEASE will need to have debug.acpi.quirks="8" set in /boot/loader.conf. 28b881840df7 (Sponsored by Amazon)

The FreeBSD projects now publishes "small" EC2 images; these are the "base" images minus debug symbols, tests, 32-bit libraries, the LLDB debugger, the Amazon SSM Agent, and the AWS CLI. 953142d6baf3 (Sponsored by Amazon)

Devices and Drivers

This section covers changes and additions to devices and device drivers since 14.1-RELEASE.

Device Drivers

ena has been upgraded to 2.8.0. 6bf02434bd9a (Sponsored by Amazon, Inc.)

ice has been upgraded to 1.43.2-k. 38a1655adcb3 (Sponsored by Intel Corporation)

ice_ddp has been upgraded to 1.3.41.0. a9d78bb714e3 (Sponsored by Intel Corporation)

Tiger Lake-H support has been added to the hda(4) driver. dbb6f488df6e

Meteor Lake support has been added to the ichsmb(4) driver. 14c22e28e4ee (Sponsored by Framework Computer Inc) (Sponsored by The FreeBSD Foundation)

Meteor Lake support has been added to the ig4(4) driver. 56f0fc0011c2

A new wireless driver supporting some Realtek chipsets is available: rtw89(4). a2d1e07f6451 (Sponsored by The FreeBSD Foundation)

Support for Realtek 8156/8156B has been moved from from cdce(4) to ure(4) for improved performance and reliability. 630077a84186 (Sponsored by The FreeBSD Foundation)

Support for ACPI GPIO _AEI objects has been added. 1db6ffb2a482 (Sponsored by Amazon)

nvme(4) and nvmecontrol(8) have been enabled on all architectures. 24687a65dd7f, aba2d7f89dcf (Sponsored by Chelsio Communications and Netflix)

Deprecated and Removed Drivers

agp(4) has been planned for removal in FreeBSD 15.0, and the man page now states that it is deprecated. 92af7c97e197

syscons(4) has been planned for removal in future releases, and has been noted as deprecated in the man pages to notify users to migrate to vt(4). 2bc5b1d60512 (Sponsored by The FreeBSD Foundation)

Storage

This section covers changes and additions to file systems and other storage subsystems, both local and networked.

ZFS

OpenZFS has been upgraded to version 2.2.6. 755e773877e9

Boot Loader Changes

This section covers the boot loader, boot menu, and other boot-related changes.

Boot Loader Changes

The BIOS boot loader added back support for gzip and bzip2, but removed support for graphics mode (by default) to address size problems. (The EFI boot loader is unchanged with support for all of those.) 4d3b05a8530e (Sponsored by Netflix)

Networking

This section describes changes that affect networking in FreeBSD.

Network Protocols

Lots of improvements to the network stack, including performance improvements and bug fixes for the sctp(4) stack.

Descriptors returned by sctp_peeloff(2) now inherit capabilities from the parent socket. ae3d7e27abc9 (Sponsored by The FreeBSD Foundation)

General Network

AIM(Adaptive Interrupt Moderation) support has been added to the igc(4) driver. 472a0ccf847a (Sponsored by Rubicon Communications, LLC ("Netgate") and BBOX.io)

This feature has also been added to the lem(4), em(4) and igb(4) drivers. A major regression in UDP performance introduced in FreeBSD 12.0, including NFS over UDP, is believed to be fixed with this change. 49f12d5b38f6 (Sponsored by Rubicon Communications, LLC ("Netgate") and BBOX.io)

Wireless Networking

The LinuxKPI, particularly for 802.11, has been enhanced to improve the stability of wireless drivers such as iwlwifi(4). (Sponsored by The FreeBSD Foundation)

Hardware Support

This section covers general hardware support for physical machines, hypervisors, and virtualization environments, as well as hardware changes and updates that do not otherwise fit in other sections of this document.

Please see the list of hardware supported by 14.2-RELEASE, as well as the platforms page for the complete list of supported CPU architectures.

Processor Support

The maximum IOAPIC ID has been increased to 255, fixing a boot failure on certain high-core-count AMD CPUs. 18119e711f1c (Sponsored by The FreeBSD Foundation)

Nominal support for POWER10 and POWER11 has been added. f9f006df1535

Virtualization Support

The NVMM hypervisor is now detected. 34f40baca641

The VNC server in bhyve(8) will now show the correct colors when using the www/novnc client. f9e09dc5b1d5

Under Hyper-V, TLB flushes are now performed using hypercalls rather than IPIs, providing up to a 40% improvement in TLB performance. 7ece5993b787 (Sponsored by Microsoft)

Linux Binary Compatibility

The AT_NO_AUTOMOUNT flag is now ignored for all Linuxulator stat() variants (as the behavior specified by the flag already matches FreeBSD’s), improving Linux application compatibility. 99d3ce80ba07 (Sponsored by The FreeBSD Foundation)

Multimedia

Many improvements to the audio stack including support for hot-swapping in mixer(8), and the addition of mididump(1). cf9d2fb18433 (Sponsored by The FreeBSD Foundation) 7224e9f2d4af (Sponsored by The FreeBSD Foundation)

Ports Collection and Package Infrastructure

This section covers changes to the FreeBSD Ports Collection, package infrastructure, and package maintenance and installation tools.

Installer

The FreeBSD installer, bsdinstall(8), now supports downloading and installing firmware packages after the FreeBSD base system installation is complete. 03c07bdc8b31 (Sponsored by The FreeBSD Foundation)

Packaging Changes

The net/wifi-firmware-kmod@release package has been added to the DVD package set in order to provide necessary firmware for wifi drivers. 8c6df7ead19c (Sponsored by The FreeBSD Foundation)

General Notes Regarding Future FreeBSD Releases

FreeBSD 15.0 is not expected to include support for 32-bit platforms other than armv7. The armv6, i386, and powerpc platforms are deprecated and will be removed. 64-bit systems will still be able to run older 32-bit binaries.

The FreeBSD Project expects to support armv7 as a Tier 2 architecture in FreeBSD 15.0 and stable/15. However, the Project also anticipates that armv7 may be removed in FreeBSD 16.0. The Project will provide an update on the status of armv7 for both 15.x and 16.x at the time of 15.0 release.

Support for executing 32-bit binaries on 64-bit platforms via the COMPAT_FREEBSD32 option will continue for at least the stable/15 and stable/16 branches. Support for compiling individual 32-bit applications via cc -m32 will also continue for at least the stable/15 branch, which includes suitable headers in /usr/include and libraries in /usr/lib32.

Ports will not include support for deprecated 32-bit platforms for FreeBSD 15.0 and later releases. These future releases will not include binary packages or support for building packages from ports for deprecated 32-bit platforms.

The FreeBSD stable/14 and earlier branches will retain existing 32-bit kernel and world support. Ports will retain existing support for building ports and packages for 32-bit systems on stable/14 and earlier branches as long as those branches are supported by the ports system. However, all 32-bit platforms are Tier-2 or Tier-3, and support for individual ports should be expected to degrade as upstreams deprecate 32-bit platforms.

With the current support schedule, stable/14 will reach end of life (EOL) around 5 years after the release of FreeBSD 14.0-RELEASE. The EOL of stable/14 will mark the end of support for deprecated 32-bit platforms, including source releases, pre-built packages, and support for building applications from ports. With the release of 14.0-RELEASE in November 2023, support for deprecated 32-bit platforms will end in November 2028.

The Project may choose to alter this approach when FreeBSD 15.0 is released by extending some level of support for one or more of the deprecated platforms in 15.0 or later. Any alterations will be driven by community feedback and committed efforts to support these platforms.


Last modified on: December 4, 2024 by Dave Cottlehuber