aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cddl/contrib/opensolaris/cmd/dtrace/dtrace.15
-rw-r--r--lib/libsys/Makefile.sys4
-rw-r--r--release/tools/vmimage.subr6
-rw-r--r--sbin/dumpon/dumpon.84
-rw-r--r--share/man/man4/Makefile1
-rw-r--r--share/man/man4/ciss.49
-rw-r--r--share/man/man4/dtrace_pid.499
-rw-r--r--share/man/man7/ports.76
-rw-r--r--share/misc/bsd-family-tree120
-rw-r--r--sys/cam/ata/ata_da.c72
-rw-r--r--sys/cam/scsi/scsi_da.c21
-rw-r--r--sys/kern/kern_jail.c7
-rw-r--r--sys/modules/iwlwifi/Makefile4
-rw-r--r--usr.sbin/sysrc/sysrc.889
14 files changed, 325 insertions, 122 deletions
diff --git a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1 b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1
index 456a9e319987..1a9f8029e6de 100644
--- a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1
+++ b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1
@@ -20,7 +20,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 4, 2025
+.Dd November 6, 2025
.Dt DTRACE 1
.Os
.Sh NAME
@@ -548,7 +548,7 @@ to disallow the possibility of enabling destructive actions system-wide at any p
Any attempts to enable destructive actions will cause
.Nm
to exit with a runtime error.
-.It Fl x Ar arg Op Ns = Ns value
+.It Fl x Ar arg Ns Op = Ns Ar value
Enable or modify a DTrace runtime option or D compiler option.
Boolean options are enabled by specifying their name.
Options with values are set by separating the option name and value with an
@@ -1299,6 +1299,7 @@ in
.Xr dtrace_ip 4 ,
.Xr dtrace_kinst 4 ,
.Xr dtrace_lockstat 4 ,
+.Xr dtrace_pid 4 ,
.Xr dtrace_proc 4 ,
.Xr dtrace_profile 4 ,
.Xr dtrace_sched 4 ,
diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys
index 1d1a4f1136ce..5f149170b974 100644
--- a/lib/libsys/Makefile.sys
+++ b/lib/libsys/Makefile.sys
@@ -471,7 +471,9 @@ MLINKS+=intro.2 errno.2
MLINKS+=jail.2 jail_attach.2 \
jail.2 jail_get.2 \
jail.2 jail_remove.2 \
- jail.2 jail_set.2
+ jail.2 jail_set.2 \
+ jail.2 jail_attach_jd.2 \
+ jail.2 jail_remove_jd.2
MLINKS+=kldunload.2 kldunloadf.2
MLINKS+=kqueue.2 kevent.2 \
kqueue.2 kqueue1.2 \
diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr
index 8531e9b8f2d6..92f00f9cf7c3 100644
--- a/release/tools/vmimage.subr
+++ b/release/tools/vmimage.subr
@@ -449,7 +449,11 @@ vm_create_disk() {
# Create an ESP
espfilename=$(mktemp /tmp/efiboot.XXXXXX)
make_esp_file ${espfilename} ${fat32min} ${BOOTFILES}/efi/loader_lua/loader_lua.efi
- BOOTPARTS="${BOOTPARTS} -p efi/efiboot0:=${espfilename}"
+ espsuffix=""
+ if [ -z "${BOOTPARTS}" ]; then
+ espsuffix="${BOOTPARTSOFFSET}"
+ fi
+ BOOTPARTS="${BOOTPARTS} -p efi/efiboot0:=${espfilename}${espsuffix}"
# Add this to fstab
mkdir -p ${DESTDIR}/boot/efi
diff --git a/sbin/dumpon/dumpon.8 b/sbin/dumpon/dumpon.8
index f2082a58851d..4e4abb8d4b79 100644
--- a/sbin/dumpon/dumpon.8
+++ b/sbin/dumpon/dumpon.8
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 23, 2020
+.Dd November 6, 2025
.Dt DUMPON 8
.Os
.Sh NAME
@@ -353,7 +353,7 @@ when
binds to a server,
.Xr dhclient-script 8
can be used to run
-.Xr dumpon 8 .
+.Nm .
For example, to automatically configure
.Xr netdump 4
on the vtnet0 interface, add the following to
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 34edf6ad455d..fe1d285aec96 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -1012,6 +1012,7 @@ _dtrace_provs= dtrace_audit.4 \
dtrace_ip.4 \
dtrace_kinst.4 \
dtrace_lockstat.4 \
+ dtrace_pid.4 \
dtrace_proc.4 \
dtrace_profile.4 \
dtrace_sched.4 \
diff --git a/share/man/man4/ciss.4 b/share/man/man4/ciss.4
index 28d6556ecd85..d731aaddad38 100644
--- a/share/man/man4/ciss.4
+++ b/share/man/man4/ciss.4
@@ -1,7 +1,7 @@
.\" Written by Tom Rhodes
.\" This file is in the public domain.
.\"
-.Dd January 26, 2012
+.Dd November 6, 2025
.Dt CISS 4
.Os
.Sh NAME
@@ -87,9 +87,10 @@ might be solved by updating the firmware and/or setting the
.Va hw.ciss.nop_message_heartbeat
tunable to non-zero at boot time.
.Sh HARDWARE
-Controllers supported by the
+The
.Nm
-driver include:
+driver supports controllers implementing
+Common Interface for SCSI-3 Support Open Specification v1.04, including:
.Pp
.Bl -bullet -compact
.It
@@ -145,6 +146,8 @@ HP Smart Array P430i
.It
HP Smart Array P431
.It
+HP Smart Array P440ar
+.It
HP Smart Array P530
.It
HP Smart Array P531
diff --git a/share/man/man4/dtrace_pid.4 b/share/man/man4/dtrace_pid.4
new file mode 100644
index 000000000000..1acbdd097ba8
--- /dev/null
+++ b/share/man/man4/dtrace_pid.4
@@ -0,0 +1,99 @@
+.\"
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd November 6, 2025
+.Dt DTRACE_PID 4
+.Os
+.Sh NAME
+.Nm dtrace_pid
+.Nd a DTrace provider for dynamic userspace tracing based on function boundary instrumentation
+.Sh SYNOPSIS
+.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
+.\" XXX: For some reason Op renders here in bold, so use literal square
+.\" brackets instead.
+.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns No \&[ Ns Ar offset Ns No \&]
+.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
+.Sh DESCRIPTION
+The
+.Nm pid
+provider implements userspace dynamic tracing
+by instrumenting the entry and return of functions in userspace programs.
+Refer to
+.Xr dtrace_fbt 4
+for more details about function boundary instrumentation.
+.Pp
+The
+.Nm pid
+provider provides the following probes:
+.Bl -inset
+.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
+instruments the entry of the
+.Ar function .
+.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns Op Ar offset
+instruments the instruction within the
+.Ar function
+located at
+.Ar offset
+bytes (expressed as a hexadecimal integer).
+.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
+instruments the return from the
+.Ar function .
+.El
+.Ss Probe Arguments
+The arguments of the entry probe
+.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
+are the arguments of the traced function call.
+.Bl -column -offset indent "Entry Probe Argument" "Definition"
+.It Sy Entry Probe Argument Ta Sy Definition
+.It Ft uint64_t Fa arg0 Ta Function's first argument
+.It Ft uint64_t Fa arg1 Ta Function's second argument
+.It Ft uint64_t Fa arg2 Ta Function's third argument
+.It Fa ... Ta ...
+.El
+.Pp
+The offset probes
+.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns Op Ar offset
+do not define any arguments.
+Use
+.Va uregs[]
+to inspect the registers.
+.Pp
+The arguments of the return probe
+.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
+are the program counter and the function's return value.
+.Bl -column -offset indent "Return Probe Argument" "Definition"
+.It Sy Return Probe Argument Ta Sy Definition
+.It Ft uint64_t Fa arg0 Ta Program counter
+.It Ft uint64_t Fa arg1 Ta Function's return value
+.El
+.Pp
+Note that all probe arguments within the
+.Nm pid
+provider are of type
+.Ft uint64_t .
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr dtrace_fbt 4 ,
+.Xr dtrace_kinst 4 ,
+.Xr elf 5 ,
+.Xr d 7 ,
+.Xr tracing 7
+.Rs
+.%A Brendan Gregg
+.%A Jim Mauro
+.%B DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
+.%I Prentice Hall
+.%D 2011
+.%U https://www.brendangregg.com/dtracebook/
+.Re
+.Rs
+.%B The illumos Dynamic Tracing Guide
+.%O Chapter pid Provider
+.%D 2008
+.%U https://illumos.org/books/dtrace/chp-pid.html
+.Re
+.Sh AUTHORS
+This manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7
index 75070ce852fe..24c1eb4b7f51 100644
--- a/share/man/man7/ports.7
+++ b/share/man/man7/ports.7
@@ -25,7 +25,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd September 10, 2025
+.Dd November 6, 2025
.Dt PORTS 7
.Os
.Sh NAME
@@ -597,6 +597,10 @@ data.
The default ports directory.
.It Pa /usr/ports/Mk/bsd.port.mk
The big Kahuna.
+.It Pa /var/db/ports
+The directory where the results of configuring
+.Va OPTIONS
+are stored.
.El
.Sh EXAMPLES
.Bl -tag -width 0n
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index 82e9ac45c495..fd525d59c902 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -86,7 +86,7 @@ FreeBSD 2.1 | | | |
| | | | *--NetBSD 1.1 -. BSD/OS 2.1
| FreeBSD 2.1.5 | | | \ |
| | | | *--NetBSD 1.2 \ BSD/OS 3.0
- | FreeBSD 2.1.6 | | | \ OpenBSD 2.0 |
+ | FreeBSD 2.1.6 | | | \ OpenBSD 2.0 |
| | | | | \ | |
| FreeBSD 2.1.6.1 | | | \ | |
| | | | | \ | |
@@ -99,38 +99,38 @@ FreeBSD 2.1 | | | |
| \ | | | | |
| FreeBSD 2.2.1 | | | | |
| | | | | | |
- | FreeBSD 2.2.2 | | | OpenBSD 2.1 |
+ | FreeBSD 2.2.2 | | | OpenBSD 2.1 |
| | | | | | |
| FreeBSD 2.2.5 | | | | |
- | | | | | OpenBSD 2.2 |
+ | | | | | OpenBSD 2.2 |
| | | | *--NetBSD 1.3 | |
| FreeBSD 2.2.6 | | | | | |
| | | | | NetBSD 1.3.1 | BSD/OS 3.1
- | | | | | | OpenBSD 2.3 |
+ | | | | | | OpenBSD 2.3 |
| | | | | NetBSD 1.3.2 | |
| FreeBSD 2.2.7 | | | | | |
| | | | | | | BSD/OS 4.0
| FreeBSD 2.2.8 | | | | | |
| | | | | | | |
- | v | | | | OpenBSD 2.4 |
+ | v | | | | OpenBSD 2.4 |
| FreeBSD 2.2.9 | | | | | |
| | | | | | |
FreeBSD 3.0 <--------* | | v | |
| | | NetBSD 1.3.3 | |
*---FreeBSD 3.1 | | | |
| | | | | BSD/OS 4.0.1
- | FreeBSD 3.2----* | .--*--NetBSD 1.4 OpenBSD 2.5 |
+ | FreeBSD 3.2----* | .--*--NetBSD 1.4 OpenBSD 2.5 |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| FreeBSD 3.3 | | | | NetBSD 1.4.1 | |
- | | | | | | | OpenBSD 2.6 |
+ | | | | | | | OpenBSD 2.6 |
| FreeBSD 3.4 | | | | | | |
| | | | | | | | BSD/OS 4.1
FreeBSD 4.0 | | | | | NetBSD 1.4.2 | |
| | | | | | | | |
| | | | | | | | |
- | FreeBSD 3.5 | | | | | OpenBSD 2.7 |
+ | FreeBSD 3.5 | | | | | OpenBSD 2.7 |
| | | | | | | | |
| FreeBSD 3.5.1 | | | | | | |
| | | | | | | |
@@ -139,34 +139,34 @@ FreeBSD 4.0 | | | | | NetBSD 1.4.2 | |
| FreeBSD 4.1.1 | | / | | | |
| | | | / | | | |
| FreeBSD 4.2 Darwin/ | NetBSD 1.4.3 | |
- | | Mac OS X | OpenBSD 2.8 BSD/OS 4.2
+ | | Mac OS X | OpenBSD 2.8 BSD/OS 4.2
| | | | | |
| | | | | |
| | 10.0 *--NetBSD 1.5 | |
| FreeBSD 4.3 | | | | |
- | | | | | OpenBSD 2.9 |
+ | | | | | OpenBSD 2.9 |
| | | | NetBSD 1.5.1 | |
| | | | | | |
| FreeBSD 4.4-. | | NetBSD 1.5.2 | |
| | | Mac OS X | | | |
- | | | 10.1 | | OpenBSD 3.0 |
+ | | | 10.1 | | OpenBSD 3.0 |
| FreeBSD 4.5 | | | | | |
| | \ | | | | BSD/OS 4.3
- | FreeBSD 4.6 \ | | | OpenBSD 3.1 |
+ | FreeBSD 4.6 \ | | | OpenBSD 3.1 |
| | \ | | NetBSD 1.5.3 | |
| FreeBSD 4.6.2 Mac OS X | | |
| | 10.2 | | |
| FreeBSD 4.7 | | | |
- | | | *--NetBSD 1.6 OpenBSD 3.2 |
+ | | | *--NetBSD 1.6 OpenBSD 3.2 |
| FreeBSD 4.8 | | | | |
| | | | NetBSD 1.6.1 | |
- | |--------. | | | OpenBSD 3.3 BSD/OS 5.0
+ | |--------. | | | OpenBSD 3.3 BSD/OS 5.0
| | \ | | | | |
- | FreeBSD 4.9 | | | | OpenBSD 3.4 BSD/OS 5.1 ISE
+ | FreeBSD 4.9 | | | | OpenBSD 3.4 BSD/OS 5.1 ISE
| | | | | | |
| | | | | NetBSD 1.6.2 |
| | | | | | |
- | | | | | | OpenBSD 3.5
+ | | | | | | OpenBSD 3.5
| | | | | v |
| FreeBSD 4.10 | | | |
| | | | | |
@@ -185,74 +185,74 @@ FreeBSD 5.2 | | | |
| FreeBSD 5.2.1 | | | |
| | | | |
*-------FreeBSD 5.3 | | | |
- | | | | OpenBSD 3.6 |
+ | | | | OpenBSD 3.6 |
| | | *--NetBSD 2.0 | |
| | | | | | | DragonFly 1.2.0
| | Mac OS X | | NetBSD 2.0.2 | |
| | 10.4 | | | | |
| FreeBSD 5.4 | | | | | |
- | | | | | | OpenBSD 3.7 |
+ | | | | | | OpenBSD 3.7 |
| | | | | NetBSD 2.0.3 | |
| | | | | | | |
- *--FreeBSD | | | | v OpenBSD 3.8 |
+ *--FreeBSD | | | | v OpenBSD 3.8 |
| 6.0 | | | | | |
| | | | | \ | |
| | | | | NetBSD 2.1 | |
| | | | | | |
| | | | *--NetBSD 3.0 | |
| | | | | | | | DragonFly 1.4.0
- | | | | | | | OpenBSD 3.9 |
+ | | | | | | | OpenBSD 3.9 |
| FreeBSD | | | | | | |
| 6.1 | | | | | | |
| | FreeBSD 5.5 | | | | | |
| | | | | NetBSD 3.0.1 | DragonFly 1.6.0
| | | | | | | |
- | | | | | | OpenBSD 4.0 |
+ | | | | | | OpenBSD 4.0 |
| | | | | NetBSD 3.0.2 | |
| | | | NetBSD 3.1 | |
| FreeBSD 6.2 | | | |
| | | | | DragonFly 1.8.0
- | | | | OpenBSD 4.1 |
+ | | | | OpenBSD 4.1 |
| | | | | DragonFly 1.10.0
| | Mac OS X | | |
| | 10.5 | | |
- | | | | OpenBSD 4.2 |
+ | | | | OpenBSD 4.2 |
| | | *--NetBSD 4.0 | |
| FreeBSD 6.3 | | | | |
| \ | | | | |
*--FreeBSD | | | | | DragonFly 1.12.0
| 7.0 | | | | | |
- | | | | | | OpenBSD 4.3 |
+ | | | | | | OpenBSD 4.3 |
| | | | | NetBSD | DragonFly 2.0.0
- | | FreeBSD | | 4.0.1 OpenBSD 4.4 |
+ | | FreeBSD | | 4.0.1 OpenBSD 4.4 |
| | 6.4 | | | |
| | | | | |
| FreeBSD 7.1 | | | |
| | | | | DragonFly 2.2.0
- | FreeBSD 7.2 | *--NetBSD OpenBSD 4.5 |
+ | FreeBSD 7.2 | *--NetBSD OpenBSD 4.5 |
| \ | | 5.0 | |
| \ | | / | \ | |
| | Mac OS X | | | \ | |
| | 10.6 | | | \ | |
| | | | | | NetBSD | DragonFly 2.4.0
- | | | | | | 5.0.1 OpenBSD 4.6 |
+ | | | | | | 5.0.1 OpenBSD 4.6 |
| | | | | | | | |
*--FreeBSD | | | | | | | |
| 8.0 | | | | | | | |
| | FreeBSD | | | | NetBSD | |
| | 7.3 | | | | 5.0.2 | DragonFly 2.6.0
- | | | | | | | OpenBSD 4.7 |
+ | | | | | | | OpenBSD 4.7 |
| FreeBSD | | | | | | |
| 8.1 | | | | | | |
| | | | | | | | DragonFly 2.8.2
- | | | | | | | OpenBSD 4.8 |
+ | | | | | | | OpenBSD 4.8 |
| | | | | | *--NetBSD | |
| FreeBSD FreeBSD | | | 5.1 | |
| 8.2 7.4 | | | | | DragonFly 2.10.1
- | | | | | | OpenBSD 4.9 |
+ | | | | | | OpenBSD 4.9 |
| `-----. Mac OS X | | | | |
| \ 10.7 | | | | |
- | | | | | | OpenBSD 5.0 |
+ | | | | | | OpenBSD 5.0 |
*--FreeBSD | | | | | | |
| 9.0 | | | | NetBSD | DragonFly 3.0.1
| | FreeBSD | | | 5.1.2 | |
@@ -262,12 +262,12 @@ FreeBSD 5.2 | | | |
| | | | | | | | |
| | | | | | NetBSD | |
| | | | | | 5.1.4 | |
- | | | | | | OpenBSD 5.1 |
+ | | | | | | OpenBSD 5.1 |
| | | Mac OS X | `--------. | |
| | | 10.8 | | | |
| | | | *--NetBSD | | |
| | | | | 6.0 | | |
- | | | | | | | | OpenBSD 5.2 DragonFly 3.2.1
+ | | | | | | | | OpenBSD 5.2 DragonFly 3.2.1
| FreeBSD | | | | | NetBSD | |
| 9.1 | | | | | 5.2 | |
| | | | | | | | | |
@@ -280,7 +280,7 @@ FreeBSD 5.2 | | | |
| | | | | | \ | |
| | | | | | NetBSD | |
| | | | | | 6.0.1 | |
- | | | | | | | OpenBSD 5.3 DragonFly 3.4.1
+ | | | | | | | OpenBSD 5.3 DragonFly 3.4.1
| | | | | | NetBSD | |
| | | | | | 6.0.2 | |
| | | | | | | | |
@@ -305,7 +305,7 @@ FreeBSD 5.2 | | | |
| FreeBSD | | NetBSD | |
| 9.2 | | 6.1.2 | |
| | Mac OS X | | | |
- | | 10.9 | | OpenBSD 5.4 |
+ | | 10.9 | | OpenBSD 5.4 |
| `-----. | | | | DragonFly 3.6.0
| \ | | | | |
*--FreeBSD | | | NetBSD | |
@@ -318,7 +318,7 @@ FreeBSD 5.2 | | | |
| | | | | NetBSD | |
| | | | | 6.1.4 | |
| | | | | | | |
- | | | | | | OpenBSD 5.5 |
+ | | | | | | OpenBSD 5.5 |
| | | | | | | |
| | | | | | | DragonFly 3.8.0
| | | | | | | |
@@ -334,7 +334,7 @@ FreeBSD 5.2 | | | |
| | | | 6.1.5 | |
| | Mac OS X | | |
| | 10.10 | | |
- | | | | OpenBSD 5.6 |
+ | | | | OpenBSD 5.6 |
| FreeBSD | | | |
| 10.1 | | | DragonFly 4.0.1
| | | | | |
@@ -346,21 +346,21 @@ FreeBSD 5.2 | | | |
| | | | | |
| | | | | DragonFly 4.0.5
| | | | | |
- | | | | OpenBSD 5.7 |
+ | | | | OpenBSD 5.7 |
| | | | | DragonFly 4.2.0
| FreeBSD | | | |
| 10.2 | | | |
| | macOS *--NetBSD 7.0 | |
- | | 10.11 | | | OpenBSD 5.8 |
+ | | 10.11 | | | OpenBSD 5.8 |
| | | | | `--. | DragonFly 4.4.1
- | FreeBSD | | | | OpenBSD 5.9 |
+ | FreeBSD | | | | OpenBSD 5.9 |
| 10.3 | | | | | |
| | | | | NetBSD | |
| | | | | 7.0.1 | |
| `------. | | | | | DragonFly 4.6.0
| | | | | | | |
| | | | | | | |
- *--FreeBSD | macOS | | | OpenBSD 6.0 |
+ *--FreeBSD | macOS | | | OpenBSD 6.0 |
| 11.0 | 10.12 | | NetBSD | |
| | | | | | 7.0.2 | |
| | | | | | | |
@@ -369,10 +369,10 @@ FreeBSD 5.2 | | | |
| | | | | | | | |
| | | | | | | | |
| | | macOS | | | | DragonFly 4.8.0
- | | | 10.13 | | | OpenBSD 6.1 |
+ | | | 10.13 | | | OpenBSD 6.1 |
| FreeBSD | | | | | | DragonFly 5.0.0
| 11.1 FreeBSD | | | | | |
- | | 10.4 | | | | OpenBSD 6.2 DragonFly 5.0.1
+ | | 10.4 | | | | OpenBSD 6.2 DragonFly 5.0.1
| | | | | | | |
| `------. | | | NetBSD | DragonFly 5.0.2
| | | | | 7.1.1 | |
@@ -380,7 +380,7 @@ FreeBSD 5.2 | | | |
| | | | | NetBSD | |
| | | | | 7.1.2 `--. |
| | | | | | |
- | | | | `-----. OpenBSD 6.3 |
+ | | | | `-----. OpenBSD 6.3 |
| | | *--NetBSD | | DragonFly 5.2.0
| | | | 8.0 | | |
| | | | | | | DragonFly 5.2.1
@@ -389,12 +389,12 @@ FreeBSD 5.2 | | | |
| FreeBSD | | | *--NetBSD | |
| 11.2 | | | 7.2 | |
| | macOS | | | |
- | | 10.14 | | OpenBSD 6.4 |
+ | | 10.14 | | OpenBSD 6.4 |
| | | | | | |
| | | | | | DragonFly 5.4.0
*--FreeBSD | | | | | |
| 12.0 | | | | | DragonFly 5.4.1
- | | | | | | OpenBSD 6.5 |
+ | | | | | | OpenBSD 6.5 |
| | | | | | | |
| | | | | NetBSD | |
| | | | | 8.1 | DragonFly 5.6
@@ -402,7 +402,7 @@ FreeBSD 5.2 | | | |
| | | | | | | DragonFly 5.6.1
| | FreeBSD macOS | | | |
| | 11.3 10.15 | | | |
- | FreeBSD | | | | OpenBSD 6.6 |
+ | FreeBSD | | | | OpenBSD 6.6 |
| 12.1 | macOS | `-------. | |
| | | 10.15.1 | | | DragonFly 5.6.2
| | | | *--NetBSD | | |
@@ -414,43 +414,43 @@ FreeBSD 5.2 | | | |
| | | | | | NetBSD | |
| | | | | | 8.2 | |
| | | | | | | | DragonFly 5.8.1
- | | | | | | | OpenBSD 6.7 |
+ | | | | | | | OpenBSD 6.7 |
| | FreeBSD | | | | | |
| | 11.4 | | | | | |
| | | | | | | DragonFly 5.8.2
| | | | | | | DragonFly 5.8.3
- | | | | NetBSD | OpenBSD 6.8 |
+ | | | | NetBSD | OpenBSD 6.8 |
| FreeBSD macOS | 9.1 | | |
| 12.2 11 | | | | |
| | | | | | | |
| `------. | | | | | |
| | | | | | | |
*--FreeBSD | | | | | | |
- | 13.0 | | | NetBSD | OpenBSD 6.9 DragonFly 6.0.0
+ | 13.0 | | | NetBSD | OpenBSD 6.9 DragonFly 6.0.0
| | | | | 9.2 | | |
| | | | | | | | DragonFly 6.0.1
| | | | | | | | |
- | | FreeBSD macOS | | | OpenBSD 7.0 |
+ | | FreeBSD macOS | | | OpenBSD 7.0 |
| | 12.3 12 | | | | |
| | | | | | | | DragonFly 6.2.1
- | | | | | | | OpenBSD 7.1 |
+ | | | | | | | OpenBSD 7.1 |
| FreeBSD | | | | | | |
| 13.1 | | | | | | |
| | | | | | | | DragonFly 6.2.2
| | | | | NetBSD | | |
- | | | macOS | 9.3 | OpenBSD 7.2 |
+ | | | macOS | 9.3 | OpenBSD 7.2 |
| | | 13 | | | | |
| | FreeBSD | | | | | |
| | 12.4 | | | | | |
| | | | | | | DragonFly 6.4.0
- | | | | | | OpenBSD 7.3 |
+ | | | | | | OpenBSD 7.3 |
| FreeBSD | | | | | |
| 13.2 | | | | | |
| | | | | | | |
| `------. | | | | | |
| | macOS | | | | |
| | 14 | | | | |
- | | | | | | OpenBSD 7.4 |
+ | | | | | | OpenBSD 7.4 |
*--FreeBSD | | | | | | |
| 14.0 | | | | | | |
| | | | | | | | |
@@ -460,7 +460,7 @@ FreeBSD 5.2 | | | |
| | | | *--NetBSD | | |
| | | | | 10.0 | | |
| | | | | | | | |
- | | | | | | | OpenBSD 7.5 |
+ | | | | | | | OpenBSD 7.5 |
| | | | | | NetBSD | |
| | | | | | 8.3 | |
| FreeBSD | | | | | |
@@ -468,23 +468,23 @@ FreeBSD 5.2 | | | |
| | | macOS | | | |
| | | 15 | | | |
| | FreeBSD | | | | |
- | | 13.4 | | | OpenBSD 7.6 |
+ | | 13.4 | | | OpenBSD 7.6 |
| FreeBSD | | | | | |
| 14.2 | | | | | |
| | | | | NetBSD | |
| | | | | 10.1 | |
| | FreeBSD | | | |
| | 13.5 | | | |
- | | | | OpenBSD 7.7 |
+ | | | | OpenBSD 7.7 |
| | | | | DragonFly 6.4.1
| | | | | DragonFly 6.4.2
| FreeBSD | | | |
| 14.3 | | | |
| macOS | | |
| 26 | | |
- | | | OpenBSD 7.8 |
+ | | | OpenBSD 7.8 |
| | | | |
-FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current
+FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current
| | | | |
v v v v v
diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index 08747cd59131..9434756b87f9 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -2328,15 +2328,38 @@ adastart(struct cam_periph *periph, union ccb *start_ccb)
{
struct ada_softc *softc = (struct ada_softc *)periph->softc;
struct ccb_ataio *ataio = &start_ccb->ataio;
+ uint32_t priority = start_ccb->ccb_h.pinfo.priority;
CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("adastart\n"));
+ /*
+ * When we're running the state machine, we should only accept DEV CCBs.
+ * When we're doing normal I/O we should only accept NORMAL CCBs.
+ *
+ * While in the state machine, we carefully single step the queue, but
+ * there's no protection for 'extra' calls to xpt_schedule() at the
+ * wrong priority. Guard against that so that we filter any CCBs that
+ * are offered at the wrong priority. This avoids generating requests
+ * that are at normal priority.
+` */
+ if ((softc->state != ADA_STATE_NORMAL && priority != CAM_PRIORITY_DEV) ||
+ (softc->state == ADA_STATE_NORMAL && priority != CAM_PRIORITY_NORMAL)) {
+ xpt_print(periph->path, "Bad priority for state %d prio %d\n",
+ softc->state, priority);
+ xpt_release_ccb(start_ccb);
+ return;
+ }
+
switch (softc->state) {
case ADA_STATE_NORMAL:
{
struct bio *bp;
uint8_t tag_code;
+ KASSERT(priority == CAM_PRIORITY_NORMAL,
+ ("Expected priority %d, found %d in state normal",
+ CAM_PRIORITY_NORMAL, priority));
+
bp = cam_iosched_next_bio(softc->cam_iosched);
if (bp == NULL) {
xpt_release_ccb(start_ccb);
@@ -2555,6 +2578,11 @@ out:
case ADA_STATE_RAHEAD:
case ADA_STATE_WCACHE:
{
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in state %s",
+ CAM_PRIORITY_DEV, priority,
+ softc->state == ADA_STATE_RAHEAD ? "rahead" : "wcache"));
+
cam_fill_ataio(ataio,
1,
adadone,
@@ -2581,6 +2609,10 @@ out:
{
struct ata_gp_log_dir *log_dir;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in state logdir",
+ CAM_PRIORITY_DEV, priority));
+
if ((softc->flags & ADA_FLAG_CAN_LOG) == 0) {
adaprobedone(periph, start_ccb);
break;
@@ -2615,6 +2647,10 @@ out:
{
struct ata_identify_log_pages *id_dir;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in state iddir",
+ CAM_PRIORITY_DEV, priority));
+
id_dir = malloc(sizeof(*id_dir), M_ATADA, M_NOWAIT | M_ZERO);
if (id_dir == NULL) {
xpt_print(periph->path, "Couldn't malloc id_dir "
@@ -2643,6 +2679,10 @@ out:
{
struct ata_identify_log_sup_cap *sup_cap;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in state sup_cap",
+ CAM_PRIORITY_DEV, priority));
+
sup_cap = malloc(sizeof(*sup_cap), M_ATADA, M_NOWAIT|M_ZERO);
if (sup_cap == NULL) {
xpt_print(periph->path, "Couldn't malloc sup_cap "
@@ -2671,6 +2711,10 @@ out:
{
struct ata_zoned_info_log *ata_zone;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in state zone",
+ CAM_PRIORITY_DEV, priority));
+
ata_zone = malloc(sizeof(*ata_zone), M_ATADA, M_NOWAIT|M_ZERO);
if (ata_zone == NULL) {
xpt_print(periph->path, "Couldn't malloc ata_zone "
@@ -2896,6 +2940,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
struct bio *bp;
int error;
+ KASSERT(priority == CAM_PRIORITY_NORMAL,
+ ("Expected priority %d, found %d for normal I/O",
+ CAM_PRIORITY_NORMAL, priority));
+
cam_periph_lock(periph);
bp = (struct bio *)done_ccb->ccb_h.ccb_bp;
if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
@@ -3000,6 +3048,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
}
case ADA_CCB_RAHEAD:
{
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in ccb state rahead",
+ CAM_PRIORITY_DEV, priority));
+
if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
if (adaerror(done_ccb, 0, 0) == ERESTART) {
/* Drop freeze taken due to CAM_DEV_QFREEZE */
@@ -3023,6 +3075,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
}
case ADA_CCB_WCACHE:
{
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in ccb state wcache",
+ CAM_PRIORITY_DEV, priority));
+
if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
if (adaerror(done_ccb, 0, 0) == ERESTART) {
/* Drop freeze taken due to CAM_DEV_QFREEZE */
@@ -3054,6 +3110,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
{
int error;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in ccb state logdir",
+ CAM_PRIORITY_DEV, priority));
+
if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
error = 0;
softc->valid_logdir_len = 0;
@@ -3123,6 +3183,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
case ADA_CCB_IDDIR: {
int error;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in ccb state iddir",
+ CAM_PRIORITY_DEV, priority));
+
if ((ataio->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
off_t entries_offset, max_entries;
error = 0;
@@ -3208,6 +3272,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
case ADA_CCB_SUP_CAP: {
int error;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in ccb state sup_cap",
+ CAM_PRIORITY_DEV, priority));
+
if ((ataio->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
uint32_t valid_len;
size_t needed_size;
@@ -3312,6 +3380,10 @@ adadone(struct cam_periph *periph, union ccb *done_ccb)
case ADA_CCB_ZONE: {
int error;
+ KASSERT(priority == CAM_PRIORITY_DEV,
+ ("Expected priority %d, found %d in ccb state zone",
+ CAM_PRIORITY_DEV, priority));
+
if ((ataio->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
struct ata_zoned_info_log *zi_log;
uint32_t valid_len;
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index c0c0be12856b..773a786d08f7 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -3369,12 +3369,33 @@ static void
dastart(struct cam_periph *periph, union ccb *start_ccb)
{
struct da_softc *softc;
+ uint32_t priority = start_ccb->ccb_h.pinfo.priority;
cam_periph_assert(periph, MA_OWNED);
softc = (struct da_softc *)periph->softc;
CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("dastart\n"));
+ /*
+ * When we're running the state machine, we should only accept DEV CCBs.
+ * When we're doing normal I/O we should only accept NORMAL CCBs.
+ *
+ * While in the state machine, we carefully single step the queue, but
+ * there's no protection for 'extra' calls to xpt_schedule() at the
+ * wrong priority. Guard against that so that we filter any CCBs that
+ * are offered at the wrong priority. This avoids generating requests
+ * that are at normal priority. In addition, though we can't easily
+ * enforce it, one must not transition to the NORMAL state via the
+ * skipstate mechanism.
+` */
+ if ((softc->state != DA_STATE_NORMAL && priority != CAM_PRIORITY_DEV) ||
+ (softc->state == DA_STATE_NORMAL && priority != CAM_PRIORITY_NORMAL)) {
+ xpt_print(periph->path, "Bad priority for state %d prio %d\n",
+ softc->state, priority);
+ xpt_release_ccb(start_ccb);
+ return;
+ }
+
skipstate:
switch (softc->state) {
case DA_STATE_NORMAL:
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index 523b7e314a10..26a994ef0c32 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -1065,8 +1065,10 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags)
* than duplicate it under a different name.
*/
error = vfs_buildopts(optuio, &opts);
- if (error)
+ if (error) {
+ opts = NULL;
goto done_free;
+ }
cuflags = flags & (JAIL_CREATE | JAIL_UPDATE);
if (!cuflags) {
@@ -2331,7 +2333,8 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags)
(void)kern_close(td, jfd_out);
if (g_path != NULL)
free(g_path, M_TEMP);
- vfs_freeopts(opts);
+ if (opts != NULL)
+ vfs_freeopts(opts);
prison_free(mypr);
return (error);
}
diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile
index 5d4830537a0b..6fe64a611900 100644
--- a/sys/modules/iwlwifi/Makefile
+++ b/sys/modules/iwlwifi/Makefile
@@ -91,7 +91,7 @@ CFLAGS+= -DCONFIG_IWLWIFI_DEVICE_TRACING=1
#CFLAGS+= -DCONFIG_THERMAL=1
#CFLAGS+= -DCONFIG_EFI=1
-# XXX-BZ how to do this just for pcie/drv.c (and gcc vs. clang)?
-CFLAGS += -Wno-override-init -Wno-initializer-overrides
+CWARNFLAGS.clang.drv.c+= -Wno-initializer-overrides
+CWARNFLAGS.drv.c+= -Wno-override-init ${CWARNFLAGS.${COMPILER_TYPE}.${.IMPSRC:T}}
.include <bsd.kmod.mk>
diff --git a/usr.sbin/sysrc/sysrc.8 b/usr.sbin/sysrc/sysrc.8
index bdf3353c2cf9..cb32f72ea587 100644
--- a/usr.sbin/sysrc/sysrc.8
+++ b/usr.sbin/sysrc/sysrc.8
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2011-2016 Devin Teske
.\" All rights reserved.
.\"
@@ -408,62 +411,52 @@ and
.It Pa /usr/local/etc/rc.conf.d/name/*
.El
.Sh EXAMPLES
-Below are some simple examples of how
-.Nm
-can be used to query certain values from the
-.Xr rc.conf 5
-collection of system configuration files:
-.Pp
-.Nm
-sshd_enable
-.Dl returns the value of $sshd_enable, usually YES or NO .
+.Ss Working with rc.conf files
+Ask the value of
+.Cm sshd_enable ,
+usually YES or NO:
+.Dl sysrc sshd_enable
.Pp
-.Nm
-defaultrouter
-.Dl returns IP address of default router Pq if configured .
-.Pp
-Working on other files, such as
+Return the IP address of default router
+.Pq if configured :
+.Dl sysrc defaultrouter
+.Ss Working with other files
+Return the value of the MAILTO setting, if configured, from
.Xr crontab 5 :
+.Dl sysrc -f /etc/crontab MAILTO
.Pp
-.Nm
--f /etc/crontab MAILTO
-.Dl returns the value of the MAILTO setting Pq if configured .
-.Pp
-Appending to existing values:
-.Pp
-.Nm
-\&cloned_interfaces+=gif0
-.Dl appends Qo gif0 Qc to $cloned_interfaces Pq see APPENDING VALUES .
-.Pp
-.Nm
-\&cloned_interfaces-=gif0
-.Dl removes Qo gif0 Qc from $cloned_interfaces Pq see SUBTRACTING VALUES .
-.Pp
-In addition to the above syntax,
-.Nm
-also supports inline
-.Xr sh 1
-PARAMETER expansion for changing the way values are reported, shown below:
+Append
+.Dq gif0
+to $cloned_interfaces
+.Pq see Sx APPENDING VALUES :
+.Dl sysrc cloned_interfaces+=gif0
.Pp
-.Nm
-\&'hostname%%.*'
-.Dl returns $hostname up to (but not including) first `.' .
+Remove
+.Dq gif0
+from $cloned_interfaces
+.Pq see Sx SUBTRACTING VALUES :
+.Dl sysrc cloned_interfaces-=gif0
+.Ss Inline shell parameter expansion
+Return $hostname up to, but not including, first
+.Ql \&. :
+.Dl sysrc 'hostname%%.*'
.Pp
-.Nm
-\&'network_interfaces%%[$IFS]*'
-.Dl returns first word of $network_interfaces .
+Return first word of $network_interfaces:
+.Dl sysrc 'network_interfaces%%[$IFS]*'
.Pp
-.Nm
-\&'ntpdate_flags##*[$IFS]'
-.Dl returns last word of $ntpdate_flags (time server address) .
+Return last word of $ntpdate_flags
+.Pq time server address :
+.Dl sysrc 'ntpdate_flags##*[$IFS]'
.Pp
-.Nm
-usbd_flags-"default"
-.Dl returns $usbd_flags or "default" if unset or NULL .
+Return $usbd_flags or
+.Dq default
+if unset or NULL:
+.Dl sysrc usbd_flags-"default"
.Pp
-.Nm
-cloned_interfaces+"alternate"
-.Dl returns "alternate" if $cloned_interfaces is set .
+Return
+.Dq alternate
+if $cloned_interfaces is set:
+.Dl sysrc cloned_interfaces+"alternate"
.Sh SEE ALSO
.Xr rc.conf 5 ,
.Xr jail 8 ,