diff options
| -rw-r--r-- | cddl/contrib/opensolaris/cmd/dtrace/dtrace.1 | 5 | ||||
| -rw-r--r-- | lib/libsys/Makefile.sys | 4 | ||||
| -rw-r--r-- | release/tools/vmimage.subr | 6 | ||||
| -rw-r--r-- | sbin/dumpon/dumpon.8 | 4 | ||||
| -rw-r--r-- | share/man/man4/Makefile | 1 | ||||
| -rw-r--r-- | share/man/man4/ciss.4 | 9 | ||||
| -rw-r--r-- | share/man/man4/dtrace_pid.4 | 99 | ||||
| -rw-r--r-- | share/man/man7/ports.7 | 6 | ||||
| -rw-r--r-- | share/misc/bsd-family-tree | 120 | ||||
| -rw-r--r-- | sys/cam/ata/ata_da.c | 72 | ||||
| -rw-r--r-- | sys/cam/scsi/scsi_da.c | 21 | ||||
| -rw-r--r-- | sys/kern/kern_jail.c | 7 | ||||
| -rw-r--r-- | sys/modules/iwlwifi/Makefile | 4 | ||||
| -rw-r--r-- | usr.sbin/sysrc/sysrc.8 | 89 |
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 , |
