FreeBSD git weekly: 2025-09-01 to 2025-09-30

Introduction

This is a display of mostly-automatically-classified git commits from 2025-09-01 to 2025-09-30.

In the future, these reports might include summaries or additional information, but for now our focus is figuring out what type of classification would be most useful.

DEBUG: This version of the report is primarily for checking the classifiers, and therefore contains extra information (in this colour).

DEBUG: In addition, debug pages for the latest week are often produced by a daily or hourly cronjob, and thus might not have any human review. Don't worry if you see commits in the wrong section; I'll check and fix them.

Table of contents and commits per category:

(19) Highlighted commits (these are copies, not in stats)
19 100% total
Technical notes about this page

debug: info about the automatic classification

num % num changed stage
0 0.0% 0 Manually-classified commits
19 100.0% 0 Unclassified commits

debug: more stats

num % stage
0 0.0% Misclassified commits
0 0.0% Classified commits, no corrections

debug: groups

0 0.0% num in revert
0 0.0% num in fixes
0 0.0% num in consecutive
0 0.0% Commits in groups

Highlighted commits

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.

sys: Rename BLOAT_KERNEL_WITH_EXTERR to EXTERR_STRINGS
There's no need for an implied value judgement.

Suggested by:   jhb
Reviewed by:    kib, jhb
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52351
92255335d9451bd425074fab4447799113daf676 Ed Maste 2025-09-02 20:58:29

debug: classified in 04-filenames_plain2 by 'sys/'

jail: add kqueue(2) support for jails
Add kqueue tracking to jails, inspired by how it's done with processes.
EVFILT_JAIL takes a jail ID, and tracks with NOTE_JAIL_SET,
NOTE_JAIL_ATTACH, NOTE_JAIL_REMOVE, and NOTE_JAIL_CHILD. It also uses
the NOTE_TRACK mechanism that EVFILT_PROC uses, using the same result
flags (NOTE_CHILD and NOTE_TRACKERR).

Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D51940
1bd74d201a534540614663686890ab96a3bbe2c7 Jamie Gritton 2025-09-04 18:56:56

debug: classified in 04-filenames_plain2 by 'sys/'

jail: add jail descriptors
Similar to process descriptors, jail desriptors are allow jail
administration using the file descriptor interface instead of JIDs.
They come from and can be used by jail_set(2) and jail_get(2),
and there are two new system calls, jail_attach_jd(2) and
jail_remove_jd(2).

Reviewed by:    bz, brooks
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D43696
851dc7f859c23cab09a348bca03ab655534fb7e0 Jamie Gritton 2025-09-04 20:27:47

debug: classified in 05-summary-prefix by 'jail:'

Update main to 16
* Bumps to versions in lib/clang
* Bumps to sys/conf/newvers.sh and sys/sys/param.h
* Update to UPDATING

Approved by:    re (implicit)
Sponsored by:   https://www.patreon.com/cperciva
8b4e4c2737305df8807abc6cd054a32586085c93 Colin Percival 2025-09-04 23:06:47

debug: Commit manually moved from "unknown" to "internal".

packages: Turn off MANSPLITPKG by default
Manpages are very small, and having a separate manpages package for
every base package is quite annoying for users.  Turn this option
off by default.

Discussed with: bapt
Reviewed by:    manu, emaste
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D52417
a8a18eeb5e1711ad27c3ee20eb342b73d3badffa Lexi Winter 2025-09-10 18:38:01

debug: classified in 03-filenames_plain1 by 'share/mk/'

UPDATING: mention the src.conf change
Fixes:                https://cgit.freebsd.org/src/commit/?id=dd8c666d8b78 ("src.sys.mk: Support src.conf in SRCTOP")
ab2fea3f9a5a58f0ba90499ad3a8614e3dca0c5f Dag-Erling Smørgrav 2025-09-12 17:13:51

debug: classified in 03-filenames_plain1 by 'UPDATING'

qat: enable qat driver for 402xx device
Enabled qat driver support for 402xx device with
ID 0x4944/0x4945. This is an additional device supported
under the existing qat_4xxx driver. Firmwares specific to
the 402xx device are added.

Signed-off-by: Hareshx Sankar Raj <hareshx.sankar.raj@intel.com>

Relnotes:       yes
Sponsored by:   Intel Corporation
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D52488
7fbd362c091b2b384d14c3ed5af9234bb2eff9c2 Hareshx Sankar Raj 2025-09-04 18:21:36

debug: classified in 04-filenames_plain2 by 'sys/'

init: Use root's home directory in single-user mode
When starting single-user mode, use the home directory from user root as
current directory and for the HOME environment variable. If the
directory does not exist, set HOME=/.

Also adjust /root/.profile to stop setting HOME, since it should always
have been set now.

This is intended to keep shell startup files working in single-user mode
after /.profile has been removed.

Reviewed by:    emaste, ivy, kevans
MFC after:      1 week
Relnotes:       yes
Differential Revision:  https://reviews.freebsd.org/D52527
779812d66989a9c3aaed09e4573400fc137f92b0 Jilles Tjoelker 2025-09-14 21:53:34

debug: Commit manually moved from "unknown" to "admin".

packages: Remove the tests-dev package
We don't want a tests-dev package, because this means set-devel depends
on tests-dev, which transitively depends on tests, which means you can't
install set-devel without also getting tests.

The only real "dev" files in tests-dev are from ATF (libprivateatf),
so move that to its own package and add a dependency from tests.

Also move Kyua to its own package, since this might be useful for
running tests even when the user doesn't want the whole set of base
tests installed.

Add a dependency from -tests to both -atf and -kyua, and a dependency
on -set-base, since the tests won't work without the full base system
installed.

The remaining "dev" files in tests are actually test artifacts, not real
development libraries.  Add a new NO_DEV_PACKAGE option to bsd.lib.mk,
which causes dev files to be installed in the base package instead of
creating a -dev package, and set this option for everything that
installs test libraries.

While here, add a slightly more informative description for the tests
package.

MFC after:      3 seconds
Reviewed by:    bapt, emaste
Differential Revision:  https://reviews.freebsd.org/D52597
9065390ddc7b1ce2613777f6a947200950a5ac71 Lexi Winter 2025-09-18 09:13:41

debug: classified in 05-summary-prefix by 'packages:'

packages: Add a mandoc package
Move mandoc to its own package so users can install it independently of
-utilities.  Put the package in the minimal set, since we also ship
manpages in minimal and "man" is a basic Unix utility.

Add a pkg-triggers(5) hook to run makewhatis when new manpages are
installed, so that apropos(1) works.  This depends on a new pkg(8)
feature expected to be in in the upcoming 2.3.2 release; in the mean
time, this is a no-op (i.e., having an older pkg doesn't break anything,
it just won't run the trigger).

MFC after:      3 seconds
Reviewed by:    bapt
Differential Revision:  https://reviews.freebsd.org/D52564
ea5e50c2985bea029e7b30ecee773a59fe22cd68 Lexi Winter 2025-09-18 09:14:45

debug: classified in 05-summary-prefix by 'packages:'

sys/netinet6: Implement RFC 7217
Implement RFC 7217 (A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Address Autoconfiguration
(SLAAC)) in our IPv6 stack.

A new ifconfig `stableaddr` flag is added to enable the feature on
interfaces, which defaults to on or off for new interfaces based
on the sysctl `net.inet6.ip6.use_stableaddr` (off by default, so
this commit causes no change in behavior with default settings).

The algorithm follows the RFC in its logic, using SHA256-HMAC as
the algorithm to derive addresses so as to provide code that can
be leveraged by future implentations of RFC 8981, leveraging the
`hostuuid` as the secret.

The source of the hostidentifier can be configured using the sysctl
`net.inet6.ip6.stableaddr_netifsource`, while the number of retries
generating a new address in case of collision can be configured
using the `net.inet6.ip6.stableaddr_maxretries` sysctl (default 3).

Documentation about all these flags is added to the ifconfig(8) man
page.

Reviewed by:            cognet, glebius, hrs
Tested by:              zarychtam@plan-b.pwste.edu.pl
Approved by:            cognet, glebius
Relnotes:               yes
Differential Revision:  https://reviews.freebsd.org/D49681
31ec8b6407fdd5a87d70265762457c67ce618283 Guido Falsi 2025-09-20 12:26:41

debug: classified in 05-summary-prefix by 'sys/netinet6:'

packages: Move powerd to its own package
Nearly everyone wants powerd to manage CPU frequency scaling on real
hardware, even if -utilities isn't installed.  Conversely, very small
jails might want -utilities but don't need powerd.

Move it to its own package and add it to the minimal set.

MFC after:      1 day
Reviewed by:    manu, imp
Differential Revision:  https://reviews.freebsd.org/D52645
5efd371bba1508ed94faed2afbd11936f5fe4dac Lexi Winter 2025-09-23 21:05:05

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

libpmc: Move libpmc and utils to a new pmc package
Due to the size of libpmc.so.5, this reduces the size of the -utilities
package by 10%.

MFC after:      1 day
Reviewed by:    manu, adrian, emaste
Differential Revision:  https://reviews.freebsd.org/D52662
67c3c3a274468d09925af3cf64da3f9cf878cc80 Lexi Winter 2025-09-23 21:30:49

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

packages: Replace libbz2 package with a bzip2 package
Currently libbz2 is in the libbz2 package, while bzip2 itself is in
-utilities, which is inconsistent.  Move both the library and the
utility to a new -bzip2 package, and use LIB_PACKAGE to create a
separate -bzip2-lib package for runtime dependencies.

Add the bzip2 package to the minimal set, and since newsyslogd uses
bzip2 for logfile compression, add a dependency from there.

MFC after:      1 day
Reviewed by:    manu
Differential Revision:  https://reviews.freebsd.org/D52663
61ca69110f2676b7dd3c7ff8dea899615d341e1e Lexi Winter 2025-09-23 21:37:06

debug: classified in 02-filenames_wildcards by '['.*Makefile', 'release/.*']'

RELNOTES: virtual_oss in base
Sponsored by: The FreeBSD Foundation
Reviewed by:    emaste
Differential Revision:  https://reviews.freebsd.org/D52583
c457acb4ee821cf015930a94f52c3870786468a7 Christos Margiolis 2025-09-28 09:57:03

debug: classified in 03-filenames_plain1 by 'RELNOTES'

mdo(1): Add support and shortcuts for fully specifying users and groups
While preserving compatibility ('root' implied if no user is specified,
option '-i' not setting groups), introduce options to control finely
which user and group IDs are set in the launched process.

To minimize the risks of user error, mdo(1) by default enforces that all
user and group IDs are specified, either with explicit values from the
command-line or, if a known user name is passed with '-u', from the
corresponding content of the password and group databases.  The other
main type of use cases is to start from the current process'
credentials, only amending part of them.  It is now also possible to
blend both approaches, where some parts must be specified and the others
can just be amended or left as is.

Options:

* As before:
-u: Specifies a user name or ID to change all user IDs to.  If a known
    name is passed, also automatically sets all groups as per the
    password and group databases.
-i: Starts from the current groups, instead of having to specify them
    by using '-u' with a known user name or explicitly.

* New:
-k: Starts from the current users (incompatible with '-u').  Implies '-i'.
-g: Sets/overrides the primary group IDs with the passed group name or ID.
-G: Sets/overrides the supplementary groups set with the passed list of
    comma-separated names or IDs.
-s: Amend the supplementary groups set according to the list of
    comma-separated directives from the following:
    - @: Empties the set.  Must be the first directive.  Incompatible with '-G'.
    - +<group>: Add a group to the set.
    - -<group>: Remove a group from the set.  Takes precedence over +<group>.
--euid: Overrides the effective user ID.
--ruid: Overrides the real user ID.
--svuid: Overrides the saved user ID.
--egid: Overrides the effective group ID.
--rgid: Overrides the real group ID.
--svgid: Overrides the saved group ID.

Option '-k' was introduced as a requirement to be explicit when one
wants to keep the current user(s) instead of specifying new ones.  This
is both for the purpose of avoiding foot-shooting and preserving the
possibility to omit '-u' to switch to 'root'.  In order to avoid
confusion, if any user or group overrides are specified, mdo(1) however
enforces that either '-u' or '-k' has been specified (so, in practice,
'-u root' is implied only in the absence of any other options except
'-i').

Some base supplementary groups set is needed when '-s' is used without
directive '@'.  It can be an explicit one specified with '-G',
effectively meaning that '-G' is processed before '-s'.  Else, it is
determined from the password/group database (see initgroups(3)) if '-u'
with a user name was passed, or is simply the current set if '-i' (or
'-k') was specified.  Other cases require specifying the full set (using
'-G' or '-s' with '@'), and will fail otherwise.

As the release process for 15.0 is progressing, this is committed in
advance of the still-in-progress tests and manual page updates.

Note for MFC to stable/14: As initgroups() has its old behavior,
consistently with it, remove the effective GID from being passed also as
a supplementary group.

Reviewed by:    bapt
MFC after:      3 days
Relnotes:       yes
Event:          EuroBSDCon 2025
Sponsored by:   The FreeBSD Foundation
Sponsored by:   Google LLC (GSoC 2025)
Co-authored-by: Kushagra Srivastava <kushagra1403@gmail.com>
Differential Revision:  https://reviews.freebsd.org/D52613
3ca1e69028acdee30739c0e0856692395a36fd21 Olivier Certner 2025-09-25 11:30:00

debug: classified in 04-filenames_plain2 by 'usr.bin/'

Remove ftpd(8)
This was previously deprecated and is slated for removal in 15.0.
Users who still need ftpd(8) can install the ftp/freebsd-ftpd port.

Retain the ftp(d) PAM services since other FTP daemons use them.

Update /etc/inetd.conf to point to /usr/local.

Add ftpd to ObsoleteFiles, but do not list configuration files since
users may want to preserve these to use with the freebsd-ftpd port.

There is still some language in the manual referring to ftpd(8)
which is relevant to the port, which has been retained but updated
to reference the port.

MFC after:      3 days
Relnotes:       yes
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D52739
614c8750ce116865953916b8b5bab2467ee94187 Lexi Winter 2025-09-29 20:26:26

debug: Commit manually moved from "unknown" to "network".

UPDATING: bump __FreeBSD_version for drm-kmod/nvidia-drm vs. LinuxLPI
Both drm-kmod and nvidia-drm were updated to keep compiling and/or
working after the latest LinuxKPI PCI changes.  Some of what should
have worked for a long time but did not or conflicted was hidden
behind native PCI calls instead of using LinuxKPI.  We cleaned this
up.  Bump __FreeBSD_version so that users will get the updated packages.

MFC after:      3 days
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289647
52ce810302f70cc7b995651eb1b19adfa014b351 Bjoern A. Zeeb 2025-09-29 23:10:10

debug: classified in 04-filenames_plain2 by 'sys/'

sh: Remove /.profile
root's home directory was moved to /root many years ago, so there's no
reason to keep this old link.  This brings sh in line with csh, where
/.cshrc was removed in dcb65c5a94d4.

Relnotes:       yes
Approved by:    re (cperciva)
MFC after:      1 day
PR:             https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289097
Reviewed by:    cperciva, jilles, bapt, emaste
Differential Revision:  https://reviews.freebsd.org/D52161
d31e342bcc8e22d7eb25c21a711cd4b8a54db6c0 Lexi Winter 2025-09-30 06:02:06

debug: classified in 02-filenames_wildcards by '.*Makefile'

Technical notes

Dates:

Automatic grouping:

Automatic categories:

Source code:


Generated with commits-periodical 0.18 at 2025-11-03 03:26:56+00:00.

This work is supported by Tarsnap Backup Inc.

Alternate version: 2025-09-01 (release)