diff options
Diffstat (limited to 'share/man')
76 files changed, 784 insertions, 430 deletions
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 3511acb254e1..18e439491793 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -1,6 +1,7 @@  .include <src.opts.mk>  PACKAGE=	clibs +MANSUBPACKAGE=	-dev  MAN=		alloca.3 \  		arb.3 \ diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3 index 79c8d92decbe..535358ae82d5 100644 --- a/share/man/man3/queue.3 +++ b/share/man/man3/queue.3 @@ -1420,13 +1420,13 @@ while in userland builds it prints the diagnostic message on  .Dv stderr  and then calls  .Fn abort . -These behaviors can be overriden by defining a custom +These behaviors can be overridden by defining a custom  .Fn QMD_PANIC  macro before first inclusion of  .In sys/queue.h .  The diagnostic messages automatically include the source file, line and function -where the failing check occured. -This behavior can be overriden by defining a custom +where the failing check occurred. +This behavior can be overridden by defining a custom  .Fn QMD_ASSERT  macro before first inclusion of  .In sys/queue.h . diff --git a/share/man/man3/siginfo.3 b/share/man/man3/siginfo.3 index f57cf5f7d706..59e3ecf8f3e8 100644 --- a/share/man/man3/siginfo.3 +++ b/share/man/man3/siginfo.3 @@ -224,7 +224,7 @@ raised by a hardware watchpoint exception may report the data address that  triggered the watchpoint in  .Va si_addr .  .Pp -Sychronous signals set +Synchronous signals set  .Va si_trapno  to a machine-dependent trap number.  .Pp diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 6e076722c786..95618227a010 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -69,6 +69,12 @@ MAN=	aac.4 \  	audit.4 \  	auditpipe.4 \  	aue.4 \ +	${_aw_gpio.4} \ +	${_aw_mmc.4} \ +	${_aw_rtc.4} \ +	${_aw_sid.4} \ +	${_aw_spi.4} \ +	${_aw_syscon.4} \  	axe.4 \  	axge.4 \  	axp.4 \ @@ -198,7 +204,6 @@ MAN=	aac.4 \  	hidbus.4 \  	hidquirk.4 \  	hidraw.4 \ -	hifn.4 \  	hkbd.4 \  	hms.4 \  	hmt.4 \ @@ -887,7 +892,6 @@ _ntb_hw_intel.4=	ntb_hw_intel.4  _ntb_hw_plx.4=	ntb_hw_plx.4  _ntb_transport.4=ntb_transport.4  _nvram.4=	nvram.4 -_padlock.4=	padlock.4  _pchtherm.4=	pchtherm.4  _qat.4=		qat.4  _qat_c2xxx.4=	qat_c2xxx.4 @@ -934,6 +938,10 @@ _vmm.4=		vmm.4  .endif  .endif +.if ${MACHINE_CPUARCH} == "i386" +_padlock.4=	padlock.4 +.endif +  .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64"  _hwt.4=		hwt.4  .if ${MACHINE_CPUARCH} == "amd64" @@ -962,6 +970,12 @@ _vmx.4=		vmx.4  .if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "aarch64" || \  	 ${MACHINE_CPUARCH} == "riscv" +_aw_gpio.4=	aw_gpio.4 +_aw_mmc.4=	aw_mmc.4 +_aw_rtc.4=	aw_rtc.4 +_aw_sid.4=	aw_sid.4 +_aw_spi.4=	aw_spi.4 +_aw_syscon.4=	aw_syscon.4  _cgem.4=	cgem.4  MLINKS+=cgem.4 if_cgem.4  .endif @@ -1003,7 +1017,8 @@ _dtrace_provs=	dtrace_audit.4 \  		dtrace_sctp.4 \  		dtrace_tcp.4 \  		dtrace_udp.4 \ -		dtrace_udplite.4 +		dtrace_udplite.4 \ +		dtrace_vfs.4  MLINKS+=	dtrace_audit.4 dtaudit.4  .endif diff --git a/share/man/man4/acpi_battery.4 b/share/man/man4/acpi_battery.4 index 3707cd125678..49fed625ea31 100644 --- a/share/man/man4/acpi_battery.4 +++ b/share/man/man4/acpi_battery.4 @@ -158,8 +158,8 @@ Typically this will decrease every charging cycle.  .It btech  Battery technology:  .Bl -tag -width indent -.It 0x00000000 Primary cell Pq non-rechargable -.It 0x00000001 Secondary cell Pq rechargable +.It 0x00000000 Primary cell Pq non-rechargeable +.It 0x00000001 Secondary cell Pq rechargeable  .El  .It Va dvol  Design voltage in mV, diff --git a/share/man/man4/agp.4 b/share/man/man4/agp.4 index 2aeb01850085..b7a649117f36 100644 --- a/share/man/man4/agp.4 +++ b/share/man/man4/agp.4 @@ -22,7 +22,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd November 28, 2007 +.Dd October 24, 2025  .Dt AGP 4  .Os  .Sh NAME @@ -34,7 +34,7 @@  The  .Nm  driver is slated to be removed in -.Fx 15.0 . +.Fx 16.0 .  .Sh DESCRIPTION  The  .Nm diff --git a/share/man/man4/ahc.4 b/share/man/man4/ahc.4 index 72a1e092f1bc..a2aa911c0646 100644 --- a/share/man/man4/ahc.4 +++ b/share/man/man4/ahc.4 @@ -144,7 +144,7 @@ system hang if memory mapped I/O is attempted.  .Pp  Most modern motherboards perform the initialization correctly and work fine  with this option enabled and it is the default. This option can also be -dynamically configued through a device hint documented below. +dynamically configured through a device hint documented below.  .Ed  .Pp  To statically configure one or more controllers to assume the target role: diff --git a/share/man/man4/man4.arm/aw_gpio.4 b/share/man/man4/aw_gpio.4 index ef9fc1fe2733..5cbc7562d9bd 100644 --- a/share/man/man4/man4.arm/aw_gpio.4 +++ b/share/man/man4/aw_gpio.4 @@ -23,7 +23,7 @@  .\" SUCH DAMAGE.  .\"  .Dd October 8, 2024 -.Dt AW_GPIO 4 arm +.Dt AW_GPIO 4  .Os  .Sh NAME  .Nm aw_gpio diff --git a/share/man/man4/man4.arm/aw_mmc.4 b/share/man/man4/aw_mmc.4 index e3f961fa5067..072835cce7c0 100644 --- a/share/man/man4/man4.arm/aw_mmc.4 +++ b/share/man/man4/aw_mmc.4 @@ -22,8 +22,8 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd Dec 25, 2017 -.Dt AW_MMC 4 arm +.Dd October 20, 2025 +.Dt AW_MMC 4  .Os  .Sh NAME  .Nm aw_mmc @@ -48,6 +48,8 @@ allwinner,sun5i-a13-mmc  allwinner,sun7i-a20-mmc  .It  allwinner,sun50i-a64-mmc +.It +allwinner,sun20i-d1-mmc  .El  .Sh SYSCTL VARIABLES  The following read-only variables are available via diff --git a/share/man/man4/man4.arm/aw_rtc.4 b/share/man/man4/aw_rtc.4 index 87212d85116c..1296cd41da68 100644 --- a/share/man/man4/man4.arm/aw_rtc.4 +++ b/share/man/man4/aw_rtc.4 @@ -23,7 +23,7 @@  .\" SUCH DAMAGE.  .\"  .Dd December 10, 2024 -.Dt AW_RTC 4 arm +.Dt AW_RTC 4  .Os  .Sh NAME  .Nm aw_rtc diff --git a/share/man/man4/man4.arm/aw_sid.4 b/share/man/man4/aw_sid.4 index 8b3691259f22..5cd2f3d5e072 100644 --- a/share/man/man4/man4.arm/aw_sid.4 +++ b/share/man/man4/aw_sid.4 @@ -25,7 +25,7 @@  .\" SUCH DAMAGE.  .\"  .Dd October 8, 2024 -.Dt AW_SID 4 arm +.Dt AW_SID 4  .Os  .Sh NAME  .Nm aw_sid diff --git a/share/man/man4/man4.arm/aw_spi.4 b/share/man/man4/aw_spi.4 index d0566a45b54b..f8985e1c16bb 100644 --- a/share/man/man4/man4.arm/aw_spi.4 +++ b/share/man/man4/aw_spi.4 @@ -23,7 +23,7 @@  .\" SUCH DAMAGE.  .\"  .Dd May 17, 2018 -.Dt AW_SPI 4 arm +.Dt AW_SPI 4  .Os  .Sh NAME  .Nm aw_spi diff --git a/share/man/man4/man4.arm/aw_syscon.4 b/share/man/man4/aw_syscon.4 index 97f01196a8a6..e32f329e489a 100644 --- a/share/man/man4/man4.arm/aw_syscon.4 +++ b/share/man/man4/aw_syscon.4 @@ -25,7 +25,7 @@  .\" SUCH DAMAGE.  .\"  .Dd November 11, 2024 -.Dt AW_SYSCON 4 arm +.Dt AW_SYSCON 4  .Os  .Sh NAME  .Nm aw_syscon diff --git a/share/man/man4/bce.4 b/share/man/man4/bce.4 index ab979f371b66..aab9eaebd505 100644 --- a/share/man/man4/bce.4 +++ b/share/man/man4/bce.4 @@ -240,7 +240,7 @@ Values from 0-256 are valid.  A value of 0 disables this status block update (default 6).  .It Va hw.bce.tx_ticks  Time in microsecond ticks to wait before a status block -update is generated due to TX activitiy. +update is generated due to TX activity.  Values from 0-100 are valid.  A value of 0 disables this status block update.  Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0 diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 index 7048df4593bf..3af952256d3a 100644 --- a/share/man/man4/bridge.4 +++ b/share/man/man4/bridge.4 @@ -36,7 +36,7 @@  .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  .\" POSSIBILITY OF SUCH DAMAGE.  .\" -.Dd July 28, 2025 +.Dd October 13, 2025  .Dt IF_BRIDGE 4  .Os  .Sh NAME @@ -272,53 +272,149 @@ by setting the  node using  .Xr sysctl 8 .  .Sh VLAN SUPPORT -The +Virtual LANs (VLANs), defined in the IEEE 802.1Q standard, allow traffic +on a bridge to be segregated into separate logical networks which cannot +communicate with each other. +For example, two interfaces in VLAN 10 would be able to communicate +with each other, but not with another interface in VLAN 20. +.Pp +Each VLAN is identified by a number between 1 and 4094 inclusive. +By default, all traffic on the bridge is assigned to "VLAN 0", +a pseudo-VLAN used for historical compatibility. +When VLANs are in use on a bridge, it is recommended to explicitly +assign all traffic to a VLAN rather than using VLAN 0. +.Pp +The bridge implements Independent VLAN Learning (IVL), meaning that +host addresses are learned separately for each VLAN, and the same host +address may exist on several different ports in different VLANs. +.Pp +If a +.Xr vlan 4 +interface is configured on an interface which is also an  .Nm -driver has full support for virtual LANs (VLANs). -The bridge implements independent VLAN learning, i.e. MAC addresses are -learned on a per-VLAN basis, and the same MAC address may be learned on -multiple interfaces on different VLANs. -Incoming frames with an 802.1Q tag will be assigned to the appropriate -VLAN. -.Pp -Traffic sent to or from the host is not assigned to a VLAN by default. -To allow the host to communicate on a VLAN, configure a +member interface, all tagged frames will be processed by the  .Xr vlan 4 -interface on the bridge and (if necessary) assign IP addresses there. -.Pp -By default no access control is enabled, so any interface may -participate in any VLAN. -.Pp -VLAN filtering may be enabled on a bridge using the +interface and will not be visible to the bridge. +This configuration is not recommended and may be unsupported in a +future release. +.Ss Tagged and untagged traffic +Incoming frames on a member interface may be either tagged or untagged. +Tagged frames contain an 802.1Q header indicating which VLAN the +frame belongs to, while untagged frames do not. +When a tagged frame is received, the frame is automatically assigned to +the VLAN in the tag (subject to any configured VLAN access list), +while untagged frames are assigned to the interface's configured +Port VLAN ID (PVID), or to VLAN 0 if no PVID is configured. +.Ss Assigning interfaces to VLANs +An interface's PVID may be configured using the  .Xr ifconfig 8 -.Cm vlanfilter -option. -When VLAN filtering is enabled, an interface may only send and receive -frames based on its configured VLAN access list. +.Cm ifuntagged +command: +.Bd -literal -offset indent +ifconfig bridge0 ifuntagged ix0 10 +.Ed  .Pp -The interface's untagged VLAN ID may be configured using the -.Xr ifconfig 8 +Or by using the  .Cm untagged -option. -If an untagged VLAN ID is configured, incoming frames will be assigned -to that VLAN, and the interface may receive outgoing untagged frames -in that VLAN. -.Pp -The tagged VLAN access list may be configured using the -.Cm tagged , -.Cm +tagged -and -.Cm -tagged -options to -.Xr ifconfig 8 . -An interface may send and receive tagged frames for any VLAN in its -access list. +option to +.Cm addm : +.Bd -literal -offset indent +ifconfig bridge0 addm ix0 untagged 10 +.Ed  .Pp -The bridge will automatically insert or remove 802.1q tags as needed, -based on the interface configuration, when forwarding frames between -interfaces. -This tag processing is only done for interfaces with VLAN filtering -enabled. +This will assign all untagged traffic received on the interface to the +specified VLAN, and any traffic transmitted on the interface in this +VLAN will have its VLAN tag (if present) removed. +Conversely, any traffic transmitted on the interface in a different +VLAN will have a tag added, to allow the remote system to assign the +traffic to the appropriate VLAN. +.Ss Host communication in a VLAN +Sometimes it is useful to allow the host itself to communicate in a VLAN, +for example to provide routing to other hosts in the VLAN. +To do this, create a +.Xr vlan 4 +interface on top of the +.Nm +interface with the appropriate VLAN tag. +For example, to allow the host to communicate in VLAN 10: +.Bd -literal -offset indent +ifconfig bridge0.10 create inet6 2001:db8::1/64 +.Ed +.Ss Configuring the VLAN access list (VLAN filtering) +For historical reasons, the default +.Nm +configuration allows all interfaces to send tagged traffic for any VLAN, +meaning that VLANs do not provide security separation. +To restrict which interfaces may communicate in which VLANs, +enable VLAN filtering on the bridge: +.Bd -literal -offset indent +ifconfig bridge0 vlanfilter +.Ed +.Pp +This has the following effects on bridge members: +.Bl -bullet -offset indent +.It +No untagged frames will be accepted from a member interface unless +the interface has a PVID configured. +.It +No tagged frames will be accepted from a member interface unless +the VLAN identifier is present in the interface's VLAN access list. +.It +Frames with stacked tags (Q-in-Q) will not be accepted from a +member interface unless the +.Cm qinq +option (see below) has been configured for that member. +.El +.Pp +To configure the VLAN access list, use the +.Xr ifconfig 8 +.Cm iftagged , +.Cm +iftagged +or +.Cm -iftagged +commands. +For example, to allow an interface to communicate in VLANs 10, 20, +and any VLAN from 100 to 199: +.Bd -literal -offset indent +ifconfig bridge0 iftagged ix0 10,20,100-199 +.Ed +.Ss IEEE 802.1ad (Q-in-Q) configuration +IEEE 802.1ad, also called Q-in-Q or +.Dq tag stacking , +allows a single Ethernet frame to contain multiple tags. +This allows one Ethernet network to transport traffic between endpoints +using its own VLAN tags without interfering with any pre-existing tags, +and is often used in service provider networks to provide +.Dq virtual wire +Ethernet services. +.Pp +When VLAN filtering is enabled, +.Nm +does not permit member interfaces to send Q-in-Q frames, because in +certain configuration this allows +.Dq VLAN-hopping +attacks on the bridge. +For example, consider a bridge with port ix0 configured as a tagged +port in VLAN 10, and port ix1 configured as untagged in VLAN 10 and +tagged in VLAN 20. +If ix0 is allowed to send Q-in-Q frames, then it can send a frame with +two tags: one for VLAN 10, followed by one for VLAN 20. +When the bridge forwards the frame to ix1, it will strip the VLAN tag +for VLAN 10, then forward the frame to ix1 with the tag for VLAN 20 +intact, effectively allowing ix1 to send traffic on VLAN 20 even +though the bridge configuration should not permit that. +.Pp +To permit an interface to send Q-in-Q frames, set the +.Xr ifconfig 8 +.Cm qinq +flag on the interface. +This is only required on the interface which will send Q-in-Q frames, +not the interface receiving the frames. +.Pp +Alternatively, set the +.Cm defqinq +flag on the bridge itself to enable Q-in-Q for all newly-added +interfaces by default.  .Sh PACKET FILTERING  Packet filtering can be used with any firewall package that hooks in via the  .Xr pfil 9 @@ -537,6 +633,36 @@ ifconfig_wlan0="up ssid my_ap mode 11g"  ifconfig_fxp0="up"  .Ed  .Pp +The following will cause a bridge to be created with two VLANs, +10 and 20, where the +.Dq Li em +interfaces can only communicate in their assigned VLANs, +while +.Dq Li ix0 +is a trunk port which can communicate in either VLAN: +.Bd -literal -offset indent +cloned_interfaces="bridge0" +ifconfig_bridge0="vlanfilter \e +	addm em0 untagged 10 \e +	addm em1 untagged 10 \e +	addm em2 untagged 20 \e +	addm em3 untagged 20 \e +	addm ix0 tagged 10,20" +ifconfig_em0="up" +ifconfig_em1="up" +ifconfig_em2="up" +ifconfig_em3="up" +ifconfig_ix0="up" +.Ed +.Pp +The previous example could be extended to allow the host to +communicate in VLANs 10 and 20: +.Bd -literal -offset indent +vlans_bridge0="10 20" +ifconfig_bridge0_10_ipv6="inet6 2001:db8:0:10::1/64" +ifconfig_bridge0_20_ipv6="inet6 2001:db8:0:20::1/64" +.Ed +.Pp  Consider a system with two 4-port Ethernet boards.  The following will cause a bridge consisting of all 8 ports with  Rapid Spanning Tree enabled to be created: diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4 index 3c4894c03d62..a882a5204fb2 100644 --- a/share/man/man4/ddb.4 +++ b/share/man/man4/ddb.4 @@ -24,7 +24,7 @@  .\" any improvements or extensions that they make and grant Carnegie Mellon  .\" the rights to redistribute these changes.  .\" -.Dd June 10, 2025 +.Dd October 31, 2025  .Dt DDB 4  .Os  .Sh NAME @@ -604,12 +604,15 @@ The  modifier will print command line arguments for each process.  .\"  .Pp -.It Ic show Cm all tcpcbs Ns Op Li / Ns Cm b Ns Cm l +.It Ic show Cm all tcpcbs Ns Op Li / Ns Cm b Ns Cm i Ns Cm l  Show the same output as "show tcpcb" does, but for all  TCP control blocks within the system.  The  .Cm b  modifier will request BBLog entries to be printed. +If the +.Cm i +modifier is provided, the corresponding IP control block is also shown.  Using the  .Cm l  modifier will limit the output to TCP control blocks, which are locked. @@ -1106,7 +1109,7 @@ on i386.)  Not present on some platforms.  .\"  .Pp -.It Ic show Cm tcpcb Ns Oo Li / Ns Cm b Oc Ar addr +.It Ic show Cm tcpcb Ns Oo Li / Ns Cm b Ns Cm i Oc Ar addr  Print TCP control block  .Vt struct tcpcb  lying at address @@ -1117,6 +1120,9 @@ header file.  The  .Cm b  modifier will request BBLog entries to be printed. +If the +.Cm i +modifier is provided, the corresponding IP control block is also shown.  .\"  .Pp  .It Ic show Cm thread Op Ar addr | tid diff --git a/share/man/man4/dtrace_io.4 b/share/man/man4/dtrace_io.4 index 30ec44768fbf..1699cebab8e9 100644 --- a/share/man/man4/dtrace_io.4 +++ b/share/man/man4/dtrace_io.4 @@ -22,7 +22,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd April 18, 2015 +.Dd October 26, 2025  .Dt DTRACE_IO 4  .Os  .Sh NAME @@ -84,7 +84,7 @@ The following script shows a per-process breakdown of total I/O by disk device:  io:::start  { -        @[args[1]->device_name, execname, pid] = sum(args[0]->bio_bcount); +        @[args[1]->device_name, execname, pid] = sum(args[0]->bio_length);  }  END diff --git a/share/man/man4/dtrace_vfs.4 b/share/man/man4/dtrace_vfs.4 new file mode 100644 index 000000000000..528d5da42f3d --- /dev/null +++ b/share/man/man4/dtrace_vfs.4 @@ -0,0 +1,97 @@ +.\" +.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org> +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.Dd November 3, 2025 +.Dt DTRACE_VFS 4 +.Os +.Sh NAME +.Nm dtrace_vfs +.Nd a DTrace provider for Virtual File System +.Sh SYNOPSIS +.Sm off +.Nm vfs Cm : fplookup : Ar function Cm : Ar name +.Nm vfs Cm : namecache : Ar function Cm : Ar name +.Nm vfs Cm : namei : Ar function Cm : Ar name +.Nm vfs Cm : vop : Ar function Cm : Ar name +.Sm on +.Sh DESCRIPTION +The DTrace +.Nm vfs +provider allows users to trace events in the +.Xr VFS 9 +layer, the kernel interface for file systems on +.Fx . +.Pp +Run +.Ql dtrace -l -P vfs +to list all +.Nm vfs +probes. +Add +.Fl v +to generate program stability reports, +which contain information about the number of probe arguments and their types. +.Pp +The +.Cm fplookup +module defines a single probe, +.Fn vfs:fplookup:lookup:done "struct nameidata *ndp" "int line" "bool status_code" , +that instruments the fast path lookup code in +.Xr VFS 9 . +.Pp +The +.Cm namecache +module provides probes related to the +.Xr VFS 9 +cache. +Consult the source code in +.Pa src/sys/kern/vfs_cache.c +for more details. +.Pp +The +.Cm namei +module manages probes related to pathname translation and lookup operations. +Refer to +.Xr namei 9 +to learn more. +.Pp +The +.Cm vop +module contains probes related to the functions responsible for +.Xr vnode 9 +operations. +.Sh COMPATIBILITY +This provider is specific to +.Fx . +.Sh EXAMPLES +Check what lookups failed to be handled in a lockless manner: +.Bd -literal -offset 2n +# dtrace -n 'vfs:fplookup:lookup:done { @[arg1, arg2] = count(); }' +.Ed +.Sh SEE ALSO +.Xr dtrace 1 , +.Xr d 7 , +.Xr SDT 9 , +.Xr namei 9 , +.Xr VFS 9 +.Rs +.%A Brendan Gregg +.%A Jim Mauro +.%B DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD +.%I Prentice Hall +.%P pp. 335\(en351 +.%D 2011 +.%U https://www.brendangregg.com/dtracebook/ +.Re +.Sh AUTHORS +.An -nosplit +The +.Fx +.Nm vfs +provider was written by +.An Robert Watson Aq Mt rwatson@FreeBSD.org . +.Pp +This manual page was written by +.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org . diff --git a/share/man/man4/hifn.4 b/share/man/man4/hifn.4 deleted file mode 100644 index 22494fcb6c6d..000000000000 --- a/share/man/man4/hifn.4 +++ /dev/null @@ -1,132 +0,0 @@ -.\"	$OpenBSD: hifn.4,v 1.32 2002/09/26 07:55:40 miod Exp $ -.\" -.\" Copyright (c) 2000 Theo de Raadt -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -.\" STRICT LIABILITY, OR TORT (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 July 29, 2020 -.Dt HIFN 4 -.Os -.Sh NAME -.Nm hifn -.Nd Hifn 7751/7951/7811/7955/7956 crypto accelerator -.Sh SYNOPSIS -To compile this driver into the kernel, -place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device crypto" -.Cd "device cryptodev" -.Cd "device hifn" -.Ed -.Pp -Alternatively, to load the driver as a -module at boot time, place the following line in -.Xr loader.conf 5 : -.Bd -literal -offset indent -hifn_load="YES" -.Ed -.Sh DESCRIPTION -The -.Nm -driver supports various cards containing the Hifn 7751, 7951, -7811, 7955, and 7956 chipsets. -.Pp -The -.Nm -driver registers itself to accelerate -AES (7955 and 7956 only), -SHA1, and SHA1-HMAC operations for -.Xr ipsec 4 -and -.Xr crypto 4 . -.Pp -The Hifn -.Tn 7951 , -.Tn 7811 , -.Tn 7955 , -and -.Tn 7956 -will also supply data to the kernel -.Xr random 4 -subsystem. -.Sh HARDWARE -The -.Nm -driver supports various cards containing the Hifn 7751, 7951, -7811, 7955, and 7956 -chipsets, such as: -.Bl -tag -width namenamenamena -offset indent -.It Invertex AEON -No longer being made. -Came as 128KB SRAM model, or 2MB DRAM model. -.It Hifn 7751 -Reference board with 512KB SRAM. -.It PowerCrypt -Comes with 512KB SRAM. -.It XL-Crypt -Only board based on 7811 (which is faster than 7751 and has -a random number generator). -.It NetSec 7751 -Supports the most IPsec sessions, with 1MB SRAM. -.It Soekris Engineering vpn1201 and vpn1211 -See -.Pa http://www.soekris.com/ . -Contains a 7951 and supports symmetric and random number operations. -.It Soekris Engineering vpn1401 and vpn1411 -See -.Pa http://www.soekris.com/ . -Contains a 7955 and supports symmetric and random number operations. -.El -.Sh SEE ALSO -.Xr crypto 4 , -.Xr intro 4 , -.Xr ipsec 4 , -.Xr random 4 , -.Xr crypto 7 , -.Xr crypto 9 -.Sh HISTORY -The -.Nm -device driver appeared in -.Ox 2.7 . -The -.Nm -device driver was imported to -.Fx 5.0 . -.Sh CAVEATS -The Hifn 9751 shares the same PCI ID. -This chip is basically a 7751, but with the cryptographic functions missing. -Instead, the 9751 is only capable of doing compression. -Since we do not currently attempt to use any of these chips to do -compression, the 9751-based cards are not useful. -.Pp -Support for the 7955 and 7956 is incomplete; the asymmetric crypto -facilities are to be added and the performance is suboptimal. -.Sh BUGS -The 7751 chip starts out at initialization by only supporting compression. -A proprietary algorithm, which has been reverse engineered, is required to -unlock the cryptographic functionality of the chip. -It is possible for vendors to make boards which have a lock ID not known -to the driver, but all vendors currently just use the obvious ID which is -13 bytes of 0. diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4 index 660f6a9bf57c..411af54be9fb 100644 --- a/share/man/man4/iwlwifi.4 +++ b/share/man/man4/iwlwifi.4 @@ -284,7 +284,7 @@ module parameters and are mapped automatically by  .Sy linuxkpi .  They were not adjusted so that they stay consistent with upstream  Linux, e.g., for documentation available and problem investigations. -This left their names inconsistent between themselves and incosistent to +This left their names inconsistent between themselves and inconsistent to  .Fx  style.  .Pp diff --git a/share/man/man4/le.4 b/share/man/man4/le.4 index ff39361a1780..04b57633c91f 100644 --- a/share/man/man4/le.4 +++ b/share/man/man4/le.4 @@ -34,7 +34,7 @@  .\"  .\"	from: Header: le.4,v 1.2 92/10/13 05:31:33 leres Exp  .\" -.Dd June 21, 2023 +.Dd October 24, 2025  .Dt LE 4  .Os  .Sh NAME @@ -66,7 +66,7 @@ numbers have to be specified in  The  .Nm  driver may not be present in -.Fx 15.0 +.Fx 16.0  and later.  .Sh DESCRIPTION  The diff --git a/share/man/man4/linprocfs.4 b/share/man/man4/linprocfs.4 index 53940d7c02b0..dcd1c642b409 100644 --- a/share/man/man4/linprocfs.4 +++ b/share/man/man4/linprocfs.4 @@ -9,7 +9,7 @@  .Nd Linux process file system  .Sh SYNOPSIS  .Bd -literal -linproc		/compat/linux/proc	linprocfs	rw 0 0 +linprocfs		/compat/linux/proc	linprocfs	rw 0 0  .Ed  .Sh DESCRIPTION  The Linux process file system, or @@ -138,7 +138,7 @@ To mount a  file system on  .Pa /compat/linux/proc :  .Pp -.Dl "mount -t linprocfs linproc /compat/linux/proc" +.Dl "mount -t linprocfs linprocfs /compat/linux/proc"  .Sh SEE ALSO  .Xr mount 2 ,  .Xr unmount 2 , diff --git a/share/man/man4/linsysfs.4 b/share/man/man4/linsysfs.4 index 12729a814085..045e1af89173 100644 --- a/share/man/man4/linsysfs.4 +++ b/share/man/man4/linsysfs.4 @@ -9,7 +9,7 @@  .Nd Linux kernel objects file system  .Sh SYNOPSIS  .Bd -literal -linsys		/compat/linux/sys	linsysfs	rw 0 0 +linsysfs		/compat/linux/sys	linsysfs	rw 0 0  .Ed  .Sh DESCRIPTION  The @@ -66,7 +66,7 @@ The PCI device hierarchy node.  .Sh EXAMPLES  The most common usage follows:  .Pp -.Dl "mount -t linsysfs linsys /compat/linux/sys" +.Dl "mount -t linsysfs linsysfs /compat/linux/sys"  .Pp  where  .Pa /compat/linux/sys diff --git a/share/man/man4/mac_do.4 b/share/man/man4/mac_do.4 index 39bfafd95474..d02932070e25 100644 --- a/share/man/man4/mac_do.4 +++ b/share/man/man4/mac_do.4 @@ -246,7 +246,7 @@ nor contradictory ones.  In practice, no two clauses may display the same ID except for group IDs but  only if, each time the same ID appears, it does so with a different flag, or no  flags only once. -Additionally, the specified flags in multiple occurences must not be +Additionally, the specified flags in multiple occurrences must not be  contradictory.  For example, the same group ID appearing with both  .Ql + diff --git a/share/man/man4/man4.aarch64/Makefile b/share/man/man4/man4.aarch64/Makefile index 0e85aab8b770..f35558d69a33 100644 --- a/share/man/man4/man4.aarch64/Makefile +++ b/share/man/man4/man4.aarch64/Makefile @@ -14,12 +14,6 @@ MAN=	\  # for all architectures, otherwise arm takes care of installing them.  .if !empty(MAN_ARCH) && ${MAN_ARCH} != "all"  MAN+=	\ -	aw_gpio.4 \ -	aw_mmc.4 \ -	aw_rtc.4 \ -	aw_sid.4 \ -	aw_spi.4 \ -	aw_syscon.4 \  	bcm283x_pwm.4 \  .endif diff --git a/share/man/man4/man4.arm/Makefile b/share/man/man4/man4.arm/Makefile index 6b046a1002a2..2be255ad913f 100644 --- a/share/man/man4/man4.arm/Makefile +++ b/share/man/man4/man4.arm/Makefile @@ -1,11 +1,5 @@  MAN=	\  	ar40xx.4 \ -	aw_gpio.4 \ -	aw_mmc.4 \ -	aw_rtc.4 \ -	aw_sid.4 \ -	aw_spi.4 \ -	aw_syscon.4 \  	bcm283x_pwm.4 \  	devcfg.4 \  	imx6_ahci.4 \ diff --git a/share/man/man4/nvd.4 b/share/man/man4/nvd.4 index d5145939e409..1861fabc91d0 100644 --- a/share/man/man4/nvd.4 +++ b/share/man/man4/nvd.4 @@ -31,7 +31,7 @@  .\"  .\" Author: Jim Harris <jimharris@FreeBSD.org>  .\" -.Dd May 18, 2019 +.Dd October 2, 2025  .Dt NVD 4  .Os  .Sh NAME @@ -72,6 +72,10 @@ Note that device nodes from the  driver are not  .Xr GEOM 4  disks and cannot be partitioned. +.Sh HARDWARE +The +.Nm +driver supports NVMe storage devices using NVMe namespaces.  .Sh CONFIGURATION  The  .Nm diff --git a/share/man/man4/p9fs.4 b/share/man/man4/p9fs.4 index 04f27abd2545..a49053d461d4 100644 --- a/share/man/man4/p9fs.4 +++ b/share/man/man4/p9fs.4 @@ -96,7 +96,7 @@ may not work correctly.  If  .Nm  is the root filesystem, -it is recommented to use with +it is recommended to use with  .Xr tmpfs 5  to ensure that temporary files created in  .Pa /tmp diff --git a/share/man/man4/rights.4 b/share/man/man4/rights.4 index 8f5f6ad9c2d2..0223ba0b6b88 100644 --- a/share/man/man4/rights.4 +++ b/share/man/man4/rights.4 @@ -281,7 +281,8 @@ Permit  and  .Xr openat 2  with -.Dv O_FSYNC +.Dv O_DSYNC , +.Dv O_FSYNC ,  or  .Dv O_SYNC  flag. diff --git a/share/man/man4/rndtest.4 b/share/man/man4/rndtest.4 index 9ed16caf3b87..c73302063cd3 100644 --- a/share/man/man4/rndtest.4 +++ b/share/man/man4/rndtest.4 @@ -49,7 +49,6 @@ is received from the device.  Failures are optionally reported on the console.  .Sh SEE ALSO  .Xr crypto 4 , -.Xr hifn 4 ,  .Xr random 4 ,  .Xr safe 4 ,  .Xr crypto 9 diff --git a/share/man/man4/snd_dummy.4 b/share/man/man4/snd_dummy.4 index 2b9d26d318ef..172b8ed70729 100644 --- a/share/man/man4/snd_dummy.4 +++ b/share/man/man4/snd_dummy.4 @@ -27,7 +27,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd July 15, 2024 +.Dd October 22, 2025  .Dt SND_DUMMY 4  .Os  .Sh NAME @@ -47,11 +47,22 @@ physical sound card.  It is intended for testing, so that test programs do not need to rely on  hardware being present in the machine in order to run.  .Pp -The driver attaches as a regular PCM device, with two channels (one playback -and one recording), as well as a mixer. +The driver attaches as a regular +.Xr sound 4 +device, with two channels (one playback and one recording), as well as a mixer.  .Pp  Playback works by discarding all input, and recording by returning silence  (zeros). +.Sh FILES +.Bl -tag -width "/dev/dsp.dummy" -compact +.It Pa /dev/dsp.dummy +Alias to the device's +.Pa /dev/dsp%d +file created by +.Xr sound 4 . +This makes it easy for tests to open the dummy devic when there are more +devices present in the system. +.El  .Sh SEE ALSO  .Xr sound 4 ,  .Xr loader.conf 5 , diff --git a/share/man/man4/u3g.4 b/share/man/man4/u3g.4 index 51c883b8378e..c7bf1f98880a 100644 --- a/share/man/man4/u3g.4 +++ b/share/man/man4/u3g.4 @@ -94,14 +94,14 @@ Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets  .It  QUECTEL BGX, ECX, EGX, EMX, EPX, RGX series  .It -Quectel EM160R +Quectel EM160R, EM060K  .Pq see Sx CAVEATS  .It  Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('<Huawei Mobile>')  .It  Novatel U740, MC950D, X950D, etc.  .It -Sierra MC875U, MC8775U, etc. +Sierra MC875U, MC8775U, EM7590, etc.  .It  Panasonic CF-F9 GOBI  .El diff --git a/share/man/man4/upgt.4 b/share/man/man4/upgt.4 index 5d4ada1d1a1f..cc5775d252ac 100644 --- a/share/man/man4/upgt.4 +++ b/share/man/man4/upgt.4 @@ -48,7 +48,7 @@  .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd February 18, 2025 +.Dd October 24, 2025  .Dt UPGT 4  .Os  .Sh NAME @@ -78,7 +78,7 @@ if_upgt_load="YES"  The  .Nm  driver is slated to be removed in -.Fx 15.0 . +.Fx 16.0 .  .Sh DESCRIPTION  The  .Nm diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile index c13a8b7afde2..abf4b59d184b 100644 --- a/share/man/man5/Makefile +++ b/share/man/man5/Makefile @@ -43,20 +43,6 @@ MAN=	a.out.5 \  	style.mdoc.5 \  	sysctl.conf.5 \ -.if ${MK_BLUETOOTH} != "no" -MAN+=	bluetooth.device.conf.5 \ -	bluetooth.hosts.5 \ -	bluetooth.protocols.5 -.endif - -.if ${MK_FREEBSD_UPDATE} != "no" -MAN+=	freebsd-update.conf.5 -.endif - -.if ${MK_HESIOD} != "no" -MAN+=	hesiod.conf.5 -.endif -  MLINKS=	dir.5 dirent.5  MLINKS+=fs.5 inode.5  MLINKS+=hosts.equiv.5 rhosts.5 @@ -69,37 +55,46 @@ MANGROUPS+=	ACCT  ACCT=		acct.5  ACCTPACKAGE=	acct -MANGROUPS+=	BOOTLOADER +MANGROUPS.${MK_BLUETOOTH}+=		BLUETOOTH +BLUETOOTHPACKAGE=			bluetooth +BLUETOOTH=	bluetooth.device.conf.5 \ +		bluetooth.hosts.5 \ +		bluetooth.protocols.5 + +MANGROUPS+=				BOOTLOADER +BOOTLOADERPACKAGE=			bootloader  BOOTLOADER=	device.hints.5 -BOOTLOADERPACKAGE=bootloader -.if ${MK_TOOLCHAIN} != "no" -MANGROUPS+=	TOOLCHAIN +MANGROUPS.${MK_FREEBSD_UPDATE}+=	FREEBSD_UPDATE +FREEBSD_UPDATE=	freebsd-update.conf.5 + +MANGROUPS.${MK_HESIOD}+=		HESIOD +HESIOD=		hesiod.conf.5 + +MANGROUPS.${MK_TOOLCHAIN}+=		TOOLCHAIN +TOOLCHAINPACKAGE=			toolchain  TOOLCHAIN=	ar.5 -TOOLCHAINPACKAGE=toolchain -.endif -MANGROUPS+=	LP +MANGROUPS+=				LP +LPPACKAGE=				lp  LP=		hosts.lpd.5 -LPPACKAGE=	lp -MANGROUPS+=	PERIODIC +MANGROUPS+=				PERIODIC +PERIODICPACKAGE=			periodic  PERIODIC=	periodic.conf.5 -PERIODICPACKAGE=periodic -.if ${MK_PF} != "no" -MANGROUPS+=	PF +MANGROUPS.${MK_PF}+=			PF +PFPACKAGE=				pf  PF=		pf.conf.5 \  		pf.os.5 -PFPACKAGE=	pf -.endif -MANGROUPS+=	RC +MANGROUPS+=				RC +RCPACKAGE=				rc  RC=		rc.conf.5  RCLINKS=	rc.conf.5 rc.conf.local.5 -RCPACKAGE=	rc -MANGROUPS+=	RUNTIME +MANGROUPS+=				RUNTIME +RUNTIMEPACKAGE=				runtime  RUNTIME=	devfs.conf.5 \  		devfs.rules.5 \  		fstab.5 \ @@ -107,19 +102,18 @@ RUNTIME=	devfs.conf.5 \  RUNTIMELINKS=	passwd.5 master.passwd.5  RUNTIMELINKS+=	passwd.5 pwd.db.5  RUNTIMELINKS+=	passwd.5 spwd.db.5 -RUNTIMEPACKAGE=	runtime -MANGROUPS+=	SMB +MANGROUPS+=				SMB +SMBPACKAGE=				smbutils  SMB=		nsmb.conf.5 -SMBPACKAGE=	smbutils -MANGROUPS+=	SSH +MANGROUPS.${MK_OPENSSH}+=		SSH +SSHPACKAGE=				ssh  SSH=		moduli.5 -SSHPACKAGE=	ssh -MANGROUPS+=	UFS +MANGROUPS+=				UFS +UFSPACKAGE=				ufs  UFS=		fs.5 -UFSPACKAGE=	ufs  # This makes more sense for amd64 and i386 but  # we decide to install all manpages in all architectures diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index a2ed2b09d772..8910895d9b89 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -981,7 +981,7 @@ since yesterday's check.  Space-separated list of additional anchors whose denied packets log entries to  show.  The main ruleset (i.e., the empty-string anchor) and any -.Xr blacklistd 8 +.Xr blocklistd 8  anchors, if present, are always shown.  .It Va security_status_pfdenied_period  .Pq Vt str diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 41410d6bc0fa..c22d983d33e8 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@  .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  .\" POSSIBILITY OF SUCH DAMAGE.  .\" -.Dd October 7, 2025 +.Dd November 3, 2025  .Dt PF.CONF 5  .Os  .Sh NAME @@ -1490,7 +1490,7 @@ options and both implicitly and explicitly in the case of  ones.  A  .Ar rdr-to -opion may cause the source port to be modified if doing so avoids a conflict +option may cause the source port to be modified if doing so avoids a conflict  with an existing connection.  A random source port in the range 50001-65535 is chosen in this case.  Port numbers are never translated with a @@ -3460,6 +3460,12 @@ filteropt      = user | group | flags | icmp-type | icmp6-type | "tos" tos |                   "dnpipe" ( number | "(" number "," number ")" ) |                   "dnqueue" ( number | "(" number "," number ")" ) |                   "ridentifier" number | +                 "binat-to" ( redirhost | "{" redirhost-list "}" ) +                 [ portspec ] [ pooltype ] | +                 "rdr-to" ( redirhost | "{" redirhost-list "}" ) +                 [ portspec ] [ pooltype ] | +                 "nat-to" ( redirhost | "{" redirhost-list "}" ) +                 [ portspec ] [ pooltype ] [ "static-port" ] |                   [ ! ] "received-on" ( interface-name | interface-group )  nat-rule       = [ "no" ] "nat" [ "pass" [ "log" [ "(" logopts ")" ] ] ] diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index edbfa937f8df..6274c1ee5b94 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -4950,7 +4950,7 @@ can be used in jails) depending on the content of the  .Ao Ar name Ac Ns Va _svcj_options  variable.  Typically this variable is set inside rc scripts, but it can be -overriden in the rc config. +overridden in the rc config.  Valid options for  .Ao Ar name Ac Ns Va _svcj_options  are: @@ -5041,7 +5041,7 @@ service at all, or may set it to  if it is not set in the  rc config, to exclude it from  .Va svcj_all_enable -but allow to explicitely enable it. +but allow to explicitly enable it.  The sshd service for example would not see other jails, if  it would run as a service jail.  This may or may not be what is needed, and as such it is diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 5c8ae5b83e5f..bab2c3d84abf 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@  .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd September 25, 2025 +.Dd October 22, 2025  .Dt SRC.CONF 5  .Os  .Sh NAME @@ -226,10 +226,15 @@ options provide "full" Relocation Read-Only (RELRO) support.  With full RELRO the entire GOT is made read-only after performing relocation at  startup, avoiding GOT overwrite attacks.  .It Va WITHOUT_BLACKLIST -Set this if you do not want to build -.Xr blacklistd 8 -and -.Xr blacklistctl 8 . +This option has been renamed to +.Va WITHOUT_BLOCKLIST . +When set, it enforces these options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_BLOCKLIST +.El +.Pp  When set, these options are also in effect:  .Pp  .Bl -inset -compact @@ -237,10 +242,36 @@ When set, these options are also in effect:  (unless  .Va WITH_BLACKLIST_SUPPORT  is set explicitly) +.It Va WITHOUT_BLOCKLIST_SUPPORT +(unless +.Va WITH_BLOCKLIST_SUPPORT +is set explicitly)  .El  .It Va WITHOUT_BLACKLIST_SUPPORT +This option has been renamed to +.Va WITHOUT_BLOCKLIST_SUPPORT . +When set, it enforces these options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_BLOCKLIST_SUPPORT +.El +.It Va WITHOUT_BLOCKLIST +Set this if you do not want to build +.Xr blocklistd 8 +and +.Xr blocklistctl 8 . +When set, these options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITHOUT_BLOCKLIST_SUPPORT +(unless +.Va WITH_BLOCKLIST_SUPPORT +is set explicitly) +.El +.It Va WITHOUT_BLOCKLIST_SUPPORT  Build some programs without -.Xr libblacklist 3 +.Xr libblocklist 3  support, like  .Xr fingerd 8  and @@ -925,12 +956,12 @@ Do not build LLVM's lld linker.  Do not build the LLDB debugger.  .Pp  This is a default setting on -arm/armv7 and riscv/riscv64. +riscv/riscv64.  .It Va WITH_LLDB  Build the LLDB debugger.  .Pp  This is a default setting on -amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. +amd64/amd64, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.  .It Va WITHOUT_LLD_BOOTSTRAP  Do not build the LLD linker during the bootstrap phase of  the build. diff --git a/share/man/man5/style.Makefile.5 b/share/man/man5/style.Makefile.5 index fe8754924575..9a2f1b069d99 100644 --- a/share/man/man5/style.Makefile.5 +++ b/share/man/man5/style.Makefile.5 @@ -1,7 +1,7 @@  .\"  .\" SPDX-License-Identifier: BSD-3-Clause  .\" -.\" Copyright (c) 2002-2003, 2023 David O'Brien <obrien@FreeBSD.org> +.\" Copyright (c) 2002-2003, 2023, 2025 David O'Brien <deo@NUXI.org>  .\" All rights reserved.  .\"  .\" Redistribution and use in source and binary forms, with or without @@ -28,7 +28,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd July 17, 2023 +.Dd October 29, 2025  .Dt STYLE.MAKEFILE 5  .Os  .Sh NAME @@ -179,6 +179,21 @@ settings between the  and  .Fl I Ns 's.  .It +Lists that span more than one line should be formatted as follows: +.Bd -literal -offset indent +SRCS+=<SP>\\ +<TAB>main.c<SP>\\ +<TAB>trace.c<SP>\\ +<TAB>zoo.c \\ +\& +.Ed +Specifically, the last item in the list should have a trailing '\\'. +This is to avoid causing a "false diff" or "false blame" when +a new item is appended at the end. +In general the list should be English language alphabetized. +A list of libraries or header inclusion paths are notable exceptions +if needed for proper building. +.It  Do not use GCCisms (such as  .Fl g  and @@ -233,9 +248,6 @@ For variables that are only checked with  .Fn defined ,  do not provide any fake value.  .El -.Pp -The desire to express a logical grouping often means not obeying some of the -above.  .Sh EXAMPLES  The simplest program  .Pa Makefile @@ -270,5 +282,7 @@ manual page and first appeared in  .An David O'Brien Aq deo@NUXI.org  .Sh BUGS  There are few hard and fast style rules here. +The desire to express a logical grouping sometimes means not obeying some of the +above.  The style of many things is too dependent on the context of the whole makefile,  or the lines surrounding it. diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index 1c3ec2012118..2f8ea90ae21f 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -1,30 +1,9 @@  .\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\" -.\" Copyright (c) 2018-2022 Mateusz Piotrowski <0mp@FreeBSD.org> +.\" Copyright (c) 2018-2025 Mateusz Piotrowski <0mp@FreeBSD.org>  .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. +.\" SPDX-License-Identifier: BSD-2-Clause  .\" -.Dd December 21, 2024 +.Dd October 24, 2025  .Dt STYLE.MDOC 5  .Os  .Sh NAME @@ -71,6 +50,9 @@ Historically,  was the preferred way before the deprecation of  .Sy \&Li .  .El +.Ss Copyright Header +Refer to +.Xr style 9 .  .Ss HARDWARE Section  Driver manuals in section four should have a  .Sx HARDWARE diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 668f5aa23155..5170a27768b8 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -76,7 +76,7 @@ Pointers should not be cast to  or  .Vt size_t  if they will later be cast back to a pointer that is expected to be -dereferencable as they remain bare integer types on all architectures. +dereferenceable as they remain bare integer types on all architectures.  .Pp  On some architectures, e.g.,  AIM variants of diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 5e15a528246b..9adfd4bc8a63 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -202,7 +202,7 @@ package or port provides a more generic solution.  .It Cm buildenvvars  Print the shell variables that are set for a  .Cm buildenv -envirnoment and exit. +environment and exit.  .It Cm buildworld  Build everything but the kernel, configure files in  .Pa etc , @@ -732,7 +732,7 @@ See  .Xr src.conf 5  .It Va REPODIR  The root directory used to create the package repository for building -.Xr packges 7 . +.Xr packages 7 .  Defaults to  .Pa ${OBJROOT}/repo/ .  This can also be set in diff --git a/share/man/man7/d.7 b/share/man/man7/d.7 index c098958ffa56..59b3389b121b 100644 --- a/share/man/man7/d.7 +++ b/share/man/man7/d.7 @@ -3,7 +3,7 @@  .\"  .\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>  .\" -.Dd September 24, 2025 +.Dd October 28, 2025  .Dt D 7  .Os  .Sh NAME @@ -56,9 +56,9 @@ depends on  .Bl -column "thread-local" "Syntax"  .It Sy Type Ta Sy Syntax  .It global       Ta Va variable_name +.It aggregate    Ta Sy @ Ns Va variable_name  .It thread-local Ta Sy self-> Ns Va variable_name  .It clause-local Ta Sy this-> Ns Va variable_name -.It aggregate  Ta Sy @ Ns Va variable_name  .El  .Pp  .Em Tips : @@ -198,6 +198,130 @@ The number of nanoseconds since the Epoch  Suitable for timestamping logs.  .El  .Sh BUILT-IN FUNCTIONS +.\" Keep the indentation wide enough for the reader to be able to skim through +.\" function names quickly. +.Bl -tag -width "size_t strlen" +.It Ft string Fn strchr "string s" "char c" +Return a substring of +.Fa s +starting at the first occurance of +.Fa c +in +.Fa s . +Return +.Dv NULL +if +.Fa c +does not occur in +.Fa s . +.Pp +For example, +.Bd -literal -compact -offset indent +strchr("abc", 'b'); +.Ed +returns +.Ql "bc" +and +.Bd -literal -compact -offset indent +strchr("abc", 'd'); +.Ed +returns +.Dv NULL . +.It Ft string Fn strjoin "string s1" "string s2" +Return a string resulting from concatenating +.Fa s1 +and +.Fa s2 . +.Pp +For example, +.Bd -literal -compact -offset indent +strjoin("abc", "def") +.Ed +returns +.Ql abcdef . +.It Ft string Fn strrchr "string s" "char c" +Return a substring of +.Fa s +starting at the last occurance of +.Fa c +in +.Fa s . +Similar to +.Fn strchr . +.It Ft string Fn strstr "string haystack" "string needle" +Return a substring of +.Fa haystack +starting at the first occurrence of +.Fa needle . +Return +.Dv NULL +if +.Fa needle +is not a substring of +.Fa haystack . +.Pp +For example, +.Bd -literal -compact -offset indent +strstr("abc1bc2", "bc") +.Ed +returns +.Ql bc1bc2 +and +.Bd -literal -compact -offset indent +strstr("abc", "xy") +.Ed +returns +.Dv NULL . +.It Ft string Fn strtok "string s" "string separators" +Tokenize +.Fa s +with +.Fa separators . +.Pp +For example, +.Bd -literal -compact -offset indent +strtok("abcdefg", "xyzd") +.Ed +returns +.Ql abc . +.It Ft size_t Fn strlen "string s" +Return the length of string +.Fa s . +.It Ft string Fn substr "string s" "int position" "[int length]" +Return a +substring of string +.Fa s +starting at +.Fa position . +The substring will be at most +.Fa length Ns -long . +If +.Fa length +is not specified, use the rest of the string. +If +.Fa position +is greater than +the size of +.Fa s , +return an empty string. +.Pp +For example, +.Bd -literal -compact -offset indent +substr("abcd", 2) +.Ed +returns +.Ql cd , +.Bd -literal -compact -offset indent +substr("abcd", 2, 1) +.Ed +returns +.Ql c , +and +.Bd -literal -compact -offset indent +substr("abcd", 99) +.Ed +returns an empty string. +.El  .Ss Aggregation Functions  .Bl -tag -compact -width "llquantize(value, factor, low, high, nsteps)"  .It Fn avg value diff --git a/share/man/man7/release.7 b/share/man/man7/release.7 index 05f80374926f..2493a34721bc 100644 --- a/share/man/man7/release.7 +++ b/share/man/man7/release.7 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\"  .\" Copyright (c) 2002 Murray Stokely <murray@FreeBSD.org>  .\" All rights reserved.  .\" @@ -22,7 +25,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd September 11, 2025 +.Dd October 13, 2025  .Dt RELEASE 7  .Os  .Sh NAME @@ -136,6 +139,8 @@ configuration file supports the following variables:  .Bl -tag -width Ev  .It Va CHROOTDIR  The directory within which the release will be built. +Defaults to +.Pa /scratch .  .It Va CHROOT_MAKEENV  Additional  .Xr make 1 @@ -636,6 +641,7 @@ Typically, one only needs to set  .El  .Sh FILES  .Bl -tag -compact -width Pa +.It Pa /scratch  .It Pa /usr/doc/Makefile  .It Pa /usr/doc/share/mk/doc.project.mk  .It Pa /usr/ports/Mk/bsd.port.mk @@ -688,16 +694,10 @@ the Raspberry Pi, exist in the directory corresponding to the  .Va TARGET  .Xr make 1  variable. -For example, to build an image for the Raspberry Pi: -.Bd -literal -offset indent -cd /usr/src/release -sh release.sh -c arm/RPI-B.conf -.Ed -.Pp -To build an image for the Raspberry Pi 3: +For example, to build an image for 64-bit Raspberry Pis:  .Bd -literal -offset indent  cd /usr/src/release -sh release.sh -c arm64/RPI3.conf +sh release.sh -c arm64/RPI.conf  .Ed  .Pp  After running these commands, all prepared release files are available in the diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7 index d5092348d9b3..3343508df504 100644 --- a/share/man/man7/simd.7 +++ b/share/man/man7/simd.7 @@ -24,7 +24,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE  . -.Dd November 18, 2024 +.Dd October 21, 2025  .Dt SIMD 7  .Os  .Sh NAME @@ -50,38 +50,38 @@ can be used to override this mechanism.  .Pp  Enhanced functions are present for the following architectures:  .Bl -column FUNCTION_________ aarch64_ arm_ amd64_ i386_ ppc64_ -offset indent -.It Em FUNCTION          Ta Em AARCH64 Ta Em ARM Ta Em AMD64  Ta Em I386 Ta Em PPC64 +.It Em FUNCTION          Ta Em AARCH64 Ta Em ARM Ta Em AMD64  Ta Em I386 Ta Em PPC64 Ta Em RISC-V  .It    bcmp              Ta    A       Ta        Ta    S1     Ta    S -.It    bcopy             Ta    A       Ta    S   Ta    S      Ta    S    Ta    SV -.It    bzero             Ta    A       Ta    S   Ta    S      Ta    S +.It    bcopy             Ta    A       Ta    S   Ta    S      Ta    S    Ta    SV    Ta    S +.It    bzero             Ta    A       Ta    S   Ta    S      Ta    S    Ta          Ta    S  .It    div               Ta            Ta        Ta    S      Ta    S -.It    index             Ta    A       Ta        Ta    S1 +.It    index             Ta    A       Ta        Ta    S1                Ta          Ta    S  .It    ldiv              Ta            Ta        Ta    S      Ta    S  .It    lldiv             Ta            Ta        Ta    S -.It    memchr            Ta    A       Ta        Ta    S1 +.It    memchr            Ta    A       Ta        Ta    S1     Ta         Ta          Ta    S  .It    memcmp            Ta    A       Ta    S   Ta    S1     Ta    S  .It    memccpy           Ta    A       Ta        Ta    S1 -.It    memcpy            Ta    A       Ta    S   Ta    S      Ta    S    Ta    SV +.It    memcpy            Ta    A       Ta    S   Ta    S      Ta    S    Ta    SV    Ta    S  .It    memmove           Ta    A       Ta    S   Ta    S      Ta    S    Ta    SV  .It    memrchr           Ta    A       Ta        Ta    S1 -.It    memset            Ta    A       Ta    S   Ta    S      Ta    S -.It    rindex            Ta    A       Ta        Ta    S1     Ta    S +.It    memset            Ta    A       Ta    S   Ta    S      Ta    S    Ta          Ta    S +.It    rindex            Ta    A       Ta        Ta    S1     Ta    S    Ta          Ta    S  .It    stpcpy            Ta    A       Ta        Ta    S1  .It    stpncpy           Ta            Ta        Ta    S1  .It    strcat            Ta    A       Ta        Ta    S1     Ta    S -.It    strchr            Ta    A       Ta        Ta    S1     Ta    S -.It    strchrnul         Ta    A       Ta        Ta    S1 +.It    strchr            Ta    A       Ta        Ta    S1     Ta    S    Ta          Ta    S +.It    strchrnul         Ta    A       Ta        Ta    S1     Ta         Ta          Ta    S  .It    strcmp            Ta    A       Ta    S   Ta    S1     Ta    S  .It    strcpy            Ta    A       Ta        Ta    S1     Ta    S    Ta    S2  .It    strcspn           Ta    S       Ta        Ta    S2  .It    strlcat           Ta    A       Ta        Ta    S1  .It    strlcpy           Ta    A       Ta        Ta    S1 -.It    strlen            Ta    A       Ta    S   Ta    S1 +.It    strlen            Ta    A       Ta    S   Ta    S1     Ta         Ta          Ta    S  .It    strncat           Ta    A       Ta        Ta    S1  .It    strncmp           Ta    A       Ta    S   Ta    S1     Ta    S  .It    strncpy           Ta            Ta        Ta    S1     Ta         Ta    S2 -.It    strnlen           Ta    A       Ta        Ta    S1 -.It    strrchr           Ta    A       Ta        Ta    S1     Ta    S +.It    strnlen           Ta    A       Ta        Ta    S1     Ta         Ta          Ta    S +.It    strrchr           Ta    A       Ta        Ta    S1     Ta    S    Ta          Ta    S  .It    strpbrk           Ta    S       Ta        Ta    S2  .It    strsep            Ta    S       Ta        Ta    S2  .It    strspn            Ta    S       Ta        Ta    S2 @@ -207,10 +207,13 @@ for  .Fx 11.0  for  .Cm aarch64 , -and  .Fx 12.0  for -.Cm powerpc64 . +.Cm powerpc64 , +and +.Fx 16.0 +for +.Cm riscv64 .  SIMD-enhanced functions were first added with  .Fx 13.0  for diff --git a/share/man/man7/stats.7 b/share/man/man7/stats.7 index 715db70e118b..0b57d525522c 100644 --- a/share/man/man7/stats.7 +++ b/share/man/man7/stats.7 @@ -24,7 +24,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd April 22, 2021 +.Dd October 28, 2025  .Dt STATS 7  .Os  .Sh NAME @@ -100,6 +100,7 @@ Report ZFS I/O statistics  .Xr stat 1 ,  .Xr systat 1 ,  .Xr intro 7 , +.Xr tuning 7 ,  .Xr ctlstat 8 ,  .Xr gstat 8 ,  .Xr ibstat 8 , diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index ebba551f65d0..44c427c4559d 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd January 23, 2025 +.Dd October 28, 2025  .Dt TUNING 7  .Os  .Sh NAME @@ -678,6 +678,7 @@ over services you export from your box (web services, email).  .Xr firewall 7 ,  .Xr hier 7 ,  .Xr ports 7 , +.Xr stats 7 ,  .Xr boot 8 ,  .Xr bsdinstall 8 ,  .Xr ccdconfig 8 , diff --git a/share/man/man8/debug.sh.8 b/share/man/man8/debug.sh.8 index bf0fdbd6bcf5..3b59d6ae2e78 100644 --- a/share/man/man8/debug.sh.8 +++ b/share/man/man8/debug.sh.8 @@ -143,7 +143,7 @@ and defaults to  .It Ic DebugTrace Ar message  Debug output can be very noisy, and it can be tricky  to align with the script. -This function outputs a very noticable banner indicating the value of +This function outputs a very noticeable banner indicating the value of  .Va DEBUG_ON ,  and  .Ar message @@ -168,7 +168,7 @@ skipped/run when debugging is turned on.  .Va DEBUGGING  is the same as  .Va DEBUG_SKIP -for backwards compatability and is only set by +for backwards compatibility and is only set by  .Fn Debug .  .Pp  The use of diff --git a/share/man/man8/rc.subr.8 b/share/man/man8/rc.subr.8 index 1fd5041cecd8..45a9e9a684cd 100644 --- a/share/man/man8/rc.subr.8 +++ b/share/man/man8/rc.subr.8 @@ -1010,7 +1010,7 @@ However, if  fails, just return.  .Pp  .Ic DebugOn -will be called with tags derrived from +will be called with tags derived from  .Va name  and  .Va rc_arg diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index 3bccc92572d6..fecde7152f80 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1,6 +1,6 @@  .include <src.opts.mk> -PACKAGE=	kernel-man +MANPACKAGE=	kernel-man  MAN=	accept_filter.9 \  	accf_data.9 \ @@ -90,6 +90,7 @@ MAN=	accept_filter.9 \  	DECLARE_MODULE.9 \  	DEFINE_IFUNC.9 \  	DELAY.9 \ +	deadfs.9 \  	devclass.9 \  	devclass_find.9 \  	devclass_get_device.9 \ @@ -2207,6 +2208,7 @@ MLINKS+=syscall_helper_register.9 syscall_helper_unregister.9 \  	syscall_helper_register.9 SYSCALL_INIT_HELPER_COMPAT_F.9 \  	syscall_helper_register.9 SYSCALL_INIT_HELPER_F.9  MLINKS+=sysctl.9 SYSCTL_DECL.9 \ +	sysctl.9 SYSCTL_ADD_BOOL.9 \  	sysctl.9 SYSCTL_ADD_CONST_STRING.9 \  	sysctl.9 SYSCTL_ADD_INT.9 \  	sysctl.9 SYSCTL_ADD_LONG.9 \ @@ -2233,6 +2235,7 @@ MLINKS+=sysctl.9 SYSCTL_DECL.9 \  	sysctl.9 SYSCTL_ADD_UMA_CUR.9 \  	sysctl.9 SYSCTL_ADD_UMA_MAX.9 \  	sysctl.9 SYSCTL_ADD_UQUAD.9 \ +	sysctl.9 SYSCTL_BOOL.9 \  	sysctl.9 SYSCTL_CHILDREN.9 \  	sysctl.9 SYSCTL_STATIC_CHILDREN.9 \  	sysctl.9 SYSCTL_NODE_CHILDREN.9 \ diff --git a/share/man/man9/PCI_IOV_ADD_VF.9 b/share/man/man9/PCI_IOV_ADD_VF.9 index 512b0b8668cc..95bf5a218e8e 100644 --- a/share/man/man9/PCI_IOV_ADD_VF.9 +++ b/share/man/man9/PCI_IOV_ADD_VF.9 @@ -41,7 +41,7 @@ The  .Fn PCI_IOV_ADD_VF  method is called by the PCI Single-Root I/O Virtualization  .Pq SR-IOV -infrastructure when it is initializating a new Virtual Function (VF) as a child +infrastructure when it is initializing a new Virtual Function (VF) as a child  of the given Physical Function (PF) device.  This method will not be called until a successful call to  .Xr PCI_IOV_INIT 9 diff --git a/share/man/man9/VFS.9 b/share/man/man9/VFS.9 index a1d0a19bec13..6ea6570bbf6e 100644 --- a/share/man/man9/VFS.9 +++ b/share/man/man9/VFS.9 @@ -26,7 +26,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 February 9, 2010 +.Dd November 3, 2025  .Dt VFS 9  .Os  .Sh NAME @@ -42,6 +42,7 @@ function from  rather than implementing empty functions or casting to  .Fa eopnotsupp .  .Sh SEE ALSO +.Xr dtrace_vfs 4 ,  .Xr VFS_CHECKEXP 9 ,  .Xr VFS_FHTOVP 9 ,  .Xr VFS_MOUNT 9 , diff --git a/share/man/man9/VOP_OPENCLOSE.9 b/share/man/man9/VOP_OPENCLOSE.9 index 9a4f7069962d..672f9faa92f5 100644 --- a/share/man/man9/VOP_OPENCLOSE.9 +++ b/share/man/man9/VOP_OPENCLOSE.9 @@ -26,7 +26,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 December 2, 2009 +.Dd October 17, 2025  .Dt VOP_OPEN 9  .Os  .Sh NAME @@ -78,6 +78,17 @@ The access mode is a set of flags, including  .Dv FWRITE ,  .Dv O_NONBLOCK ,  .Dv O_APPEND . +.Pp +The thread +.Fa td +passed to +.Fn VOP_CLOSE +may be +.Ql NULL +if the last reference to the open file is released from a kernel context, e.g., +the destruction of a socket buffer containing the file reference in a +.Dv SCM_RIGHTS +message.  .Sh LOCKS  .Fn VOP_OPEN  expects diff --git a/share/man/man9/atomic.9 b/share/man/man9/atomic.9 index df24cd4a4d2b..b027a0ff0bca 100644 --- a/share/man/man9/atomic.9 +++ b/share/man/man9/atomic.9 @@ -182,35 +182,42 @@ This variant is the default.  The second variant has acquire semantics, and the third variant has release  semantics.  .Pp -When an atomic operation has acquire semantics, the operation must have +An atomic operation can only have +.Em acquire +semantics if it performs a load +from memory. +When an atomic operation has acquire semantics, a load performed as +part of the operation must have  completed before any subsequent load or store (by program order) is  performed.  Conversely, acquire semantics do not require that prior loads or stores have -completed before the atomic operation is performed. -An atomic operation can only have acquire semantics if it performs a load -from memory. +completed before a load from the atomic operation is performed.  To denote acquire semantics, the suffix  .Dq Li _acq  is inserted into the function name immediately prior to the  .Dq Li _ Ns Aq Fa type  suffix. -For example, to subtract two integers ensuring that the subtraction is +For example, to subtract two integers ensuring that the load of +the value from memory is  completed before any subsequent loads and stores are performed, use  .Fn atomic_subtract_acq_int .  .Pp +An atomic operation can only have +.Em release +semantics if it performs a store to memory.  When an atomic operation has release semantics, all prior loads or stores -(by program order) must have completed before the operation is performed. -Conversely, release semantics do not require that the atomic operation must +(by program order) must have completed before a store executed as part of +the operation that is performed. +Conversely, release semantics do not require that a store from the atomic +operation must  have completed before any subsequent load or store is performed. -An atomic operation can only have release semantics if it performs a store -to memory.  To denote release semantics, the suffix  .Dq Li _rel  is inserted into the function name immediately prior to the  .Dq Li _ Ns Aq Fa type  suffix.  For example, to add two long integers ensuring that all prior loads and -stores are completed before the addition is performed, use +stores are completed before the store of the result is performed, use  .Fn atomic_add_rel_long .  .Pp  When a release operation by one thread @@ -235,6 +242,33 @@ section.  However, they will not prevent the compiler or processor from moving loads  or stores into the critical section, which does not violate the semantics of  a mutex. +.Ss Architecture-dependent caveats for compare-and-swap +The +.Fn atomic_[f]cmpset_<type> +operations, specifically those without explicitly specified memory +ordering, are defined as relaxed. +Consequently, a thread's accesses to memory locations different from +that of the atomic operation can be reordered in relation to the +atomic operation. +.Pp +However, the implementation on the +.Sy amd64 +and +.Sy i386 +architectures provide sequentially consistent semantics. +In particular, the reordering mentioned above cannot occur. +.Pp +On the +.Sy arm64/aarch64 +architecture, the operation may include either acquire +semantics on the constituent load or release semantics +on the constituent store. +This means that accesses to other locations in program order +before the atomic, might be observed as executed after the load +that is the part of the atomic operation (but not after the store +from the operation due to release). +Similarly, accesses after the atomic might be observed as executed +before the store.  .Ss Thread Fence Operations  Alternatively, a programmer can use atomic thread fence operations to  constrain the reordering of accesses. @@ -272,7 +306,7 @@ In C11, a release fence by one thread synchronizes with an acquire fence by  another thread when an atomic load that is prior to the acquire fence (by  program order) reads the value written by an atomic store that is subsequent  to the release fence. -In constrast, in +In contrast, in  .Fx ,  because of the atomicity of ordinary, naturally  aligned loads and stores, fences can also be synchronized by ordinary loads diff --git a/share/man/man9/bhnd.9 b/share/man/man9/bhnd.9 index 722ae6b6a393..ed3007ea748d 100644 --- a/share/man/man9/bhnd.9 +++ b/share/man/man9/bhnd.9 @@ -2350,7 +2350,7 @@ function retains and returns a reference to the provider registered for  .Fa service  with the parent  .Xr bhnd 4 -bus of devce +bus of device  .Fa dev ,  if available.  On success, the caller is responsible for releasing this provider reference diff --git a/share/man/man9/bus_alloc_resource.9 b/share/man/man9/bus_alloc_resource.9 index 84a4c9c530c9..5d309229a34e 100644 --- a/share/man/man9/bus_alloc_resource.9 +++ b/share/man/man9/bus_alloc_resource.9 @@ -26,7 +26,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 May 20, 2016 +.Dd October 30, 2025  .Dt BUS_ALLOC_RESOURCE 9  .Os  .Sh NAME @@ -43,14 +43,14 @@  .In machine/resource.h  .Ft struct resource *  .Fo bus_alloc_resource -.Fa "device_t dev" "int type" "int *rid" "rman_res_t start" "rman_res_t end" +.Fa "device_t dev" "int type" "int rid" "rman_res_t start" "rman_res_t end"  .Fa "rman_res_t count" "u_int flags"  .Fc  .Ft struct resource * -.Fn bus_alloc_resource_any "device_t dev" "int type" "int *rid" "u_int flags" +.Fn bus_alloc_resource_any "device_t dev" "int type" "int rid" "u_int flags"  .Ft struct resource *  .Fo bus_alloc_resource_anywhere -.Fa "device_t dev" "int type" "int *rid" "rman_res_t count" "u_int flags" +.Fa "device_t dev" "int type" "int rid" "rman_res_t count" "u_int flags"  .Fc  .Sh DESCRIPTION  This is an easy interface to the resource-management functions. @@ -106,15 +106,13 @@ for I/O memory  .El  .It  .Fa rid -points to a bus specific handle that identifies the resource being allocated. +is a bus specific handle that identifies the resource being allocated.  For ISA this is an index into an array of resources that have been setup  for this device by either the PnP mechanism, or via the hints mechanism.  For PCCARD, this is an index into the array of resources described by the PC Card's  CIS entry.  For PCI, the offset into PCI config space which has the BAR to use to access  the resource. -The bus methods are free to change the RIDs that they are given as a parameter. -You must not depend on the value you gave it earlier.  .It  .Fa start  and @@ -175,20 +173,12 @@ A pointer to  is returned on success, a null pointer otherwise.  .Sh EXAMPLES  This is some example code that allocates a 32 byte I/O port range and an IRQ. -The values of -.Va portid -and -.Va irqid -should be saved in the softc of the device after these calls.  .Bd -literal  	struct resource *portres, *irqres; -	int portid, irqid; -	portid = 0; -	irqid = 0; -	portres = bus_alloc_resource(dev, SYS_RES_IOPORT, &portid, +	portres = bus_alloc_resource(dev, SYS_RES_IOPORT, 0,  			0ul, ~0ul, 32, RF_ACTIVE); -	irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, &irqid, +	irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, 0,  			RF_ACTIVE | RF_SHAREABLE);  .Ed  .Sh SEE ALSO diff --git a/share/man/man9/bus_attach_children.9 b/share/man/man9/bus_attach_children.9 index 5e3ca4c5e906..81a24a428d8e 100644 --- a/share/man/man9/bus_attach_children.9 +++ b/share/man/man9/bus_attach_children.9 @@ -105,7 +105,7 @@ Detached devices are not deleted.  .Pp  .Fn bus_detach_children  is typically called at the start of a bus driver's -.Xr DEVICE_ATTACH 9 +.Xr DEVICE_DETACH 9  method to give child devices a chance to veto the detach request.  It is usually paired with a later call to  .Fn device_delete_children 9 diff --git a/share/man/man9/bus_dma.9 b/share/man/man9/bus_dma.9 index b644eeb2a476..0bf27eb5eb22 100644 --- a/share/man/man9/bus_dma.9 +++ b/share/man/man9/bus_dma.9 @@ -197,7 +197,7 @@ in addition to restrictions that differ between unrelated groups of  transactions,  the driver can first create a  .Dq parent -tag that decribes the common restrictions. +tag that describes the common restrictions.  The per-group tags can then inherit these restrictions from this  .Dq parent  tag rather than having to list them explicitly when creating the per-group tags. @@ -733,7 +733,7 @@ Fills in the selected fields of the template with a variable number of  key-value parameters.  The macros listed below take an argument of the specified type and encapsulate  it into a key-value structure that is directly usable as a parameter argument. -Muliple parameters may be provided at once. +Multiple parameters may be provided at once.  .Bd -literal  	BD_PARENT()	void *  	BD_ALIGNMENT()	uintmax_t diff --git a/share/man/man9/copy.9 b/share/man/man9/copy.9 index 8b2d0dc67727..3a3105ddf644 100644 --- a/share/man/man9/copy.9 +++ b/share/man/man9/copy.9 @@ -43,7 +43,7 @@  .Nm copyout_nofault ,  .Nm copystr ,  .Nm copyinstr -.Nd heterogenous address space copy functions +.Nd heterogeneous address space copy functions  .Sh SYNOPSIS  .In sys/types.h  .In sys/systm.h diff --git a/share/man/man9/crypto_request.9 b/share/man/man9/crypto_request.9 index af62b9089561..77e6a60b46de 100644 --- a/share/man/man9/crypto_request.9 +++ b/share/man/man9/crypto_request.9 @@ -383,7 +383,7 @@ depending on whether the driver is implemented by software or hardware.  dispatches the request asynchronously.  If the driver is inherently synchronous, the request is queued to a taskqueue  backed by a pool of worker threads. -This can increase througput by allowing requests from a single producer to be +This can increase throughput by allowing requests from a single producer to be  processed in parallel.  By default the pool is sized to provide one thread for each CPU.  Worker threads dequeue requests and pass them to the driver asynchronously. diff --git a/share/man/man9/deadfs.9 b/share/man/man9/deadfs.9 new file mode 100644 index 000000000000..5f4d037a0f09 --- /dev/null +++ b/share/man/man9/deadfs.9 @@ -0,0 +1,36 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org> +.\" +.Dd October 24, 2025 +.Dt DEADFS 9 +.Os +.Sh NAME +.Nm deadfs +.Nd pseudo-filesystem to own reclaimed vnodes +.Sh DESCRIPTION +The +.Nm +file system implements operations that do not modify any data +and instead return indications of invalid IO. +Its role is to provide a fallback vnode operations vector for reclaimed +.Xr vnode 9 Ap s . +.Pp +It is a kernel-only pseudo-file system and so cannot be mounted from userspace. +.Sh SEE ALSO +.Xr insmntque 9 , +.Xr vnode 9 , +.Xr VOP_RECLAIM 9 +.Sh HISTORY +UNIX System Manager's Manual (SMM) for +.Bx 4.4 +described +.Nm +as a file system +.Dq where rejected vnodes go to die . +.Sh AUTHORS +The +.Nm +manual page was written by +.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org . diff --git a/share/man/man9/domain.9 b/share/man/man9/domain.9 index dab8cff89e12..d7e743eaf247 100644 --- a/share/man/man9/domain.9 +++ b/share/man/man9/domain.9 @@ -173,7 +173,7 @@ Once a domain is added it cannot be completely unloaded.  This is because there is  no reference counting system in place to determine if there are any  active references from sockets within that domain. -However, the exprimental +However, the experimental  .Fn domain_remove  exists, and unloadable domains may be supported in the future.  .Pp diff --git a/share/man/man9/efirt.9 b/share/man/man9/efirt.9 index c31f52bf2245..e085916801d5 100644 --- a/share/man/man9/efirt.9 +++ b/share/man/man9/efirt.9 @@ -183,7 +183,7 @@ is NULL.  .It Dv EIO  The variable could not be retrieved due to a hardware error.  .It Dv EDOOFUS -The variable could not be retireved due to an authentication failure. +The variable could not be retrieved due to an authentication failure.  .El  .Pp  The diff --git a/share/man/man9/g_bio.9 b/share/man/man9/g_bio.9 index 407c38e6ca70..fc278cd229a9 100644 --- a/share/man/man9/g_bio.9 +++ b/share/man/man9/g_bio.9 @@ -22,7 +22,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 August 7, 2019 +.Dd October 26, 2025  .Dt G_BIO 9  .Os  .Sh NAME @@ -309,6 +309,7 @@ example_start(struct bio *bp)  }  .Ed  .Sh SEE ALSO +.Xr dtrace_io 4 ,  .Xr geom 4 ,  .Xr DECLARE_GEOM_CLASS 9 ,  .Xr g_access 9 , diff --git a/share/man/man9/g_geom.9 b/share/man/man9/g_geom.9 index c5b0c0aded2d..99d0ba074e89 100644 --- a/share/man/man9/g_geom.9 +++ b/share/man/man9/g_geom.9 @@ -66,7 +66,7 @@ function is very similar to  .Fn g_new_geomf  except that it accepts a regular string instead of a  .Xr printf 3 Ns --like format strng as the geom's name. +-like format string as the geom's name.  .Pp  The  .Fn g_destroy_geom diff --git a/share/man/man9/gone_in.9 b/share/man/man9/gone_in.9 index 7521adfda204..1b60e1eb10c2 100644 --- a/share/man/man9/gone_in.9 +++ b/share/man/man9/gone_in.9 @@ -1,6 +1,6 @@  .\" Copyright (c) 2021 The FreeBSD Foundation  .\" -.\" This document was written by Ed Maste under sponsorhip from +.\" This document was written by Ed Maste under sponsorship from  .\" The FreeBSD Foundation.  .\"  .\" Redistribution and use in source and binary forms, with or without @@ -23,7 +23,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 August 16, 2021 +.Dd June 24, 2025  .Dt GONE_IN 9  .Os  .Sh NAME @@ -33,14 +33,15 @@  .Sh SYNOPSIS  .In sys/systm.h  .Ft void -.Fn gone_in "int major" "const char *msg" +.Fn gone_in "int major" "const char *msg" "..."  .Ft void -.Fn gone_in_dev "device_t dev" "int major" "const char *msg" +.Fn gone_in_dev "device_t dev" "int major" "const char *msg" "..."  .Sh DESCRIPTION  The -.Fn gone_in -functions are used to provide a notice that the kernel is using a driver or -some other functionality that is deprecated, and will be removed in a future +.Nm gone_in +functions are used to provide a notice that the kernel is actively using a +driver or some other functionality that is deprecated, and is planned for +removal in a future  .Fx  release.  The notice is sent to the kernel @@ -51,30 +52,29 @@ The  argument specifies the major version of the  .Fx  release that will remove the deprecated functionality. +The notice shall be printed only once, thus +.Nm +functions are safe to use in often executed code paths. +.Pp +.Nm gone_in_dev +will prepend driver name before the notice.  .Pp  In releases before  .Fa major -the deprecation notice states -.Do -Deprecated code (to be removed in FreeBSD -.Fa major Ns ): -.Fa msg -.Dc . -In releases equal to and after -.Fa major -the notice states +the provided notice will be appended with  .Do -Obsolete code will be removed soon: -.Fa msg +To be removed in FreeBSD +.Fa major Ns  .Dc .  .Sh EXAMPLES  .Bd -literal -offset indent  void -sample_init(void) +example_api(foo_t *args)  { -	/* Initializaiton code omitted. */ +	gone_in(16, "Warning! %s[%u] uses obsolete API. ", +	    curthread->td_proc->p_comm, curthread->td_proc->p_pid); -	gone_in(14, "Giant-locked filesystem"); +	/* API implementation omitted. */  }  int @@ -82,7 +82,7 @@ example_driver_attach(struct example_driver_softc *sc)  {  	/* Attach code omitted. */ -        gone_in_dev(sc->dev, 14, "Giant-locked driver"); +        gone_in_dev(sc->dev, 16, "driver is deprecated");  }  .Ed  .Sh HISTORY diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9 index 3c45e4f29e2d..e81c2990c13c 100644 --- a/share/man/man9/ifnet.9 +++ b/share/man/man9/ifnet.9 @@ -482,7 +482,7 @@ This is initialized by driver at attach.  .It Fn if_getaddrlen  .It Fn if_gethwaddr  .It Fn if_getbroadcastaddr Fn if_setbroadcastaddr -Access the interface broadcast addess. +Access the interface broadcast address.  .It Fn if_setmtu  .It Fn if_getmtu  Access the interface MTU. diff --git a/share/man/man9/insmntque.9 b/share/man/man9/insmntque.9 index 869d8767632b..33ba697b10b9 100644 --- a/share/man/man9/insmntque.9 +++ b/share/man/man9/insmntque.9 @@ -24,7 +24,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH  .\" DAMAGE.  .\" -.Dd January 29, 2022 +.Dd October 24, 2025  .Dt INSMNTQUE 9  .Os  .Sh NAME @@ -56,7 +56,7 @@ The vnode must be exclusively locked.  .Pp  On failure,  .Fn insmntque -resets vnode' operation vector to the vector of +resets vnode's operations vector to the vector of  .Xr deadfs 9 ,  clears  .Va v_data , @@ -71,7 +71,7 @@ failure is needed, the  function may be used instead.  It does not do any cleanup following a failure, leaving all  the work to the caller. -In particular, the operation vector +In particular, the operations vector  .Va v_op  and  .Va v_data diff --git a/share/man/man9/nvmem.9 b/share/man/man9/nvmem.9 index 812cd09a5e35..fa88cbb91854 100644 --- a/share/man/man9/nvmem.9 +++ b/share/man/man9/nvmem.9 @@ -59,19 +59,19 @@ Get the size of the cell base on the reg property on the node.  Return the size or ENOENT if the cell name wasn't found  .It Fn nvmem_read_cell_by_name "phandle_t node" "const char *name" "void *cell" "size_t buflen"  Get the cell content based on the name. -Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found, +Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,  EINVAL if the size isn't correct.  .It Fn nvmem_read_cell_by_idx "phandle_t node" "int idx" "void *cell" "size_t buflen"  Get the cell content based on the id. -Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found, +Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,  EINVAL if the size isn't correct.  .It Fn nvmem_write_cell_by_name "phandle_t node" "const char *name" "void *cell" "size_t buflen"  Write the cell content based on the name. -Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found, +Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,  EINVAL if the size isn't correct.  .It Fn nvmem_write_cell_by_idx "phandle_t node" "int idx" "void *cell" "size_t buflen"  Write the cell content based on the id. -Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found, +Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,  EINVAL if the size isn't correct.  .El  .Sh DEVICE METHODS diff --git a/share/man/man9/ofw_bus_is_compatible.9 b/share/man/man9/ofw_bus_is_compatible.9 index 1b44807e84e8..fcfe8755cf86 100644 --- a/share/man/man9/ofw_bus_is_compatible.9 +++ b/share/man/man9/ofw_bus_is_compatible.9 @@ -61,7 +61,7 @@ older revisions of the driver.  If hardware revision B is backward compatible with revision  A device tree node can signal this compatibility by  providing both "vndr,hrdwrA" and "vndr,hrdwrB" strings in -the "compatibile" property value. +the "compatible" property value.  This way older driver can use features available only in  revision A, and the new version of the driver can take  advantage of revision B feature set. diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9 index eeb62a63a2bd..871f69f887a6 100644 --- a/share/man/man9/pci.9 +++ b/share/man/man9/pci.9 @@ -523,7 +523,7 @@ device is not a PCI-express device,  returns zero.  When completion timeouts are disabled for  .Fa dev , -this function returns the maxmimum timeout that would be used if timeouts +this function returns the maximum timeout that would be used if timeouts  were enabled.  .Pp  The diff --git a/share/man/man9/refcount.9 b/share/man/man9/refcount.9 index 78631f9a865a..7375f429a607 100644 --- a/share/man/man9/refcount.9 +++ b/share/man/man9/refcount.9 @@ -106,7 +106,7 @@ but additionally checks that the  value does not overflow as result of the operation.  It returns  .Dv true -if the reference was sucessfully obtained, and +if the reference was successfully obtained, and  .Dv false  if it was not, due to the overflow.  .Pp diff --git a/share/man/man9/seqc.9 b/share/man/man9/seqc.9 index e13d73ecb5d7..b1e59b6b7af1 100644 --- a/share/man/man9/seqc.9 +++ b/share/man/man9/seqc.9 @@ -81,7 +81,7 @@ repeated.  In case when sequence number is odd the object change is in progress and the  reader will wait until the write will the sequence number will become even.  .Sh EXAMPLES -The following example for a writer changees the +The following example for a writer changes the  .Va var1  and  .Va var2 diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index 26c7a3b2aa64..c9c3af23864a 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -816,7 +816,7 @@ If no local variables are declared, the first line should be a statement.  Older versions of this  .Nm  document required a blank line before code. -Such lines should be removed when signficant changes are made to the code. +Such lines should be removed when significant changes are made to the code.  .Pp  Use  .Xr printf 3 , @@ -947,7 +947,7 @@ namespace foo::bar {  .Ed  .Pp  Member function declarations should follow the same style used for standalone -function protoypes except that a space should be used between a function's +function prototypes except that a space should be used between a function's  return type and name.  .Pp  Function definitions at the top level should use a newline after the function diff --git a/share/man/man9/uio.9 b/share/man/man9/uio.9 index e6240c4e51d3..b143eb6e8e62 100644 --- a/share/man/man9/uio.9 +++ b/share/man/man9/uio.9 @@ -23,7 +23,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 March 11, 2017 +.Dd October 22, 2025  .Dt UIO 9  .Os  .Sh NAME @@ -107,10 +107,14 @@ The I/O vector points into the kernel address space.  Do not copy, already in object.  .El  .It Va uio_rw -The direction of the desired transfer, either -.Dv UIO_READ -or -.Dv UIO_WRITE . +The direction of the desired transfer. +The supported flags are: +.Bl -tag -width "UIO_WRITE" +.It Dv UIO_READ +Transfer data from the buffers into the I/O vectors. +.It Dv UIO_WRITE +Transfer data from the I/O vectors into the buffers. +.El  .It Va uio_td  The pointer to a  .Vt "struct thread" diff --git a/share/man/man9/vn_fullpath.9 b/share/man/man9/vn_fullpath.9 index 9815abc3c86c..af459ed281c0 100644 --- a/share/man/man9/vn_fullpath.9 +++ b/share/man/man9/vn_fullpath.9 @@ -107,7 +107,7 @@ than one name (hard links), not all file systems use the name cache  be used for more than one file (in the context of file systems covering  other file systems); a file may have no name (if deleted but still  open or referenced). -However, the resulting string may still be more useable to a user than +However, the resulting string may still be more usable to a user than  a vnode pointer value, or a device number and inode number.  Code consuming the results of this function should anticipate (and  properly handle) failure. @@ -187,7 +187,7 @@ otherwise, an error number is returned.  .Xr free 9  .Sh AUTHORS  .An -nosplit -This manual page was initally written by +This manual page was initially written by  .An Robert Watson Aq Mt rwatson@FreeBSD.org  to describe the  .Fn vn_fullpath  | 
