Skip to content

Conversation

@bsdjhb
Copy link
Collaborator

@bsdjhb bsdjhb commented Oct 29, 2025

PR for CI

Hajimu UMEMOTO and others added 30 commits November 11, 2024 21:14
PR:		277482
Reported by:	Cameron Williams
The sysctls enable any use of 0/8 and 240/4, not only experimental use.

Reviewed by:	zlei
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47506
Similar to nvme(4), use the current CPU to select which I/O queue to
use.  The assignment in nvmf_attach() had to be moved down since
sc->num_io_queues is initialized in nvmf_establish_connection().

Note that nvmecontrol(8) still defaults to using a single I/O queue
for an association.

Sponsored by:	Chelsio Communications
This isn't really needed since the host driver never submits more
commands to a queue than it can hold, but I noticed that the
recently-added SQ head and tail sysctl nodes were not updating.  This
fixes that and also uses these values to assert that there we never
submit a command while a queue pair is full.

Sponsored by:	Chelsio Communications
This commit fixes JSON output for zpool list when user properties are
requested with -o flag. This case needed to be handled specifically
since zpool_prop_to_name does not return property name for user
properties, instead it is stored in pl->pl_user_prop.

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Umer Saleem <[email protected]>
Closes #16734
In zpool_get_user_prop, when called from zpool_expand_proplist and
collect_pool, we often have zpool_props present in zpool_handle_t equal
to NULL. This mostly happens when only one user property is requested
using zpool list -o <user_property>. Checking for this case and
correctly initializing the zpool_props field in zpool_handle_t fixes
this issue.

Interestingly, this issue does not occur if we query any other property
like name or guid along with a user property with -o flag because while
accessing properties like guid, zpool_prop_get_int is called which
checks for this case specifically and calls zpool_get_all_props.

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Umer Saleem <[email protected]>
Closes #16734
Two new events KTR_ARGS and KTR_ENV can be used to
trace arguments of execve(2).

Reviewed by:		glebius
Differential Revision:	https://reviews.freebsd.org/D47127
This is a filesystem (driver), not a file format, so it should be in
section 4.

Pull Request:	freebsd/freebsd-src#1520
The comment from mi_switch() applies here.

PR:		279708
Fixes:		686bcb5 ("schedlock 4/4")
MFC after:	1 week
No functional change intended.

MFC after:	1 week
The downstream (FreeBSD) ntp man pages are out of date. Switch to those
provided by ntp.org (nwtime.org).

PR:			104493
Differential Revision:	https://reviews.freebsd.org/D47319
Avoid overrunning the message buffer when printing an ippool btree error.
We do this in two ways. First we increase the message buffer from 80 to
255 bytes and secondly we replace strcat(3) with strlcat(3).

MFC after:	1 week
Printing the pool node (IP address) only leads to speculation which
pool the failed add occurred. This is especially useful when the same
IP address is listed in multiple pools.

MFC after:	1 week
As with when printing errors for failed poolnodes, printing the hash
node (IP address) only leads to speculation which hash pool the failed
add occurred. This is especially useful when the same IP address is
listed in multiple hash pools.

MFC after:	1 week
When a node in a tree is discovered in error, i.e. duplicate, the
IP address of the node is printed but no closing bracket completes
the node in the message. Fix this.

MFC after:	1 week
Replace inet_ntoa(3) with inet_ntop(3). This supporting the printing of
IPv6 IP addresses in addition to IPv4 IP addresses in error message.

MFC after:	1 week
Include the IP address in the message when a hashnode add error occurs.
This helps to identify the ippool.conf statement that the error occurred.

MFC after:	1 week
Avoid calling _callout_stop_safe with a non-sleepable lock held when
detaching by initializing callout_init_rw() with CALLOUT_SHAREDLOCK.

It avoids the following WITNESS warning when stopping the service:

    # service ipfilter stop
    calling _callout_stop_safe with the following non-sleepable locks held:
    shared rw ipf filter load/unload mutex (ipf filter load/unload mutex) r = 0 (0xffff0000417c7530) locked @ /usr/src/sys/netpfil/ipfilter/netinet/fil.c:7926
    stack backtrace:
    #0 0xffff00000052d394 at witness_debugger+0x60
    #1 0xffff00000052e620 at witness_warn+0x404
    CTSRD-CHERI#2 0xffff0000004d4ffc at _callout_stop_safe+0x8c
    CTSRD-CHERI#3 0xffff0000f7236674 at ipfdetach+0x3c
    CTSRD-CHERI#4 0xffff0000f723fa4c at ipf_ipf_ioctl+0x788
    CTSRD-CHERI#5 0xffff0000f72367e0 at ipfioctl+0x144
    CTSRD-CHERI#6 0xffff00000034abd8 at devfs_ioctl+0x100
    CTSRD-CHERI#7 0xffff0000005c66a0 at vn_ioctl+0xbc
    CTSRD-CHERI#8 0xffff00000034b2cc at devfs_ioctl_f+0x24
    CTSRD-CHERI#9 0xffff0000005331ec at kern_ioctl+0x2e0
    CTSRD-CHERI#10 0xffff000000532eb4 at sys_ioctl+0x140
    CTSRD-CHERI#11 0xffff000000880480 at do_el0_sync+0x604
    CTSRD-CHERI#12 0xffff0000008579ac at handle_el0_sync+0x4c

PR:		282478
Suggested by:	markj
Reviewed by:	cy
Approved by:	emaste (mentor)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
It was introduced by the recent commit [1].

1. 58f1942 ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl()

Reviewed by:	markj
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D47511
ea3022c converted timeout(9) to callout(9). This code remained as
an artifact of the conversion.

Fixes:		ea3022c
MFC after:	1 week
It was disabled by default in fe52b7f.  We planned to (but did not)
remove the option before FreeBSD 14.  Remove it now, for FreeBSD 15.

Relnotes:	Yes
Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31558
The functions pf_clear_srcnodes() and pf_kill_srcnodes() serve the same
purpose, however the former kills all source nodes while the later only
a selected subset of them.

They differ in how they reach that goal. pf_clear_srcnodes() first
iterates over all states and detaches the source nodes from them. Then
it iterates over all source nodes and marks them as expired leaving the
cleanup to pf_purge_expired_src_nodes().

If a new state and a new source node are created between iterating over
all states and all source nodes, this source node will have its state
counter set to 0 and expiry to 1, marking it as expired without properly
detaching the state from it. Later the source node will be freed with
the state sill pointing to it.

The function pf_kill_srcnodes() performs the same operation in a safer
manner by first marking the required source nodes as expiring and then
iterating over all states and checking which states point to expiring
nodes. Any source node created between iterating over states and source
nodes will simply be ignored.

Add functionality of killing all source nodes to pf_kill_srcnodes().
Replace all calls to pf_clear_srcnodes() with a calls to
pf_kill_srcnodes(), and remove the former.

Reviewed by:		kp
Approved by:		kp (mentor)
Differential Revision:	https://reviews.freebsd.org/D47440
Some pf tests check the output of pfctl -s[sSr] to find if relevant
states, source nodes or rules exist and if their counters have proper
values. The output is multiple lines per entry and contains varying
amount of whitespace. This makes parsing it rather hard.

Provide a function for standardization of output of pfctl -s[sSr] which
converts the output to a single line per entry and reduces whitespace
always to a single space. Adjust existing tests to make use of this
function.

Revieved by:		kp
Approved by:		kp (mentor)
Differental Revision:	https://reviews.freebsd.org/D47435
We prefer something like "if (count != 0)" over "if (count)" for
non-boolean variables.  This was implicit in examples, but was unclear
for some new contributors.  Attempt to clarify by providing a more
explicit statement and example.

Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30507
The timeout function still tries to acquire the rwlock, and now it
deadlocks, since the callout framework will have already acquired it.

This reverts commit 1fa6daa.

PR:		282478
Reported by:	markj
Approved by:	emaste (mentor)
This allows the flags to be picked up more easily when building external
modules.

Sponsored by: Juniper Networks, Inc.
Reviewed by:	markj (earlier)
Differential Revision:	https://reviews.freebsd.org/D45563
During installation bsdinstall asks (via tzsetup):

> Is this machine's CMOS clock set to UTC?  If it is set to local time,
> or you don't know, please choose NO here!

Most operating systems, except for Windows, use UTC in the hardware
real-time clock by default.  This question from tzsetup is presumably
intended to aid in dual-boot-with-Windows configurations, but these
represent a fraction of all FreeBSD installs.

Rather than asking this question on every install just default to UTC.
Users who want to dual-boot Windows can create /etc/wall_cmos_clock.
We can look at making this smarter in the future.

Reviewed by:	bapt, brooks, brd, cy, 0mp, ngie
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45569
Avoid calling _callout_stop_safe with a non-sleepable lock held when
detaching by initializing callout_init_rw() with CALLOUT_SHAREDLOCK, and
avoiding re-initialization inside the timer function.

PR:		282478
Reviewed by:	cy, emaste, jhb, markj
Tested by:	cy
Approved by:	emaste (mentor)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D47530
This also is an artifact of the timeout(9) to callout(9) conversion done
in ea3022c.

Fixes:		ea3022c
MFC after:	1 week
glebius and others added 27 commits October 29, 2025 12:09
If the test runner is under heavy load, the command we are testing may
succeed in printing to stdout before the dummy receiver has terminated.
Add a short delay to reduce the likelihood of this happening.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D47572
No functional change intended.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
No functional change intended.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
- loader.efi.8: use proper way of printing a backslash.
- usr.bin/gzip/gzip.1: contained a non-breaking space (in utf-8, 0xC2A0).
- lib/libpmc/pmc.*.3: remove two duplicate .Xr lines

Signed-off-by:	Graham Percival <[email protected]>
Reviewed by:	mhorne, Alexander Ziaee <[email protected]>
MFC after:	3 days
Sponsored by:	Tarsnap Backup Inc.
Pull Request:	freebsd/freebsd-src#1523
The full mandoc warnings were:
    skipping paragraph macro: PP after SS
    skipping paragraph macro: PP after SH

The rendered output (in ascii and html) is not affected by this commit.

Fixes made by script in https://github.com/Tarsnap/freebsd-doc-scripts

Signed-off-by:	Graham Percival <[email protected]>
Reviewed by:	jlduran, mhorne
MFC after:	1 week
Sponsored by:	Tarsnap Backup Inc.
Pull Request:	freebsd/freebsd-src#1524
Reviewed by:	imp, mhorne
MFC after:	3 days
Pull Request:	freebsd/freebsd-src#1522
Patterned after explicit_bzero, visible from C23 onwards.

Reviewed by:	emaste, kevans
Differential Revision:	https://reviews.freebsd.org/D47286
We use a *.txz glob to get all of the "distributions" which comprise
the FreeBSD release, but we now (optionally) also build container
images which are .txz files.  Grep those out from the distribution
lists.

A better long-term fix would probably be to generate an explicit list
of the .txz files we want rather than using an overbroad glob and
filtering out the files we *don't* want.

Fixes:		d03c82c ("release: add optional OCI images")
MFC after:	1 minute
Sponsored by:	Amazon
Remove "FreeBSD kernel driver for" and "family", and
add "AWS EC2" and "driver" to the document description
for better search discoveribility and consistency with
other driver manuals.

Rewrite the introductory sentance to the HARDWARE section
with driver name for inclusion in hardware release notes.

MFC after:	3 days
Reviewed by:	osamaabb
Sponsored by:	Google
Sponsored by:	Amazon
When the user asks for XOPEN_SOURCE >= 800, set __XSI_VISIBLE to 800 for
POSIX 2024.

Sponsored by:		Netflix
Reviewed by:		brooks
Differential Revision:	https://reviews.freebsd.org/D47574
Allow applications to request a strict POSIX 2024 by setting
_POSIX_C_SOURCE to 202405 or higher. The rest of the system needs tweaks
to be compliant, so this is a work in progress.

Sponsored by:		Netflix
Reviewed by:		brooks
Differential Revision:	https://reviews.freebsd.org/D47575
If either _ISOC23_SOURCE is defined or --std=c23 (or higher) is
specified, then default to the making the ISO C visibility to 2023.
This mirrors what glibc does, so update the comment for this change to
_ISOCxx_SOURCE values.  We currently implement xx = 11 or 23. C17 added
no new defines or symbols, so we follow glibc's lead and ommit it.
However, we don't implement the C95, C99 or C2y versions. These are
non-standard and the first two don't seem to be relevant, and the latter
is also experimental.

Sponsored by:		Netflix
Reviewed by:		brooks
Differential Revision:	https://reviews.freebsd.org/D47576
Add _C23_SOURCE extension to mirror the _C11_SOURCE define. Unsure how
useful this is.

Sponsored by:		Netflix
Reviewed by:		brooks
Differential Revision:	https://reviews.freebsd.org/D47577
Bump default to POSIX at 202405, C at 2023 and xopen at 800...

Sponsored by:		Netflix
Reviewed by:		brooks
Differential Revision:	https://reviews.freebsd.org/D47578
Also tweak a few placs where we can now use macros for C23 and POSIX24.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D47580
Various System V Interface Definition editions, as well as the X/Open
group portability guide issue 4, recommend defining _XOPEN_SOURCE and
broadly intimating it means the same thing as _POSIX_SOURCE == 2.

Starting in X/Open issue 5 (1995), _XOPEN_SOURCE needs to be defined to
be 500 to bring in the newer interfaces. However, it is still common hat
sources define _XOPEN_SOURCE to be blank. To deal with that, we subtract
0 from _XOPEN_SOURCE to make the other expressions well formed.

While here, document that we should define _POSIX_C_SOURCE to be 199209
based on the SVID, the first version of the Single Unix Specification,
and X/Open CAE issue 4, version 2. Also document that historically this
has been a NOP. Any value of _XOPEN_SOURCE < 500 (including it being
blank) was not viewed as a request for a restricted namespace.

Reviewed by:		brooks (earlier version)
Differential Revision:	https://reviews.freebsd.org/D47584
Sponsored by:		Netflix
Reviewed by:	brooks, imp
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47581
MFC after:	3 days
Reviewed by:	ray
Differential Revision:	https://reviews.freebsd.org/D47570
The jobid (which was stored in kernelinfo) was used to look up
jobs until 1ce9182, where it became essentially write only.
Remove it to simplify the code and pave the way for future work
to make aio scale better.

Note this has been slated for removal "soon" for 18 years.

Suggested by: jhb
Reviewed by: kib
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D47583
…K/UNLOCK.

The socket buffer locking used to be standard on SOCKBUF_LOCK/UNLOCK. But we are now
moving to a more elegant SOCK_SENDBUF_LOCK/UNLOCK and SOCK_RECVBUF_LOCK/UNLOCK.
Lets get BBR and Rack to use these updated macros.

Reviewed by:glebius, tuexen, rscheff
Differential Revision:https://reviews.freebsd.org/D47542
d51c590 added a Lua script to process the lists of candidate and
completed MFC commits to address sorting issues in the original shell
implementation.

Instead of having a mix of shell and Lua, just implement the entire
tool in Lua.  This is more maintainable and gives a reasonable
improvement in performace.

Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47416
When I first converted mfc-candidates to Lua I did not implement -X
(exclude file), and just emitted a message that -X wasn't implemented.
Support was implemented before I pushed the change but I forgot to
remove the message.

Fixes: 48f3fca ("mfc-candidates: Convert to Lua")
Sponsored by: The FreeBSD Foundation
These are installed into /ociimages/ and stage onto the download site
at /OCI-IMAGES/; they don't belong in the same directory as the
"distribution" .txz files.

Fixes:		d03c82c ("release: add optional OCI images")
MFC after:	1 minute
Sponsored by:	Amazon
Also remove some information from HISTORY that is no longer needed (and
could be confusing), now that _Fork is part of a standard.

Reported by:	kib
Reviewed by:	imp, kib
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47588
Reported by:	kib
Fixes:		438ca68
Sponsored by:	Rubicon Communications, LLC ("Netgate")
(cherry picked from commit 4b65481)
@bsdjhb bsdjhb force-pushed the merge-freebsd-20241115 branch from 4589662 to f552b78 Compare October 29, 2025 16:10
@bsdjhb bsdjhb merged commit f552b78 into CTSRD-CHERI:dev Oct 29, 2025
29 checks passed
@bsdjhb bsdjhb deleted the merge-freebsd-20241115 branch October 29, 2025 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.