opnsense-src/lib/libc/sys
Gleb Smirnoff 1bda3fae78 tcp: don't ever return ECONNRESET on close(2)
The SUS doesn't mention this error code as a possible one [1]. The FreeBSD
manual page specifies a possible ECONNRESET for close(2):

[ECONNRESET]	The underlying object was a stream socket that was
		shut down by the peer before all pending data was
		delivered.

In the past it had been EINVAL (see 21367f630d), and this EINVAL was
added as a safety measure in 623dce13c6.  After conversion to
ECONNRESET it had been documented in the manual page in 78e3a7fdd5, but
I bet wasn't ever tested to actually be ever returned, cause the
tcp-testsuite[2] didn't exist back then.  So documentation is incorrect
since 2006, if my bet wins.  Anyway, in the modern FreeBSD the condition
described above doesn't end up with ECONNRESET error code from close(2).
The error condition is reported via SO_ERROR socket option, though.  This
can be checked using the tcp-testsuite, temporarily disabling the
getsockopt(SO_ERROR) lines using sed command [3].  Most of these
getsockopt(2)s are followed by '+0.00 close(3) = 0', which will confirm
that close(2) doesn't return ECONNRESET even on a socket that has the
error stored, neither it is returned in the case described in the manual
page.  The latter case is covered by multiple tests residing in tcp-
testsuite/state-event-engine/rcv-rst-*.

However, the deleted block of code could be entered in a race condition
between close(2) and processing of incoming packet, when connection had
already been half-closed with shutdown(SHUT_WR) and sits in TCPS_LAST_ACK.
This was reported in the bug 146845.  With the block deleted, we will
continue into tcp_disconnect() which has proper handling of INP_DROPPED.

The race explanation follows.  The connection is in TCPS_LAST_ACK.  The
network input thread acquires the tcpcb lock first, sets INP_DROPPED,
acquires the socket lock in soisdisconnected() and clears SS_ISCONNECTED.
Meanwhile, the syscall thread goes through sodisconnect() which checks for
SS_ISCONNECTED locklessly(!).  The check passes and the thread blocks on
the tcpcb lock in tcp_usr_disconnect().  Once input thread releases the
lock, the syscall thread observes INP_DROPPED and returns ECONNRESET.

- Thread 1: tcp_do_segment()->tcp_close()->in_pcbdrop(),soisdisconnected()
- Thread 2: sys_close()...->soclose()->sodisconnect()->tcp_usr_disconnect()

Note that the lockless operation in sodisconnect() isn't correct, but
enforcing the socket lock there will not fix the problem.

[1] https://pubs.opengroup.org/onlinepubs/9799919799/
[2] https://github.com/freebsd-net/tcp-testsuite
[3] sed -i "" -Ee '/\+0\.00 getsockopt\(3, SOL_SOCKET, SO_ERROR, \[ECONNRESET\]/d' $(grep -lr ECONNRESET tcp-testsuite)

PR:			146845
Reviewed by:		tuexen, rrs, imp
Differential Revision:	https://reviews.freebsd.org/D48148

(cherry picked from commit 053a988497342a6fd0a717cc097d09c23f83e103)
2025-03-31 10:31:21 -07:00
..
__error.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
__vdso_gettimeofday.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
_exit.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
_umtx_op.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
abort2.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
accept.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
accept.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
accept4.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
access.2 faccessat(2): Honor AT_SYMLINK_NOFOLLOW 2024-09-26 09:13:50 -04:00
acct.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
adjtime.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
aio_cancel.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_error.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_fsync.2 Remove _POSIX_PRIORITIZED_IO references from man pages 2024-01-19 18:52:18 -07:00
aio_mlock.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_read.2 Document aio_read2/aio_write2 2024-02-18 12:01:46 +02:00
aio_return.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_suspend.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_suspend.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
aio_waitcomplete.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_write.2 Document aio_read2/aio_write2 2024-02-18 12:01:46 +02:00
bind.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
bindat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
brk.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
brk.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
cap_enter.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_fcntls_limit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_ioctls_limit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_rights_limit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
chdir.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chflags.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chmod.2 unix: Add support for atomically setting the socket mode 2024-12-03 01:03:26 +00:00
chown.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chroot.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
clock_gettime.2 clock_gettime.2: fix markup 2024-05-10 09:01:52 -04:00
clock_gettime.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
clock_nanosleep.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
close.2 tcp: don't ever return ECONNRESET on close(2) 2025-03-31 10:31:21 -07:00
close.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
closefrom.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
closefrom.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
compat-ino64.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
compat-stub.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
connect.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
connect.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
connectat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
copy_file_range.2 copy_file_range.2: Clarify that only regular files work 2024-01-10 17:13:23 -08:00
cpuset.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cpuset_getaffinity.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cpuset_getdomain.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dup.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
eventfd.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
execve.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
extattr_get_file.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fcntl.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fcntl.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fdatasync.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ffclock.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fhlink.2 manuals: Fix errors in .2 pages 2024-11-04 11:56:24 -04:00
fhopen.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fhreadlink.2 fhreadlink.2: fix old typo in the manpage 2024-11-28 14:53:17 +02:00
flock.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fork.2 fork: Document _Fork (and fork) as POSIX 2024 2024-11-20 19:45:07 -05:00
fork.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fspacectl.2 spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
fstat.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
fstatat.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
fstatfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
fsync.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
fsync.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getdents.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getdirentries.2 getdirentries.2: Reference dir(5) 2023-09-12 13:48:18 +02:00
getdirentries.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
getdtablesize.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getfh.2 manuals: Fix errors in .2 pages 2024-11-04 11:56:24 -04:00
getfsstat.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getfsstat.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
getgid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getgroups.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getitimer.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getlogin.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getloginclass.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getpeername.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getpgrp.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getpid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getpriority.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getrandom.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getrlimit.2 getrlimit(2): document RLIMIT_PIPEBUF 2024-10-05 10:08:54 +03:00
getrlimitusage.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
getrusage.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getsid.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getsockname.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getsockopt.2 socket: Add an option to retrieve a socket's FIB number 2025-02-21 01:04:50 +00:00
gettimeofday.2 gettimeofday.2: Do mention improbable future removal 2024-05-04 15:05:09 +02:00
gettimeofday.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getuid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
interposing_table.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
intro.2 intro.2 as errno.2: Update maximum hard link limit 2024-05-20 21:15:00 -06:00
ioctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
issetugid.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
jail.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kcmp.2 kcmp: Add a manual page 2024-01-31 09:16:29 -05:00
kenv.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kevent.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
kill.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
kldfind.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kldfirstmod.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kldload.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kldnext.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kldstat.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kldsym.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kldunload.2 linker: Make linker.h more self-contained 2024-11-09 01:10:14 +00:00
kqueue.2 kqueue.2: Editorial pass 2025-03-03 11:56:20 -05:00
ktrace.2 ktrace.2: correct kern.ktrace.genio_size sysctl name 2023-10-13 10:12:34 -04:00
link.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
lio_listio.2 lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset 2024-02-18 12:01:46 +02:00
listen.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
lseek.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
lstat.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
madvise.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
Makefile.inc kqueue.2: Editorial pass 2025-03-03 11:56:20 -05:00
membarrier.2 membarrier: Add manual page 2024-10-20 23:32:46 -04:00
mincore.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
minherit.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mkdir.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mkfifo.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mknod.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mknod.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mlock.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mlockall.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mmap.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
modfind.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
modnext.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
modstat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mount.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mprotect.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mq_close.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_getattr.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_notify.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_open.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_receive.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_send.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_setattr.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_unlink.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
msgctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
msgget.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
msgrcv.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
msgsnd.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
msync.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
msync.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
munmap.2 munmap.2: Remove EINVAL for negative len 2025-01-20 09:25:14 -05:00
nanosleep.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
nanosleep.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
nfssvc.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
ntp_adjtime.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
open.2 open.2: minor editing 2025-03-07 07:23:08 +02:00
open.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
openat.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
pathconf.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
pdfork.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
pdfork.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
pipe.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
pipe.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
poll.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
poll.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
POSIX2x_Fork.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
posix_fadvise.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
posix_fallocate.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
posix_openpt.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
ppoll.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
procctl.2 procctl.2: Editing pass 2024-12-27 10:43:26 -05:00
profil.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
pselect.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
pselect.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ptrace.2 manuals: Fix errors in .2 pages 2024-11-04 11:56:24 -04:00
ptrace.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
quotactl.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
rctl_add_rule.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
read.2 read.2: Describe debug.iosize_max_clamp 2024-02-14 05:41:54 +02:00
read.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
readlink.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
readv.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
reboot.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
recv.2 recv.2: Improve style in RETURN VALUES 2025-02-26 20:44:37 -05:00
recvfrom.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
recvmsg.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
rename.2 rename(2): Extend EINVAL's description 2024-09-01 03:53:36 +03:00
revoke.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
rfork.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
rmdir.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
rtprio.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sched_get_priority_max.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sched_getcpu.3 sched_getcpu: Add man page 2024-12-04 13:32:58 -05:00
sched_setparam.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sched_setscheduler.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sched_yield.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sctp_generic_recvmsg.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sctp_generic_sendmsg.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sctp_peeloff.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
select.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
select.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
semctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
semget.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
semop.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
send.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sendfile.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sendmsg.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sendto.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
setcontext.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
setfib.2 setfib.2: Note that the number of FIBs can be adjusted after boot 2025-02-07 14:46:53 +00:00
setgroups.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setpgid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setregid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setresuid.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
setreuid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setsid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setuid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
shm_open.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shm_open.c memfd_create: move implementation to libc/gen 2023-12-21 18:13:18 +00:00
shmat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shmctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shmget.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shutdown.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigaction.2 sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is 2024-01-19 18:51:27 -07:00
sigaction.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigaltstack.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigfastblock.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
sigpending.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigprocmask.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigprocmask.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigqueue.2 sigqueue(2): Document __SIGQUEUE_TID 2024-04-30 03:48:09 +03:00
sigreturn.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigstack.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigsuspend.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigsuspend.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigtimedwait.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigwait.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sigwait.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigwaitinfo.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sigwaitinfo.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
socket.2 manuals: Fix "unusual .Xr" warnings with a script 2024-11-04 12:13:13 -04:00
socketpair.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
stat.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
stat.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
statfs.2 statfs.2: document missing user-visible MNT flags 2025-02-23 02:30:51 +02:00
statfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
swapcontext.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
swapon.2 manuals: Misc macro typos 2024-12-27 10:40:05 -05:00
Symbol.map Userspace enablement for getrlimitusage(2) 2024-10-05 10:08:55 +03:00
symlink.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sync.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sysarch.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
syscall.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
thr_exit.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
thr_kill.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
thr_new.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
thr_self.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
thr_set_name.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
thr_suspend.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
thr_wake.2 Canonicalize the name of the FreeBSD Foundation 2025-02-19 09:58:47 -05:00
timer_create.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timer_delete.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timer_settime.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timerfd.2 timerfd.2: Remove a double word 2024-04-23 07:22:46 +02:00
truncate.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
umask.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
undelete.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
unlink.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
utimensat.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
utimes.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
utrace.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
uuidgen.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
vadvise.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vfork.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
wait.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
wait4.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wait6.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
write.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
write.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
writev.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00