]> git.ipfire.org Git - thirdparty/man-pages.git/log
thirdparty/man-pages.git
4 years agouserfaultfd.2: Add write-protect mode
Peter Xu [Mon, 5 Apr 2021 13:13:06 +0000 (15:13 +0200)] 
userfaultfd.2: Add write-protect mode

Write-protect mode is supported starting from Linux 5.7.

Acked-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agouserfaultfd.2: Add UFFD_FEATURE_THREAD_ID docs
Peter Xu [Mon, 5 Apr 2021 13:13:05 +0000 (15:13 +0200)] 
userfaultfd.2: Add UFFD_FEATURE_THREAD_ID docs

UFFD_FEATURE_THREAD_ID is supported since Linux 4.14.

Acked-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
[alx: srcfix]
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoscanf.3: Clarify that %n supports type modifiers
Alyssa Ross [Mon, 5 Apr 2021 13:13:04 +0000 (15:13 +0200)] 
scanf.3: Clarify that %n supports type modifiers

My initial reading of this was that type modifiers were probably
not supported.  But they are, and this is actually documented
further up, in the type modifiers documentation.  But to make it
clearer, let's copy the language that printf(3) has in its %n
section.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoshm_open.3: wfix
Michael Kerrisk [Mon, 5 Apr 2021 19:40:01 +0000 (21:40 +0200)] 
shm_open.3: wfix

Reported-by: Jon Murphy <jonmurphy1618@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoio_cancel.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:41 +0000 (13:58 +0200)] 
io_cancel.2: Use syscall(SYS_...); for system calls without a wrapper

In this case there's a wrapper provided by libaio,
but this page documents the raw kernel syscall.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoinit_module.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:40 +0000 (13:58 +0200)] 
init_module.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agodelete_module.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:39 +0000 (13:58 +0200)] 
delete_module.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoget_robust_list.2: ffix
Michael Kerrisk [Mon, 5 Apr 2021 11:39:12 +0000 (13:39 +0200)] 
get_robust_list.2: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoget_robust_list.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:38 +0000 (13:58 +0200)] 
get_robust_list.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agogetunwind.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:37 +0000 (13:58 +0200)] 
getunwind.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexit_group.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:29 +0000 (13:58 +0200)] 
exit_group.2: Use syscall(SYS_...); for system calls without a wrapper

<linux/unistd.h> is not needed.  We need <unistd.h> for syscall(),
and <sys/syscall.h> for SYS_exit_group.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexecveat.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:27 +0000 (13:58 +0200)] 
execveat.2: Use syscall(SYS_...); for system calls without a wrapper

Add <linux/fcntl.h>, which contains AT_* definitions used by
execveat().

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclone.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:24 +0000 (13:58 +0200)] 
clone.2: Use syscall(SYS_...); for system calls without a wrapper

The CLONE_* constants seem to be available from either
<linux/sched.h> or <sched.h>, and since clone3() already
includes <linux/sched.h> for 'struct clone_args', <sched.h>
is not really needed, AFAICS; however, to avoid confusion,
I also included <sched.h> for clone3() for consistency:

clone() is getting CLONE_* from <sched.h>, and it would confuse
the reader if clone3() got the same CLONE_* constants from a
different header.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agocapget.2: Minor tweaks to Alex Colomar's patch
Michael Kerrisk [Mon, 5 Apr 2021 11:29:05 +0000 (13:29 +0200)] 
capget.2: Minor tweaks to Alex Colomar's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agocapget.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:23 +0000 (13:58 +0200)] 
capget.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoarch_prctl.2: SYNOPSIS: Remove unused includes
Alejandro Colomar [Sun, 4 Apr 2021 11:58:22 +0000 (13:58 +0200)] 
arch_prctl.2: SYNOPSIS: Remove unused includes

AFAICS, there's no reason to include that.
All of the macros that this function uses
are already defined in the other headers.

Cc: glibc <libc-alpha@sourceware.org>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoarch_prctl.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:21 +0000 (13:58 +0200)] 
arch_prctl.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoalloc_hugepages.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:20 +0000 (13:58 +0200)] 
alloc_hugepages.2: Use syscall(SYS_...); for system calls without a wrapper

The page didn't specify includes, and the syscalls are extinct, so
instead of adding incomplete information about includes, just
leave it without any includes.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoaccess.2: Use syscall(SYS_...); for system calls without a wrapper
Alejandro Colomar [Sun, 4 Apr 2021 11:58:18 +0000 (13:58 +0200)] 
access.2: Use syscall(SYS_...); for system calls without a wrapper

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fideduperange.2: Minor tweaks to Alex Colomar's patch
Michael Kerrisk [Mon, 5 Apr 2021 11:15:31 +0000 (13:15 +0200)] 
ioctl_fideduperange.2: Minor tweaks to Alex Colomar's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fideduperange.2: Make clear why exactly is each header needed
Alejandro Colomar [Sun, 4 Apr 2021 11:58:45 +0000 (13:58 +0200)] 
ioctl_fideduperange.2: Make clear why exactly is each header needed

Only the include that provides the prototype doesn't need a comment.

Also sort the includes alphabetically.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_ficlonerange.2: Make clear why is each header exactly needed.
Alejandro Colomar [Sun, 4 Apr 2021 11:58:44 +0000 (13:58 +0200)] 
ioctl_ficlonerange.2: Make clear why is each header exactly needed.

Only the one that provides the prototype doesn't need a comment.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fslabel.2: ffix
Alejandro Colomar [Sun, 4 Apr 2021 11:58:46 +0000 (13:58 +0200)] 
ioctl_fslabel.2: ffix

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_getfsmap.2: Minor tweaks to Alex Colomar's patch
Michael Kerrisk [Mon, 5 Apr 2021 11:08:58 +0000 (13:08 +0200)] 
ioctl_getfsmap.2: Minor tweaks to Alex Colomar's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_getfsmap.2: Make clear why exactly is each header needed
Alejandro Colomar [Sun, 4 Apr 2021 11:58:48 +0000 (13:58 +0200)] 
ioctl_getfsmap.2: Make clear why exactly is each header needed

<linux/fs.h> doesn't seem to be needed!
Only the include that provides the prototype doesn't need a comment.

Also sort the includes alphabetically.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fslabel.2: Make clear why exactly is each header needed
Alejandro Colomar [Sun, 4 Apr 2021 11:58:47 +0000 (13:58 +0200)] 
ioctl_fslabel.2: Make clear why exactly is each header needed

Only the include that provides the prototype doesn't need a comment.

Also sort the includes alphabetically.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fat.2: Minor tweaks to Alex Colomar's patch
Michael Kerrisk [Mon, 5 Apr 2021 11:02:23 +0000 (13:02 +0200)] 
ioctl_fat.2: Minor tweaks to Alex Colomar's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fat.2: tfix
Alejandro Colomar [Sun, 4 Apr 2021 11:58:43 +0000 (13:58 +0200)] 
ioctl_fat.2: tfix

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoioctl_fat.2: Make clear why is each header exactly needed.
Alejandro Colomar [Sun, 4 Apr 2021 11:58:42 +0000 (13:58 +0200)] 
ioctl_fat.2: Make clear why is each header exactly needed.

Only the one that provides the prototype doesn't need a comment.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agodup.2: SYNOPSIS: Use consistent comments through pages
Alejandro Colomar [Sun, 4 Apr 2021 11:58:26 +0000 (13:58 +0200)] 
dup.2: SYNOPSIS: Use consistent comments through pages

[mtk: Alex's change switches the comment to the more generally used
form "Definition of..."]

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agofanotify_init.2: Add comment: why more than one include is needed
Alejandro Colomar [Sun, 4 Apr 2021 11:58:30 +0000 (13:58 +0200)] 
fanotify_init.2: Add comment: why more than one include is needed

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agogetpriority.2: Remove unused include
Alejandro Colomar [Sun, 4 Apr 2021 11:58:35 +0000 (13:58 +0200)] 
getpriority.2: Remove unused include

<sys/time.h> is not needed to get the function declaration nor any
constant used by the function.  It was only needed (before
POSIX.1) to get 'struct timeval', but that information would be
more suited for system_data_types(7), and not for this page.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agodelete_module.2: Add missing include
Alejandro Colomar [Sun, 4 Apr 2021 11:58:25 +0000 (13:58 +0200)] 
delete_module.2: Add missing include

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agogetrlimit.2, getrusage.2: Remove unused include
Alejandro Colomar [Sun, 4 Apr 2021 11:58:36 +0000 (13:58 +0200)] 
getrlimit.2, getrusage.2: Remove unused include

<sys/time.h> is not required by any of the function declarations
or macro definitions used by these functions.  It may be (or maybe
not) needed by some type inside the rlimit structure, but that
info belongs in system_data_types(7), not here.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoadd_key.2: Remove unused include
Alejandro Colomar [Sun, 4 Apr 2021 11:58:19 +0000 (13:58 +0200)] 
add_key.2: Remove unused include

<sys/types.h> was only needed for size_t, AFAIK.  That is already
(and more precisely) documented in system_data_types(7).  Let's
remove it here, as it's not really needed for calling add_key().

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agofcntl.2: Remove unused include
Alejandro Colomar [Sun, 4 Apr 2021 11:58:31 +0000 (13:58 +0200)] 
fcntl.2: Remove unused include

I couldn't find a reason for including <unistd.h>.  All the macros
used by fcntl() are defined in <fcntl.h>.  For comparison, FreeBSD
and OpenBSD don't specify <unistd.h> in their manual pages.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexit_group.2: Use 'noreturn' in prototypes
Alejandro Colomar [Sun, 4 Apr 2021 11:58:28 +0000 (13:58 +0200)] 
exit_group.2: Use 'noreturn' in prototypes

This function never returns to its caller.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agofutimesat.2: ffix
Alejandro Colomar [Sun, 4 Apr 2021 11:58:33 +0000 (13:58 +0200)] 
futimesat.2: ffix

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosocklen_t.3: New link to system_data_types(7)
Alejandro Colomar [Sat, 3 Apr 2021 19:39:56 +0000 (21:39 +0200)] 
socklen_t.3: New link to system_data_types(7)

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosystem_data_types.7: Add 'socklen_t'
Alejandro Colomar [Sat, 3 Apr 2021 19:39:55 +0000 (21:39 +0200)] 
system_data_types.7: Add 'socklen_t'

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosockaddr.3: New link to system_data_types(7)
Alejandro Colomar [Sat, 3 Apr 2021 19:39:54 +0000 (21:39 +0200)] 
sockaddr.3: New link to system_data_types(7)

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosystem_data_types.7: Add 'struct sockaddr'
Alejandro Colomar [Sat, 3 Apr 2021 19:39:53 +0000 (21:39 +0200)] 
system_data_types.7: Add 'struct sockaddr'

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoerrno.3: Fix ENODATA text
Alejandro Colomar [Sat, 20 Mar 2021 20:01:16 +0000 (21:01 +0100)] 
errno.3: Fix ENODATA text

ENODATA is an XSI STREAMS extension (not base POSIX).

Linux reused the name for extended attributes.
The current manual pages don't use ENODATA with its POSIX
meaning, so use the xattr(7) specific text, and leave the POSIX
meaning for a secondary paragraph.

Reported-by: Mark Kettenis <kettenis@openbsd.org>
Reported-by: Florian Weimer <fw@deneb.enyo.de>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexec.3: Clarify that execvpe uses PATH from the caller, not envp
Josh Triplett [Fri, 19 Mar 2021 23:57:16 +0000 (00:57 +0100)] 
exec.3: Clarify that execvpe uses PATH from the caller, not envp

Checked via the latest glibc source. execvpe calls getenv("PATH") and
searches that; the PATH in envp does not affect the search.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoset_mempolicy.2: srcfix
Michael Kerrisk [Sun, 4 Apr 2021 20:07:31 +0000 (22:07 +0200)] 
set_mempolicy.2: srcfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoset_mempolicy.2: Add mode flag MPOL_F_NUMA_BALANCING
Huang Ying [Fri, 19 Mar 2021 23:57:12 +0000 (00:57 +0100)] 
set_mempolicy.2: Add mode flag MPOL_F_NUMA_BALANCING

In Linux kernel 5.12, a new mode flag, MPOL_F_NUMA_BALANCING, is
added to set_mempolicy() to optimize the page placement among the
NUMA nodes with the NUMA balancing mechanism even if the memory of
the applications is bound with MPOL_BIND.  This patch updates the
man page for the new mode flag.

Related kernel commits:
bda420b985054a3badafef23807c4b4fa38a3dff

[mtk: Minor fixes to commit message]

Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
Cc: "Michael Kerrisk" <mtk.manpages@gmail.com>
[ alx: srcfix ]
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexec.3: Fix description of 'e' variants
Josh Triplett [Fri, 19 Mar 2021 23:57:14 +0000 (00:57 +0100)] 
exec.3: Fix description of 'e' variants

The envp argument specifies the environment of the new process image,
not "the environment of the caller".

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoprintf.3: Minor wording tweaks to Utkarsh's patch
Alejandro Colomar [Fri, 19 Mar 2021 23:57:20 +0000 (00:57 +0100)] 
printf.3: Minor wording tweaks to Utkarsh's patch

The format string refers to the whole string passed in 'format'.
The syntax referred to is that of a conversion specification,
as called in the manual page.
Use specific language.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoprintf.3: Add overall structure of format string
Utkarsh Singh [Fri, 19 Mar 2021 23:57:18 +0000 (00:57 +0100)] 
printf.3: Add overall structure of format string

Can we add a small syntax structure for format string in printf(3)
manual.  I personally find if easier to remember and scan.  This has
been taken from OpenBSD printf(3) manual.

Signed-off-by: Utkarsh Singh <utkarsh190601@gmail.com>
[ alx: ffix ]
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoenviron.7: Remove obsolete admonishment of the GZIP environment variable
Josh Triplett [Fri, 19 Mar 2021 23:57:22 +0000 (00:57 +0100)] 
environ.7: Remove obsolete admonishment of the GZIP environment variable

gzip deprecated the GZIP environment variable long ago.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
[ alx: srcfix ]
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agommap.2: Clarify that MAP_POPULATE is best-effort
Bruce Merry [Tue, 23 Mar 2021 07:48:31 +0000 (09:48 +0200)] 
mmap.2: Clarify that MAP_POPULATE is best-effort

As discussed on linux-mm
(https://marc.info/?l=linux-mm&m=161528594100612&w=2), MAP_POPULATE can
fail silently if the hugetlb cgroup settings allow huge page reservation
but prevents huge pages being allocated.

Closes https://bugzilla.kernel.org/show_bug.cgi?id=212153.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowrite.2: wfix
Michael Kerrisk [Fri, 2 Apr 2021 10:28:00 +0000 (12:28 +0200)] 
write.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agolisten.2: wfix
Michael Kerrisk [Fri, 26 Mar 2021 11:05:15 +0000 (12:05 +0100)] 
listen.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years ago_exit.2: Add a little more detail on the raw _exit() system cal
Michael Kerrisk [Thu, 25 Mar 2021 08:32:30 +0000 (09:32 +0100)] 
_exit.2: Add a little more detail on the raw _exit() system cal

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agodup.2: Further clarify the effect of dup2()
Michael Kerrisk [Tue, 23 Mar 2021 10:33:40 +0000 (11:33 +0100)] 
dup.2: Further clarify the effect of dup2()

Add a sentence explaining what dup2() does in terms of file
descriptors and open file descriptions.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agodup.2: Clarify what silent closing means
Michael Kerrisk [Tue, 23 Mar 2021 10:27:39 +0000 (11:27 +0100)] 
dup.2: Clarify what silent closing means

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoopen.2: Make it clearer that an FD is an index into the process's FD table
Michael Kerrisk [Tue, 23 Mar 2021 10:05:24 +0000 (11:05 +0100)] 
open.2: Make it clearer that an FD is an index into the process's FD table

Sometimes people are confused, thinking a file descriptor is just a
number.  To help avoid such confusions, add text highlighting that
a file descriptor is an index to an entry in the process's FD table.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agodup.2: Rewrite the description of dup() somewhat
Michael Kerrisk [Tue, 23 Mar 2021 09:35:38 +0000 (10:35 +0100)] 
dup.2: Rewrite the description of dup() somewhat

As can be seen by any number of StackOverflow questions, people
persistently misunderstand what dup() does, and the existing manual
page text, which talks of "copying" a file descriptor doesn't help.
Rewrite the text a little to try to prevent some of these
misunderstandings, in particular noting at the start that dup()
allocates a new file descriptor.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoStart of man-pages-5.12: updating Changes and Changes.old
Michael Kerrisk [Mon, 22 Mar 2021 10:19:38 +0000 (11:19 +0100)] 
Start of man-pages-5.12: updating Changes and Changes.old

4 years agoStart of man-pages-5.12: updating .Announce and .lsm files
Michael Kerrisk [Mon, 22 Mar 2021 10:19:38 +0000 (11:19 +0100)] 
Start of man-pages-5.12: updating .Announce and .lsm files

4 years agoStart of man-pages-5.12: renaming .Announce and .lsm files
Michael Kerrisk [Mon, 22 Mar 2021 10:19:38 +0000 (11:19 +0100)] 
Start of man-pages-5.12: renaming .Announce and .lsm files

4 years agoReady for 5.11 man-pages-5.11
Michael Kerrisk [Mon, 22 Mar 2021 06:38:11 +0000 (07:38 +0100)] 
Ready for 5.11

4 years agoChanges: whitespace cleanups
Michael Kerrisk [Mon, 22 Mar 2021 06:38:01 +0000 (07:38 +0100)] 
Changes: whitespace cleanups

4 years agogetent.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, _exit...
Michael Kerrisk [Sun, 21 Mar 2021 23:15:34 +0000 (00:15 +0100)] 
getent.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, add_key.2, adjtimex.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, bpf.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, close_range.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, fanotify_init.2, fanotify_mark.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_rm_watch.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_fslabel.2, ioctl_getfsmap.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, openat2.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pidfd_getfd.2, pidfd_open.2, pidfd_send_signal.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, request_key.2, restart_syscall.2, rmdir.2, rt_sigqueueinfo.2, s390_guarded_storage.2, s390_pci_mmio_write.2, s390_runtime_instr.2, s390_sthyi.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, stime.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cexp2.3, cfree.3, cimag.3, circleq.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, fileno.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fopencookie.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getutmp.3, getw.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, group_member.3, gsignal.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, isalpha.3, isatty.3, isfdtype.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, list.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_hook.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setsigmask_np.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_mutex_consistent.3, pthread_mutexattr_getpshared.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_spin_init.3, pthread_spin_lock.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, readdir_r.3, realpath.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sincos.3, sinh.3, sleep.3, slist.3, sockatmark.3, sqrt.3, stailq.3, statvfs.3, stdarg.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tailq.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, uselocale.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console_codes.4, dsp56k.4, hpsa.4, initrd.4, loop.4, lp.4, msr.4, random.4, rtc.4, smartpqi.4, veth.4, wavelan.4, acct.5, core.5, elf.5, hosts.5, locale.5, proc.5, resolv.conf.5, rpc.5, slabinfo.5, sysfs.5, tmpfs.5, utmp.5, address_families.7, aio.7, attributes.7, bootparam.7, capabilities.7, cgroups.7, complex.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, hier.7, inode.7, inotify.7, ip.7, ipv6.7, keyrings.7, locale.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, namespaces.7, netdevice.7, netlink.7, numa.7, packet.7, pkeys.7, pthreads.7, queue.7, raw.7, rtnetlink.7, sched.7, session-keyring.7, shm_overview.7, sigevent.7, signal-safety.7, signal.7, sock_diag.7, socket.7, spufs.7, symlink.7, system_data_types.7, tcp.7, time_namespaces.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, user_namespaces.7, vdso.7, vsock.7, x25.7, iconvconfig.8, ld.so.8, ldconfig.8, sln.8, tzselect.8: tstamp

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoChanges: Ready for 5.11
Michael Kerrisk [Sun, 21 Mar 2021 22:50:36 +0000 (23:50 +0100)] 
Changes: Ready for 5.11

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agouser_namespaces.7: CAP_SYS_ADMIN now allows mounting of overlayfs fileseystems
Michael Kerrisk [Sun, 21 Mar 2021 15:43:39 +0000 (16:43 +0100)] 
user_namespaces.7: CAP_SYS_ADMIN now allows mounting of overlayfs fileseystems

Reported by: Szunti <szunti@gmail.com>
Reported by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose_range.2: Correct the explanation of the EMFILE error
Michael Kerrisk [Sun, 21 Mar 2021 15:32:20 +0000 (16:32 +0100)] 
close_range.2: Correct the explanation of the EMFILE error

close_range() CLOSE_RANGE_USHARE triggers a call to dup_fd()
which in turn calls alloc_fdtable(), which checks that
sysctl_nr_open has not been exceeded.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose_range.2: Minor wording fix
Michael Kerrisk [Sun, 21 Mar 2021 14:52:48 +0000 (15:52 +0100)] 
close_range.2: Minor wording fix

Reported-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose_range.2: Include a better example program
Michael Kerrisk [Sun, 14 Feb 2021 22:04:45 +0000 (23:04 +0100)] 
close_range.2: Include a better example program

The current example program can't really be used to demonstrate the
effect of close_range(). Replace it by a program that does show the
effect of this system call.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose.2: SEE ALSO: add close_range(2)
Michael Kerrisk [Sun, 14 Feb 2021 12:21:52 +0000 (13:21 +0100)] 
close.2: SEE ALSO: add close_range(2)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose_range.2: Minor tweaks to Stephen Kitt's patch
Michael Kerrisk [Sun, 24 Jan 2021 14:53:53 +0000 (15:53 +0100)] 
close_range.2: Minor tweaks to Stephen Kitt's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose_range.2: New page documenting close_range(2)
Stephen Kitt [Sat, 23 Jan 2021 16:11:54 +0000 (17:11 +0100)] 
close_range.2: New page documenting close_range(2)

This documents close_range(2) based on information in
278a5fbaed89dacd04e9d052f4594ffd0e0585de,
60997c3d45d9a67daf01c56d805ae4fec37e0bd8, and
582f1fb6b721facf04848d2ca57f34468da1813e.

Reported-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Stephen Kitt <steve@sk2.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoVarious pages: Remove unused <sys/types.h>
Alejandro Colomar [Sun, 14 Mar 2021 16:01:35 +0000 (17:01 +0100)] 
Various pages: Remove unused <sys/types.h>

The manual pages are already inconsistent in which headers need
to be included.  Right now, not all of the types used by a
function have their required header included in the SYNOPSIS.

If we were to add the headers required by all of the types used by
functions, the SYNOPSIS would grow too much.  Not only it would
grow too much, but the information there would be less precise.

Having system_data_types(7) document each type with all the
information about required includes is much more precise, and the
info is centralized so that it's much easier to maintain.

So let's document only the include required for the function
prototype, and also the ones required for the macros needed to
call the function.

<sys/types.h> only defines types, not functions or constants, so
it doesn't belong to man[23] (function) pages at all.

I ignore if some old systems had headers that required you to
include <sys/types.h> *before* them (incomplete headers), but if
so, those implementations would be broken, and those headers
should probably provide some kind of warning.  I hope this is not
the case.

[mtk: Already in 2001, POSIX.1 removed the requirement to
include <sys/types.h> for many APIs, so this patch seems
well past due.]

Acked-by: Zack Weinberg <zackw@panix.com>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowprintf.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Sat, 13 Mar 2021 15:06:53 +0000 (16:06 +0100)] 
wprintf.3: SYNOPSIS: Use 'restrict' in prototypes

POSIX uses 'restrict' in *wprintf() (see [v]fwprintf(3p)).
Let's use it here too.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoscandir.3: ffix
Michael Kerrisk [Sun, 14 Mar 2021 21:05:46 +0000 (22:05 +0100)] 
scandir.3: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agorcmd.3: ffix
Michael Kerrisk [Sun, 14 Mar 2021 21:03:46 +0000 (22:03 +0100)] 
rcmd.3: ffix

In SYNOPSIS, shift arguments right a little to make the function
names stand out a little more.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowordexp.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:30 +0000 (23:33 +0100)] 
wordexp.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wordexp().
Let's use it here too.

.../glibc$ grep_glibc_prototype wordexp
posix/wordexp.h:62:
extern int wordexp (const char *__restrict __words,
    wordexp_t *__restrict __pwordexp, int __flags);
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowmemcpy.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:29 +0000 (23:33 +0100)] 
wmemcpy.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wmemcpy().
Let's use it here too.

.../glibc$ grep_glibc_prototype wmemcpy
wcsmbs/wchar.h:262:
extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
 const wchar_t *__restrict __s2, size_t __n) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcstombs.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:28 +0000 (23:33 +0100)] 
wcstombs.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcstombs().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcstombs
stdlib/stdlib.h:937:
extern size_t wcstombs (char *__restrict __s,
const wchar_t *__restrict __pwcs, size_t __n)
     __THROW
  __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcstok.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:27 +0000 (23:33 +0100)] 
wcstok.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcstok().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcstok
wcsmbs/wchar.h:217:
extern wchar_t *wcstok (wchar_t *__restrict __s,
const wchar_t *__restrict __delim,
wchar_t **__restrict __ptr) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcstoimax.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:26 +0000 (23:33 +0100)] 
wcstoimax.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcstoimax(), wcstoumax().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcstoimax
stdlib/inttypes.h:305:
extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr,
   __gwchar_t **__restrict __endptr, int __base)
     __THROW;
.../glibc$ grep_glibc_prototype wcstoumax
stdlib/inttypes.h:310:
extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr,
    __gwchar_t ** __restrict __endptr, int __base)
     __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcsrtombs.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:25 +0000 (23:33 +0100)] 
wcsrtombs.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcsrtombs().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcsrtombs
wcsmbs/wchar.h:343:
extern size_t wcsrtombs (char *__restrict __dst,
 const wchar_t **__restrict __src, size_t __len,
 mbstate_t *__restrict __ps) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcsnrtombs.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:24 +0000 (23:33 +0100)] 
wcsnrtombs.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcsnrtombs().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcsnrtombs
wcsmbs/wchar.h:357:
extern size_t wcsnrtombs (char *__restrict __dst,
  const wchar_t **__restrict __src,
  size_t __nwc, size_t __len,
  mbstate_t *__restrict __ps) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcsncpy.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:23 +0000 (23:33 +0100)] 
wcsncpy.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcsncpy().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcsncpy
wcsmbs/wchar.h:92:
extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
 const wchar_t *__restrict __src, size_t __n)
     __THROW __nonnull ((1, 2));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcsncat.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:22 +0000 (23:33 +0100)] 
wcsncat.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcsncat().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcsncat
wcsmbs/wchar.h:101:
extern wchar_t *wcsncat (wchar_t *__restrict __dest,
 const wchar_t *__restrict __src, size_t __n)
     __THROW __nonnull ((1, 2));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcscpy.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:21 +0000 (23:33 +0100)] 
wcscpy.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcscpy().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcscpy
wcsmbs/wchar.h:87:
extern wchar_t *wcscpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src)
     __THROW __nonnull ((1, 2));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcscat.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:20 +0000 (23:33 +0100)] 
wcscat.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcscat().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcscat
wcsmbs/wchar.h:97:
extern wchar_t *wcscat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src)
     __THROW __nonnull ((1, 2));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcrtomb.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:19 +0000 (23:33 +0100)] 
wcrtomb.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcrtomb().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcrtomb
wcsmbs/wchar.h:301:
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
       mbstate_t *__restrict __ps) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcpncpy.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:18 +0000 (23:33 +0100)] 
wcpncpy.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcpncpy().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcpncpy
wcsmbs/wchar.h:556:
extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
 const wchar_t *__restrict __src, size_t __n)
     __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agowcpcpy.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:17 +0000 (23:33 +0100)] 
wcpcpy.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in wcpcpy().
Let's use it here too.

.../glibc$ grep_glibc_prototype wcpcpy
wcsmbs/wchar.h:551:
extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agounlocked_stdio.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:16 +0000 (23:33 +0100)] 
unlocked_stdio.3: SYNOPSIS: Use 'restrict' in prototypes

glibc uses 'restrict' in fread_unlocked(), fwrite_unlocked(), fgets_unlocked(), fputs_unlocked(), fgetws_unlocked(), fputws_unlocked().
Let's use it here too.

.../glibc$ grep_glibc_prototype fread_unlocked
libio/stdio.h:678:
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
      size_t __n, FILE *__restrict __stream) __wur;
.../glibc$ grep_glibc_prototype fwrite_unlocked
libio/stdio.h:680:
extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
       size_t __n, FILE *__restrict __stream);
.../glibc$ grep_glibc_prototype fgets_unlocked
libio/stdio.h:591:
extern char *fgets_unlocked (char *__restrict __s, int __n,
     FILE *__restrict __stream) __wur
    __attr_access ((__write_only__, 1, 2));
.../glibc$ grep_glibc_prototype fputs_unlocked
libio/stdio.h:667:
extern int fputs_unlocked (const char *__restrict __s,
   FILE *__restrict __stream);
.../glibc$ grep_glibc_prototype fgetws_unlocked
wcsmbs/wchar.h:820:
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
 __FILE *__restrict __stream);
.../glibc$ grep_glibc_prototype fputws_unlocked
wcsmbs/wchar.h:829:
extern int fputws_unlocked (const wchar_t *__restrict __ws,
    __FILE *__restrict __stream);
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Thu, 11 Mar 2021 22:33:15 +0000 (23:33 +0100)] 
tsearch.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in tdelete().
Let's use it here too.

.../glibc$ grep_glibc_prototype tdelete
misc/search.h:138:
extern void *tdelete (const void *__restrict __key,
      void **__restrict __rootp,
      __compar_fn_t __compar);
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoscanf.3: SYNOPSIS: Use 'restrict' in prototypes; ffix too.
Alejandro Colomar [Thu, 11 Mar 2021 22:33:14 +0000 (23:33 +0100)] 
scanf.3: SYNOPSIS: Use 'restrict' in prototypes; ffix too.

Both POSIX and glibc use 'restrict' in scanf(), fscanf(), sscanf(), vscanf(), vfscanf(), vsscanf().
Let's use it here too.

.../glibc$ grep_glibc_prototype scanf
libio/stdio.h:397:
extern int scanf (const char *__restrict __format, ...) __wur;
.../glibc$ grep_glibc_prototype fscanf
libio/stdio.h:391:
extern int fscanf (FILE *__restrict __stream,
   const char *__restrict __format, ...) __wur;
.../glibc$ grep_glibc_prototype sscanf
libio/stdio.h:399:
extern int sscanf (const char *__restrict __s,
   const char *__restrict __format, ...) __THROW;
.../glibc$ grep_glibc_prototype vscanf
libio/stdio.h:443:
extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
.../glibc$ grep_glibc_prototype vfscanf
libio/stdio.h:435:
extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
    __gnuc_va_list __arg)
     __attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
.../glibc$ grep_glibc_prototype vsscanf
libio/stdio.h:447:
extern int vsscanf (const char *__restrict __s,
    const char *__restrict __format, __gnuc_va_list __arg)
     __THROW __attribute__ ((__format__ (__scanf__, 2, 0)));
.../glibc$

Also reorder v* functions to match the order of non-v functions.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosigwait.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Wed, 10 Mar 2021 18:31:33 +0000 (19:31 +0100)] 
sigwait.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in sigwait().
Let's use it here too.

.../glibc$ grep_glibc_prototype sigwait
signal/signal.h:255:
extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig)
     __nonnull ((1, 2));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosigwait.3: ffix
Michael Kerrisk [Sun, 14 Mar 2021 20:47:02 +0000 (21:47 +0100)] 
sigwait.3: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoswab.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Wed, 10 Mar 2021 18:31:50 +0000 (19:31 +0100)] 
swab.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in swab().
Let's use it here too.

.../glibc$ grep_glibc_prototype swab
posix/unistd.h:1147:
extern void swab (const void *__restrict __from, void *__restrict __to,
  ssize_t __n) __THROW __nonnull ((1, 2))
    __attr_access ((__read_only__, 1, 3))
    __attr_access ((__write_only__, 2, 3));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agostrxfrm.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Wed, 10 Mar 2021 18:31:49 +0000 (19:31 +0100)] 
strxfrm.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in strxfrm().
Let's use it here too.

.../glibc$ grep_glibc_prototype strxfrm
string/string.h:150:
extern size_t strxfrm (char *__restrict __dest,
       const char *__restrict __src, size_t __n)
    __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agostrtol.3, strtoul.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Wed, 10 Mar 2021 18:31:48 +0000 (19:31 +0100)] 
strtol.3, strtoul.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in strtol(), strtoll(), strtoul(), strtoull().
Let's use it here too.

.../glibc$ grep_glibc_prototype strtol
stdlib/stdlib.h:176:
extern long int strtol (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
     __THROW __nonnull ((1));
.../glibc$ grep_glibc_prototype strtoll
stdlib/stdlib.h:199:
__extension__
extern long long int strtoll (const char *__restrict __nptr,
      char **__restrict __endptr, int __base)
     __THROW __nonnull ((1));
.../glibc$ grep_glibc_prototype strtoul
stdlib/stdlib.h:180:
extern unsigned long int strtoul (const char *__restrict __nptr,
  char **__restrict __endptr, int __base)
     __THROW __nonnull ((1));
.../glibc$ grep_glibc_prototype strtoull
stdlib/stdlib.h:204:
__extension__
extern unsigned long long int strtoull (const char *__restrict __nptr,
char **__restrict __endptr, int __base)
     __THROW __nonnull ((1));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agostrtok.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Wed, 10 Mar 2021 18:31:47 +0000 (19:31 +0100)] 
strtok.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in strtok(), strtok_r().
Let's use it here too.

.../glibc$ grep_glibc_prototype strtok
string/string.h:340:
extern char *strtok (char *__restrict __s, const char *__restrict __delim)
     __THROW __nonnull ((2));
.../glibc$ grep_glibc_prototype strtok_r
string/string.h:350:
extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
       char **__restrict __save_ptr)
     __THROW __nonnull ((2, 3));
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agostrtoimax.3: SYNOPSIS: Use 'restrict' in prototypes
Alejandro Colomar [Wed, 10 Mar 2021 18:31:46 +0000 (19:31 +0100)] 
strtoimax.3: SYNOPSIS: Use 'restrict' in prototypes

Both POSIX and glibc use 'restrict' in strtoimax(), strtoumax().
Let's use it here too.

.../glibc$ grep_glibc_prototype strtoimax
stdlib/inttypes.h:297:
extern intmax_t strtoimax (const char *__restrict __nptr,
   char **__restrict __endptr, int __base) __THROW;
.../glibc$ grep_glibc_prototype strtoumax
stdlib/inttypes.h:301:
extern uintmax_t strtoumax (const char *__restrict __nptr,
    char ** __restrict __endptr, int __base) __THROW;
.../glibc$

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>