]> git.ipfire.org Git - thirdparty/man-pages.git/log
thirdparty/man-pages.git
4 years agoexecve.2, setfsgid.2, setfsuid.2, splice.2, fopen.3, malloc_trim.3, posix_memalign...
Michael Kerrisk [Thu, 9 May 2019 07:43:09 +0000 (09:43 +0200)] 
execve.2, setfsgid.2, setfsuid.2, splice.2, fopen.3, malloc_trim.3, posix_memalign.3, stdarg.3, sysconf.3, tsearch.3, elf.5, hostname.7, inode.7: tstamp

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoChanges: Read for 5.01
Michael Kerrisk [Thu, 9 May 2019 07:36:19 +0000 (09:36 +0200)] 
Changes: Read for 5.01

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoconsole_codes.4: tfix
Jakub Wilk [Sat, 9 Mar 2019 14:55:03 +0000 (15:55 +0100)] 
console_codes.4: tfix

Add missing periods.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoconsole_codes.4: Document that \e[1;n] and \e[2;n] support 16 colors
Jakub Wilk [Sat, 9 Mar 2019 14:55:02 +0000 (15:55 +0100)] 
console_codes.4: Document that \e[1;n] and \e[2;n] support 16 colors

Source: setterm_command() in drivers/tty/vt/vt.c

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agointro.1, execve.2, getcontext.3, passwd.5, bpf-helpers.7: wfix
Jakub Wilk [Sat, 16 Mar 2019 14:15:40 +0000 (15:15 +0100)] 
intro.1, execve.2, getcontext.3, passwd.5, bpf-helpers.7: wfix

Use gender-neutral pronouns.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotwalk_r.3: New link to twalk(3) page
Michael Kerrisk [Sun, 5 May 2019 23:30:23 +0000 (18:30 -0500)] 
twalk_r.3: New link to twalk(3) page

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: Minor tweak to Florian's patch
Michael Kerrisk [Sat, 4 May 2019 22:50:09 +0000 (17:50 -0500)] 
tsearch.3: Minor tweak to Florian's patch

Use consistent argument names in twalk() and twalk_r().

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: Reformat twalk() and twalk_r() prototypes for easier readability
Michael Kerrisk [Sat, 4 May 2019 22:48:45 +0000 (17:48 -0500)] 
tsearch.3: Reformat twalk() and twalk_r() prototypes for easier readability

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: SYNOPSIS: clarify that twalk_r() requires _GNU_SOURCE
Michael Kerrisk [Sat, 4 May 2019 22:42:57 +0000 (17:42 -0500)] 
tsearch.3: SYNOPSIS: clarify that twalk_r() requires _GNU_SOURCE

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: Minor tweaks to Florian Weimer's patch
Michael Kerrisk [Sat, 4 May 2019 22:32:23 +0000 (17:32 -0500)] 
tsearch.3: Minor tweaks to Florian Weimer's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: Document the twalk_r() function added in glibc 2.30
Florian Weimer [Fri, 3 May 2019 10:01:59 +0000 (12:01 +0200)] 
tsearch.3: Document the twalk_r() function added in glibc 2.30

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: Do not use const arguments in twalk() callback
Florian Weimer [Fri, 3 May 2019 09:49:21 +0000 (11:49 +0200)] 
tsearch.3: Do not use const arguments in twalk() callback

The const specifier is not part of the prototype (it only applies to the
implementation), so showing it here confuses the reader.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosched_setaffinity.2: Correct details of return value of sched_getaffinity() syscall
Michael Kerrisk [Sun, 5 May 2019 18:02:30 +0000 (13:02 -0500)] 
sched_setaffinity.2: Correct details of return value of sched_getaffinity() syscall

Things changed a little with:

    commit cd3d8031eb4311e516329aee03c79a08333141f1
    Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Date:   Fri Mar 12 16:15:36 2010 +0900

Reported-by: Brice Goglin <Brice.Goglin@inria.fr>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosysconf.3: Clearly note that _SC_PAGESIZE and _SC_PAGE_SIZE are synonyms
Michael Kerrisk [Sun, 5 May 2019 17:32:52 +0000 (12:32 -0500)] 
sysconf.3: Clearly note that _SC_PAGESIZE and _SC_PAGE_SIZE are synonyms

Reported-by: Hugues Evrard <hevrard@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agostdarg.3: Remove the NOTES section describing the ancient varargs macros
Michael Kerrisk [Sun, 5 May 2019 17:09:55 +0000 (12:09 -0500)] 
stdarg.3: Remove the NOTES section describing the ancient varargs macros

stdarg.h is now 30 years old, and gcc long ago (2004) ceased to
implement <varargs.h>. There seems little value in keeping this
text.

See https://bugzilla.kernel.org/show_bug.cgi?id=202907

Reported-by: Vincent Lefevre <vincent@vinc17.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoCPU_SET.3: wfix
Seth Troisi [Sun, 5 May 2019 15:42:23 +0000 (10:42 -0500)] 
CPU_SET.3: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexecve.2: wfix
Michael Kerrisk [Sun, 5 May 2019 12:36:37 +0000 (07:36 -0500)] 
execve.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoexecve.2: Note that stack+environ size is also limited to 3/4 of _STK_LIM
Michael Kerrisk [Sun, 5 May 2019 12:34:13 +0000 (07:34 -0500)] 
execve.2: Note that stack+environ size is also limited to 3/4 of _STK_LIM

In fs/exec.c::prepare_arg_pages(), we have:

        limit = _STK_LIM / 4 * 3;
        limit = min(limit, bprm->rlim_stack.rlim_cur / 4);

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoclose.2: srcfix (comment on EINTR error)
Michael Kerrisk [Sun, 5 May 2019 11:14:45 +0000 (06:14 -0500)] 
close.2: srcfix (comment on EINTR error)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotee.2: EAGAIN can occur when called on nonblocking file descriptors
Slavomir Kaslev [Fri, 12 Apr 2019 14:02:47 +0000 (17:02 +0300)] 
tee.2: EAGAIN can occur when called on nonblocking file descriptors

Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agosplice.2: EAGAIN can occur when called on nonblocking file descriptors
Slavomir Kaslev [Fri, 12 Apr 2019 14:02:46 +0000 (17:02 +0300)] 
splice.2: EAGAIN can occur when called on nonblocking file descriptors

Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agoposix_memalign.3: Some functions set errno
Elliot Hughes [Fri, 19 Apr 2019 20:25:21 +0000 (13:25 -0700)] 
posix_memalign.3: Some functions set errno

True of bionic, glibc, and musl. (I didn't check elsewhere.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agotsearch.3: SYNOPSIS: add missing definition of 'VISIT' type
Michael Kerrisk [Sat, 4 May 2019 22:18:57 +0000 (17:18 -0500)] 
tsearch.3: SYNOPSIS: add missing definition of 'VISIT' type

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agohostname.7: HOSTALIASES/search path processing is DNS-specific
Florian Weimer [Tue, 23 Apr 2019 09:11:33 +0000 (11:11 +0200)] 
hostname.7: HOSTALIASES/search path processing is DNS-specific

Other NSS modules do not necessarily honor these settings.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agomallinfo.3: Further discourage use of mallinfo()
Elliott Hughes [Tue, 30 Apr 2019 19:36:46 +0000 (12:36 -0700)] 
mallinfo.3: Further discourage use of mallinfo()

The BUGS section already explains why you need to be cautious
about using mallinfo, but given the number of bug reports we see
on Android, it seems not many people are reading that far. Call it
out up front.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agomount_namespaces.7: Minor fix: remove a crufty sentence
Michael Kerrisk [Sat, 4 May 2019 12:58:17 +0000 (07:58 -0500)] 
mount_namespaces.7: Minor fix: remove a crufty sentence

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
4 years agomount_namespaces.7: wfix: "parent directory" ==> "parent mount"
Michael Kerrisk [Sat, 4 May 2019 12:57:39 +0000 (07:57 -0500)] 
mount_namespaces.7: wfix: "parent directory" ==> "parent mount"

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosetfsuid.2: wfix
Michael Kerrisk [Thu, 25 Apr 2019 21:06:50 +0000 (16:06 -0500)] 
setfsuid.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoelf.5: A data segment does not have PF_X
Michael Kerrisk [Mon, 15 Apr 2019 15:09:32 +0000 (17:09 +0200)] 
elf.5: A data segment does not have PF_X

Reported-by: Keegan Saunders <keeganwsaunders@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoclone.2: CLONE_CHILD_SETTID has effect before clone() returns *in the child*
Michael Kerrisk [Sun, 14 Apr 2019 17:34:35 +0000 (19:34 +0200)] 
clone.2: CLONE_CHILD_SETTID has effect before clone() returns *in the child*

CLONE_CHILD_SETTID may not have had effect by the time clone()
returns in the parent, which could bre relevant if the
CLONE_VM flag is employed. The relevant kernel code is in
schedule_tail(), which is called in ret_from_fork()
in the child.

See https://bugzilla.kernel.org/show_bug.cgi?id=203105

Demonstration using the program shown below (inspired by a simpler
example from Jakub):

$ ./a.out
parent start: ctid =     0    ptid =  6212
child start:  ctid =  6212    ptid =  6212
child later:  ctid =  6212    ptid =  6212
cat parent later: ctid =  6212    ptid =  6212
f.child -- bye

$ cat prog.c

static volatile pid_t ctid, ptid;

static int
child_fn(void *arg)
{
    printf("child start:  ctid = %5d    ptid = %5d\n", ctid, ptid);
    sleep(1);
    printf("child later:  ctid = %5d    ptid = %5d\n", ctid, ptid);
    sleep(2);
    printf("child -- bye\n");
    return 0;
}

int
main(void)
{
    void *stack = malloc(0x1000);
    char *stack_top = (char *) stack + 0x1000;
    int flags =  SIGCHLD | CLONE_VM |
                 // CLONE_VFORK |
                 CLONE_PARENT_SETTID | CLONE_CHILD_SETTID;

    if (clone(child_fn, stack_top, flags, NULL, &ptid, NULL, &ctid) == -1) {
        perror("clone");
        exit(EXIT_SUCCESS);
    }

    fprintf(stderr, "parent start: ctid = %5d    ptid = %5d\n", ctid, ptid);
    sleep(2);
    fprintf(stderr, "parent later: ctid = %5d    ptid = %5d\n", ctid, ptid);

    if (wait(NULL) == -1) {
        perror("wait");
        exit(EXIT_FAILURE);
    }

    exit(EXIT_SUCCESS);
}

Reported-by: Jakub Nowak <jakub.jakub.nowak@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetpt.3: tfix
Jakub Wilk [Thu, 11 Apr 2019 20:30:29 +0000 (22:30 +0200)] 
getpt.3: tfix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoio_getevents.2: wsfix: fix stray tab
Lucas Werkmeister [Sun, 31 Mar 2019 14:14:07 +0000 (16:14 +0200)] 
io_getevents.2: wsfix: fix stray tab

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agomalloc_trim.3: Minor fixes to Carlos's patch
Michael Kerrisk [Fri, 12 Apr 2019 09:42:32 +0000 (11:42 +0200)] 
malloc_trim.3: Minor fixes to Carlos's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agomalloc_trim.3: Update trimming information
Carlos O'Donell [Thu, 28 Mar 2019 18:01:28 +0000 (14:01 -0400)] 
malloc_trim.3: Update trimming information

Since glibc 2.8, commit 68631c8eb92, the malloc_trim function has
iterated over all arenas and free'd back to the OS all page runs
that were free.  This allows an application to call malloc_trim to
consolidate fragmented chunks and free back any pages it can to
potentially reduce RSS usage.

This correctness of the man page was recently brought to light by
an article [1] where Ruby developers discovered that malloc_trim
did not behave as the man page indicated.

This change makes it clear that the intent of malloc_trim is to
trim all space that is no longer needed, and any restrictions are
implementation details. In the notes we highlight the change in
behaviour for post glibc 2.8 and pre glibc 2.8.

[1] https://www.joyfulbikeshedding.com/blog/2019-03-14-what-causes-ruby-memory-bloat.html#a-magic-trick-trimming

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agofopen.3: Minor tweaks to Elliot's patch
Michael Kerrisk [Fri, 12 Apr 2019 09:31:35 +0000 (11:31 +0200)] 
fopen.3: Minor tweaks to Elliot's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agofopen.3: Explain BSD vs glibc "a+" difference
enh [Wed, 10 Apr 2019 19:30:24 +0000 (12:30 -0700)] 
fopen.3: Explain BSD vs glibc "a+" difference

Where is the initial read position for an "a+" stream?

POSIX leaves this unspecified. Most BSD man pages are silent, and MacOS
has the ambiguous "The stream is positioned at the end of the file", not
differentiating between reads and writes other than to say that fseek(3)
does not affect writes. glibc's documentation explicitly specifies that
the initial read position is the beginning of the file.

My new wording is based on the BSD implementations, so you may prefer
to replace the non-glibc section with "unspecified", or indeed remove
all claims about the initial read position.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agostdarg.3: Add a note that ... in function signature means a variadic function
Michael Kerrisk [Fri, 12 Apr 2019 09:11:03 +0000 (11:11 +0200)] 
stdarg.3: Add a note that ... in function signature means a variadic function

Egmont suggested adding this, because the string "..." appears
at several other points in the page, but just to indicate that
some text is omitted from example code.

Reported-by: Egmont Koblinger <egmont@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscalls.2: Remove crufty text about i386 syscall dispatch table
Michael Kerrisk [Fri, 12 Apr 2019 08:56:59 +0000 (10:56 +0200)] 
syscalls.2: Remove crufty text about i386 syscall dispatch table

The removed text long ago ceased to be accurate. Nowadays, the
dispatch table is autogenerated when building the kernel (via
the kernel makefile, arch/x86/entry/syscalls/Makefile).

Reported-by: Andreas Korb <andreas.d.korb@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agobpf.2: Update kernel version info for JIT compiler
Michael Kerrisk [Thu, 4 Apr 2019 09:53:38 +0000 (11:53 +0200)] 
bpf.2: Update kernel version info for JIT compiler

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosetfsgid.2: Rewrite for improved clarity and defer to setfsuid() for details
Michael Kerrisk [Tue, 26 Mar 2019 05:11:58 +0000 (06:11 +0100)] 
setfsgid.2: Rewrite for improved clarity and defer to setfsuid() for details

Rewrite for improved clarity and defer to setfsuid(2) for the
rationale of the fsGID rather than repeating the same details
in this page.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosetfsuid.2: Rewrite for improved clarity and to hint history more explicitly
Michael Kerrisk [Tue, 26 Mar 2019 04:58:54 +0000 (05:58 +0100)] 
setfsuid.2: Rewrite for improved clarity and to hint history more explicitly

The current text reads somewhat clumsily. Rewrite it to introduce
the eUID and fsUID in parallel, and more clearly hint at the the
historical rationale for the fsUID, which is detailed lower in
the page.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agobpf.2: tfix
Abhinav Upadhyay [Wed, 20 Mar 2019 07:57:56 +0000 (08:57 +0100)] 
bpf.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoman-pages.7: tfix
Jakub Wilk [Sat, 16 Mar 2019 19:23:02 +0000 (20:23 +0100)] 
man-pages.7: tfix

Escape hyphen.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoman-pages.7: spfix
Jakub Wilk [Sat, 16 Mar 2019 19:36:01 +0000 (20:36 +0100)] 
man-pages.7: spfix

The section "Example Programs ..." was renamed to "Example programs ..."
(with lowercase p) in c634028ab5768a04, but the reference was not
updated.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agocore.5: tfix
Jakub Wilk [Tue, 19 Mar 2019 16:12:44 +0000 (17:12 +0100)] 
core.5: tfix

Escape hyphens.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoaccept.2: Note that 'addrlen' is left unchanged in the event of an error
Michael Kerrisk [Sun, 17 Mar 2019 20:00:01 +0000 (21:00 +0100)] 
accept.2: Note that 'addrlen' is left unchanged in the event of an error

See http://austingroupbugs.net/view.php?id=836.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agopipe.2: Note that 'pipefd' is left unchanged in the event of an error
Michael Kerrisk [Sun, 17 Mar 2019 19:56:50 +0000 (20:56 +0100)] 
pipe.2: Note that 'pipefd' is left unchanged in the event of an error

See http://austingroupbugs.net/view.php?id=467.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosocketpair.2: Clarify that 'sv' is left unchanged in the event of an error
Michael Kerrisk [Sun, 17 Mar 2019 19:54:01 +0000 (20:54 +0100)] 
socketpair.2: Clarify that 'sv' is left unchanged in the event of an error

See also http://austingroupbugs.net/view.php?id=483.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoinode.7: Add references to execve(2) to describe set-UID/set-GID behaviors
Michael Kerrisk [Tue, 12 Mar 2019 05:49:15 +0000 (06:49 +0100)] 
inode.7: Add references to execve(2) to describe set-UID/set-GID behaviors

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoinode.7: wfix
Michael Kerrisk [Tue, 12 Mar 2019 05:39:04 +0000 (06:39 +0100)] 
inode.7: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoinode.7: Note that timestamp fields measure time starting at the Epoch
Michael Kerrisk [Tue, 12 Mar 2019 05:26:24 +0000 (06:26 +0100)] 
inode.7: Note that timestamp fields measure time starting at the Epoch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoinode.7: Timestamp fields are structures that include a nanosecond component
Michael Kerrisk [Tue, 12 Mar 2019 05:15:58 +0000 (06:15 +0100)] 
inode.7: Timestamp fields are structures that include a nanosecond component

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoinode.7: wfix: Remove crufty text
Michael Kerrisk [Tue, 12 Mar 2019 05:00:09 +0000 (06:00 +0100)] 
inode.7: wfix: Remove crufty text

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoexecve.2: SEE ALSO: refer to exec(3) (rather than execl(3))
Michael Kerrisk [Fri, 8 Mar 2019 16:56:13 +0000 (17:56 +0100)] 
execve.2: SEE ALSO: refer to exec(3) (rather than execl(3))

Reported-by: Dr. Jürgen Sauermann <mail@xn--jrgen-sauermann-zvb.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoexecve.2, exec.3: Consistently use the term 'pathname' (not 'path')
Michael Kerrisk [Fri, 8 Mar 2019 16:52:17 +0000 (17:52 +0100)] 
execve.2, exec.3: Consistently use the term 'pathname' (not 'path')

Reported-by: Dr. Jürgen Sauermann <mail@xn--jrgen-sauermann-zvb.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoexecve.2: wfix
Michael Kerrisk [Fri, 8 Mar 2019 16:50:06 +0000 (17:50 +0100)] 
execve.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoexec.3: Minor wording fix in subsection title
Michael Kerrisk [Fri, 8 Mar 2019 16:48:52 +0000 (17:48 +0100)] 
exec.3: Minor wording fix in subsection title

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscalls.2: tfix
Jakub Wilk [Fri, 1 Mar 2019 16:24:11 +0000 (17:24 +0100)] 
syscalls.2: tfix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agostrerror.3: Don't discuss buffer size for strerror_l()
Jakub Wilk [Wed, 6 Mar 2019 09:41:11 +0000 (10:41 +0100)] 
strerror.3: Don't discuss buffer size for strerror_l()

Unlike strerror_r(), strerror_l() doesn't take buffer length as an
argument.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agocgroups.7: wfix
Michael Kerrisk [Fri, 8 Mar 2019 16:36:31 +0000 (17:36 +0100)] 
cgroups.7: wfix

Reported-by: Elias Benali <stackptr@users.sourceforge.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoresolver.3: Mention that some functions set 'h_errno'
Michael Kerrisk [Fri, 8 Mar 2019 16:31:40 +0000 (17:31 +0100)] 
resolver.3: Mention that some functions set 'h_errno'

Reported-by: Wladimir Mutel <muwlgr@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5 Add missing Inode field to /proc/net/unix
Michael Witten [Thu, 7 Mar 2019 09:33:26 +0000 (10:33 +0100)] 
proc.5 Add missing Inode field to /proc/net/unix

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosocket.7: tfix
Marcus Huewe [Thu, 7 Mar 2019 15:17:15 +0000 (16:17 +0100)] 
socket.7: tfix

Signed-off-by: Marcus Huewe <suse-tux@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoChanges.old: tfix
Jakub Wilk [Thu, 7 Mar 2019 17:53:42 +0000 (18:53 +0100)] 
Changes.old: tfix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: tfix
Jakub Wilk [Thu, 7 Mar 2019 17:53:41 +0000 (18:53 +0100)] 
sched_setattr.2: tfix

Remove duplicated word.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agovcs.4: ffix
Michael Kerrisk [Fri, 8 Mar 2019 15:22:17 +0000 (16:22 +0100)] 
vcs.4: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agovcs.4: tfix
Jakub Wilk [Thu, 7 Mar 2019 18:18:15 +0000 (19:18 +0100)] 
vcs.4: tfix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agostrtol.3, strtoul.3: SEE ALSO: add strtoimax(3), strtoumax(3)
Jakub Wilk [Thu, 7 Mar 2019 22:17:37 +0000 (23:17 +0100)] 
strtol.3, strtoul.3: SEE ALSO: add strtoimax(3), strtoumax(3)

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoChanges.old: Add missing piece to 5.00 changelog
Michael Kerrisk [Wed, 6 Mar 2019 21:14:54 +0000 (22:14 +0100)] 
Changes.old: Add missing piece to 5.00 changelog

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoChanges.old: Tweaks to 5.00 changelog
Michael Kerrisk [Wed, 6 Mar 2019 17:49:06 +0000 (18:49 +0100)] 
Changes.old: Tweaks to 5.00 changelog

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoStart of man-pages-5.01: updating Changes and Changes.old
Michael Kerrisk [Wed, 6 Mar 2019 16:26:59 +0000 (17:26 +0100)] 
Start of man-pages-5.01: updating Changes and Changes.old

5 years agoStart of man-pages-5.01: updating .Announce and .lsm files
Michael Kerrisk [Wed, 6 Mar 2019 16:26:59 +0000 (17:26 +0100)] 
Start of man-pages-5.01: updating .Announce and .lsm files

5 years agoStart of man-pages-5.01: renaming .Announce and .lsm files
Michael Kerrisk [Wed, 6 Mar 2019 16:26:59 +0000 (17:26 +0100)] 
Start of man-pages-5.01: renaming .Announce and .lsm files

5 years agoReady for 5.00
Michael Kerrisk [Wed, 6 Mar 2019 16:18:23 +0000 (17:18 +0100)] 
Ready for 5.00

5 years agoRemoved trailing white space at end of lines
Michael Kerrisk [Wed, 6 Mar 2019 16:18:15 +0000 (17:18 +0100)] 
Removed trailing white space at end of lines

5 years agoChanges: Ready for 5.00
Michael Kerrisk [Wed, 6 Mar 2019 16:01:32 +0000 (17:01 +0100)] 
Changes: Ready for 5.00

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoman-pages-5.00.Announce, man-pages-5.00.lsm: Tweak "4.xx" to "5.xx"
Michael Kerrisk [Wed, 6 Mar 2019 14:30:09 +0000 (15:30 +0100)] 
man-pages-5.00.Announce, man-pages-5.00.lsm: Tweak "4.xx" to "5.xx"

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agobpf-helpers.7: wfix: fix TH line
Michael Kerrisk [Wed, 6 Mar 2019 14:19:37 +0000 (15:19 +0100)] 
bpf-helpers.7: wfix: fix TH line

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agozdump.8: ffix
Michael Kerrisk [Wed, 6 Mar 2019 14:13:43 +0000 (15:13 +0100)] 
zdump.8: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetent.1, iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, pldd...
Michael Kerrisk [Wed, 6 Mar 2019 14:11:03 +0000 (15:11 +0100)] 
getent.1, iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, pldd.1, sprof.1, time.1, _syscall.2, accept.2, add_key.2, adjtimex.2, bind.2, bpf.2, capget.2, chown.2, chroot.2, clock_getres.2, clone.2, connect.2, copy_file_range.2, epoll_ctl.2, epoll_wait.2, eventfd.2, fanotify_init.2, fanotify_mark.2, fcntl.2, fsync.2, futex.2, getcpu.2, getdents.2, getgid.2, getgroups.2, getpid.2, gettid.2, gettimeofday.2, getuid.2, getxattr.2, inotify_add_watch.2, inotify_init.2, ioctl_fat.2, ioctl_ns.2, ioctl_userfaultfd.2, ioprio_set.2, kcmp.2, kexec_load.2, keyctl.2, listxattr.2, lseek.2, madvise.2, memfd_create.2, migrate_pages.2, mount.2, mprotect.2, mremap.2, msgctl.2, msgop.2, nfsservctl.2, open_by_handle_at.2, perf_event_open.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, readahead.2, readdir.2, readlink.2, reboot.2, recvmmsg.2, removexattr.2, rename.2, request_key.2, s390_guarded_storage.2, s390_runtime_instr.2, s390_sthyi.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, seccomp.2, select.2, select_tut.2, semctl.2, sendmmsg.2, set_thread_area.2, setgid.2, setns.2, setuid.2, setxattr.2, shmctl.2, sigaction.2, signalfd.2, sigsuspend.2, socket.2, socketpair.2, spu_run.2, stat.2, statx.2, subpage_prot.2, syscalls.2, sysctl.2, tee.2, timer_create.2, timerfd_create.2, truncate.2, uname.2, unshare.2, userfaultfd.2, ustat.2, vmsplice.2, write.2, CPU_SET.3, __ppc_get_timebase.3, alloca.3, argz_add.3, asprintf.3, backtrace.3, basename.3, bsd_signal.3, bstring.3, bswap.3, bzero.3, cacos.3, cacosh.3, catan.3, catanh.3, catgets.3, clock_getcpuclockid.3, cmsg.3, confstr.3, ctermid.3, ctime.3, des_crypt.3, dl_iterate_phdr.3, dlinfo.3, dlsym.3, duplocale.3, end.3, endian.3, errno.3, exec.3, exit.3, ferror.3, fgetws.3, fmemopen.3, fnmatch.3, fopencookie.3, fputws.3, frexp.3, ftw.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getdate.3, getgrouplist.3, getifaddrs.3, getline.3, getlogin.3, getmntent.3, getnameinfo.3, getopt.3, getpass.3, getprotoent_r.3, getpwnam.3, getservent_r.3, getsubopt.3, glob.3, gnu_get_libc_version.3, hsearch.3, if_nameindex.3, index.3, inet.3, inet_net_pton.3, inet_pton.3, insque.3, isatty.3, iswblank.3, iswspace.3, lockf.3, makecontext.3, mallinfo.3, malloc.3, malloc_hook.3, malloc_info.3, mallopt.3, matherr.3, mbrtowc.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memchr.3, mq_getattr.3, mq_notify.3, newlocale.3, nl_langinfo.3, offsetof.3, perror.3, posix_spawn.3, printf.3, pthread_attr_init.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_setaffinity_np.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, putenv.3, qsort.3, rand.3, random.3, readdir.3, regex.3, resolver.3, rpmatch.3, rtime.3, scanf.3, sem_wait.3, setaliasent.3, setbuf.3, stpcpy.3, stpncpy.3, strcat.3, strchr.3, strcmp.3, strcpy.3, strdup.3, strerror.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strsep.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, system.3, termios.3, trunc.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscat.3, wcscpy.3, wcslen.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wcsstr.3, wcstok.3, wcstombs.3, wcwidth.3, wprintf.3, xcrypt.3, console_codes.4, dsp56k.4, full.4, initrd.4, lirc.4, loop.4, st.4, tty.4, vcs.4, charmap.5, core.5, host.conf.5, locale.5, proc.5, repertoiremap.5, resolv.conf.5, termcap.5, tmpfs.5, tzfile.5, aio.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, complex.7, epoll.7, fanotify.7, feature_test_macros.7, inotify.7, ip.7, locale.7, man-pages.7, man.7, namespaces.7, pid_namespaces.7, pkeys.7, pthreads.7, rtld-audit.7, sched.7, signal.7, sock_diag.7, socket.7, tcp.7, udp.7, unicode.7, user_namespaces.7, utf-8.7, zdump.8, zic.8: tstamp

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoChanges: Bump version 5.00
Michael Kerrisk [Wed, 6 Mar 2019 14:07:53 +0000 (15:07 +0100)] 
Changes: Bump version 5.00

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: tfix
Michael Kerrisk [Mon, 5 Nov 2018 14:43:37 +0000 (15:43 +0100)] 
sched_setattr.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: Note that SCHED_FLAG_DL_OVERRUN SIGXCPU signal is process-directed
Michael Kerrisk [Mon, 5 Nov 2018 14:41:14 +0000 (15:41 +0100)] 
sched_setattr.2: Note that SCHED_FLAG_DL_OVERRUN SIGXCPU signal is process-directed

And further note that this is probably a bug.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: wfix
Michael Kerrisk [Mon, 30 Apr 2018 10:37:11 +0000 (12:37 +0200)] 
sched_setattr.2: wfix

Reported-by: Claudio Scordino <claudio@evidence.eu.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: wfix: s/task/thread/
Michael Kerrisk [Mon, 30 Apr 2018 10:36:49 +0000 (12:36 +0200)] 
sched_setattr.2: wfix: s/task/thread/

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: Remove mention of GRUB for bandwidth reclaim
Michael Kerrisk [Mon, 30 Apr 2018 10:03:43 +0000 (12:03 +0200)] 
sched_setattr.2: Remove mention of GRUB for bandwidth reclaim

Mention of a specific algorithm is probably too much detail for
the manual page.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: Add a bit more detail for SCHED_DEADLINE
Michael Kerrisk [Fri, 27 Apr 2018 13:01:20 +0000 (15:01 +0200)] 
sched_setattr.2: Add a bit more detail for SCHED_DEADLINE

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: Minor tweaks to Claudio Scordino's patch
Michael Kerrisk [Fri, 27 Apr 2018 12:37:56 +0000 (14:37 +0200)] 
sched_setattr.2: Minor tweaks to Claudio Scordino's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosched_setattr.2: Document SCHED_FLAG_DL_OVERRUN and SCHED_FLAG_RECLAIM
Claudio Scordino [Wed, 18 Apr 2018 09:39:29 +0000 (11:39 +0200)] 
sched_setattr.2: Document SCHED_FLAG_DL_OVERRUN and SCHED_FLAG_RECLAIM

This patch documents two additional flags recently introduced
for the attr.sched_flags field of sched_setattr().

Signed-off-by: Claudio Scordino <claudio@evidence.eu.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agodlsym.3: Describe a case where a symbol value may be NULL
Michael Kerrisk [Tue, 4 Dec 2018 08:35:39 +0000 (09:35 +0100)] 
dlsym.3: Describe a case where a symbol value may be NULL

Remove a longstanding mystery in the text of the page, by
explaining a case where the value returned for a symbol may be
NULL. (However, there are presumably other cases, since the text
in the dlsym(3) manual page pre-dates the invention of IFUNCs.)

See also
https://stackoverflow.com/questions/13941944/why-can-the-value-of-the-symbol-returned-by-dlsym-be-null

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agofd.4, initrd.4, pts.4, tty.4, vcs.4: spfix: Use `user:group' instead of `user.group'
Michael Witten [Fri, 1 Mar 2019 09:52:06 +0000 (10:52 +0100)] 
fd.4, initrd.4, pts.4, tty.4, vcs.4: spfix: Use `user:group' instead of `user.group'

The `:' is aligned with the traditional format of the widely used
command-line utility `chown'.

Signed-off-by: Michael Witten <mfwitten@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoman.7: SEE ALSO: remove mdoc.samples(7)
Michael Kerrisk [Wed, 27 Feb 2019 21:20:57 +0000 (22:20 +0100)] 
man.7: SEE ALSO: remove mdoc.samples(7)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agotty.4: Add `vcs(4)' and `pty(7)' to the `SEE ALSO' section
Michael Witten [Tue, 29 Jan 2019 17:26:13 +0000 (17:26 +0000)] 
tty.4: Add `vcs(4)' and `pty(7)' to the `SEE ALSO' section

Signed-off-by: Michael Witten <mfwitten@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agolirc.4: ffix
Michael Kerrisk [Wed, 27 Feb 2019 15:10:19 +0000 (16:10 +0100)] 
lirc.4: ffix

Reported-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agommap.2: Bump timestamp for William Kucharski's review of "Fix description of treatmen...
Michael Kerrisk [Wed, 27 Feb 2019 14:38:35 +0000 (15:38 +0100)] 
mmap.2: Bump timestamp for William Kucharski's review of "Fix description of treatment of the hint"

Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agomdoc.7, mdoc.samples.7: Remove these pages
Michael Kerrisk [Wed, 27 Feb 2019 14:19:05 +0000 (15:19 +0100)] 
mdoc.7, mdoc.samples.7: Remove these pages

groff_mdoc(7) from the groff project provides a better
equivalent of mdoc.samples(7) and the 'mandoc' project
provides a better mdoc(7). And nowadays, there are virtually
no pages in "man-pages" that use mdoc markup.

So, drop these pages.

From a conversation on linux-man with Ingo Schwarz:

[[
Subject: Re: [groff] [PATCH] man7/mdoc_samples.7: srcfix: Avoid a warning about a wrong section
Date: Wed, 27 Feb 2019 15:28:19 +0100

> The two actual problems are both within the Linux man-pages project,
> not within groff:
>
>  1. While back in the early 1990ies, Cynthia Livingston's
>     mdoc.samples(7) manual page was an important document and the
>     de-facto language definition of the mdoc(7) language, it has
>     been outdated for a long time now.  The current groff_mdoc(7)
>     manual page is based on it but contains large numbers of important
>     improvements by Werner Lemberg and others.  As an alternative
>     language definition that is slightly more concise without being
>     less precise and complete, the mdoc(7) manual page is available
>     from the mandoc(1) distribution (mandoc.bsd.lv).  If there are
>     any contradictions between groff_mdoc(7) and mdoc(7), those are
>     unintended and i ought to fix them.
>
>     So i really believe that the Linux man-pages project ought to
>     stop distributing the woefully outdated mdoc.samples(7) manual
>     page.  If you want to include documentation for the mdoc language,
>     i suggest that you either include a copy of the current version
>     of the groff_mdoc(7) manual from the groff(1) distribution or
>     of the mdoc(7) manual from the mandoc(1) distribution, whichever
>     you think harmonizes better with the Linux man-pages project.
>     Both are BSD-style licensed, so there should be no licensing
>     issues.
>
>     I'm not sure whether it is better for you to include or not
>     include it.  There is probably value in having mdoc(7) documentation
>     out of the box with the Linux man-pages project.  Then again,
>     having groff_mdoc(7) in both the Linux man-pages package and
>     in the groff package - or having mdoc(7) in both the Linux
>     man-pages project and the mandoc(1) package - might cause
>     packaging conflicts for some distributions.  I don't rightly
>     know how such conflicts are typically handled by Linux
>     distributions.  Not being able to install the Linux man-pages
>     pages project, groff(1) and mandoc(1) all together on the same
>     Linux machine would certainly be a bad situation...
>
>     By the way, the mdoc(7) manual page distributed by the Linux
>     man-pages project also makes very little sense.  It is a partial
>     repetition of information from groff_mdoc(7)/[mandoc-]mdoc(7),
>     but so compressed that it is mostly unintelligible.  Besides,
>     it is incomplete: e.g. .Lk, .Mt, .Dx, .Ox, .Nx, .Ta, .%U, .Bk,
>     .Ek, .Lb, .In, .Ft, .Ms, .Brq, .Bro, .Brc, .Ex are missing -
>     it seems outdated by at lest 25 years.  Also, some claims are
>     outright wrong - for example, you *cannot* use .UR/.UE in an
>     mdoc(7) document, and i cannot remember ever having seen an
>     implementation of a .UN macro anywhere.  Some macros descriptions
>     are also wrong, e.g. .Fd is *not* intended for "function
>     declarations", and .Vt is *not* "Fortran only".  And so on.
>
>  2. I don't recommend keeping the old mdoc.samples(7) and mdoc(7)
>     manual pages, but if you think you must do that for some reason,
>     then you must at least revert this bogus commit:

I am *not at all* attached to keeping to these pages. Their
presence in the project has always felt a bit anomalous to me.

Back when I took over maintainership in 2004, there were a small
number of pages that used mdoc markup, and so it seemed wise
to keep these pages. Over time, most of those few pages were
converted to 'man' markup, and today the only other page in the
project that still uses mdoc markup is in queue(3). So, there is
just about zero value in having 'mdoc' documentation come with
the "Linux man-pages" box.

Since I seldom use mdoc markup myself, I've had no reason to
monitor pages such as groff_mdoc(7) or the mdoc(7) page
provided my ther 'mandoc' project and compare them with
the pages provided by "Linux man-pages". Now I've had a
closer look. It's sad.

I've removed mdoc(7) and mdoc.samples(7) from "Linux -man-pages".
]]

Reported-by: Ingo Schwarze <schwarze@usta.de>
5 years agofanotify_mark.2: Minor wording improvement
Michael Kerrisk [Wed, 27 Feb 2019 12:44:47 +0000 (13:44 +0100)] 
fanotify_mark.2: Minor wording improvement

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agobpf-helpers.7: Refresh against Linux 5.0-rc8
Michael Kerrisk [Wed, 27 Feb 2019 12:12:30 +0000 (13:12 +0100)] 
bpf-helpers.7: Refresh against Linux 5.0-rc8

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agolocale.1, memusage.1, pldd.1, _syscall.2, add_key.2, bind.2, bpf.2, chown.2, clone...
Michael Kerrisk [Wed, 27 Feb 2019 11:57:17 +0000 (12:57 +0100)] 
locale.1, memusage.1, pldd.1, _syscall.2, add_key.2, bind.2, bpf.2, chown.2, clone.2, copy_file_range.2, eventfd.2, execve.2, futex.2, getdents.2, getrlimit.2, ioctl_fat.2, ioctl_ns.2, kcmp.2, kexec_load.2, keyctl.2, listxattr.2, lseek.2, membarrier.2, memfd_create.2, mmap.2, mprotect.2, msgop.2, open_by_handle_at.2, perf_event_open.2, pipe.2, readdir.2, readlink.2, readv.2, recvmmsg.2, request_key.2, sched_setaffinity.2, seccomp.2, select.2, select_tut.2, sendmmsg.2, setns.2, signalfd.2, spu_run.2, stat.2, sysctl.2, tee.2, timer_create.2, timerfd_create.2, truncate.2, uname.2, unshare.2, userfaultfd.2, ustat.2, wait.2, CPU_SET.3, __ppc_get_timebase.3, argz_add.3, asprintf.3, backtrace.3, basename.3, bswap.3, bzero.3, cacos.3, cacosh.3, catan.3, catanh.3, catgets.3, clock_getcpuclockid.3, confstr.3, ctime.3, dl_iterate_phdr.3, dlinfo.3, duplocale.3, encrypt.3, end.3, endian.3, fgetws.3, fmemopen.3, fopencookie.3, fputws.3, frexp.3, ftw.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getdate.3, getgrouplist.3, getifaddrs.3, getline.3, getlogin.3, getopt.3, getpass.3, getprotoent_r.3, getpwnam.3, getservent_r.3, getsubopt.3, glob.3, gnu_get_libc_version.3, hsearch.3, if_nameindex.3, index.3, inet.3, inet_net_pton.3, inet_pton.3, insque.3, iswblank.3, iswspace.3, makecontext.3, mallinfo.3, malloc_hook.3, malloc_info.3, mallopt.3, matherr.3, mbrtowc.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memchr.3, mq_getattr.3, mq_notify.3, newlocale.3, nl_langinfo.3, offsetof.3, perror.3, posix_spawn.3, printf.3, pthread_attr_init.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_create.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_mutexattr_setrobust.3, pthread_setaffinity_np.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, qsort.3, rand.3, readdir.3, regex.3, rpmatch.3, rtime.3, scanf.3, sem_wait.3, setaliasent.3, setbuf.3, stpcpy.3, stpncpy.3, strcat.3, strchr.3, strcpy.3, strdup.3, strerror.3, strfromd.3, strftime.3, strlen.3, strnlen.3, strsep.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, termios.3, tsearch.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscat.3, wcscpy.3, wcslen.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wcsstr.3, wcstok.3, wcstombs.3, wcwidth.3, wprintf.3, console_codes.4, dsp56k.4, full.4, initrd.4, loop.4, vcs.4, charmap.5, core.5, elf.5, locale.5, proc.5, repertoiremap.5, sysfs.5, termcap.5, aio.7, bpf-helpers.7, cgroups.7, charsets.7, complex.7, fanotify.7, feature_test_macros.7, inotify.7, locale.7, man-pages.7, man.7, pkeys.7, pthreads.7, rtld-audit.7, sock_diag.7, unix.7, user_namespaces.7, utf-8.7: Use '\e' rather than '\\' to get a backslash

Quoting Branden:

*roff escape sequences may sometimes look like C escapes, but that
is misleading.  *roff is in part a macro language and that means
recursive expansion to arbitrary depths.

You can get away with "\\" in a context where no macro expansion
is taking place, but try to spell a literal backslash this way in
the argument to a macro and you will likely be unhappy with
results.

Try viewing the attached file with "man -l".

"\e" is the preferred and portable way to get a portable "escape
literal" going back to CSTR #54, the original Bell Labs troff
paper.

groff(7) discusses the issue:

  \\     reduces to a single backslash; useful to delay its
         interpretation as escape character in copy mode.  For a
         printable backslash, use \e, or even better \[rs], to be
         independent from the current escape character.

As of groff 1.22.4, groff_man(7) does as well:

  \e     Widely used in man pages to represent a backslash output
         glyph.  It works reliably as long as the .ec request is
         not used, which should never happen in man pages, and it
         is slightly more portable than the more exact ‘\(rs’
         (“reverse solidus”) escape sequence.

People not concerned with portability to extremely old troffs should
probably just use \(rs (or \[rs]), as it means "the backslash
glyph", not "the glyph corresponding to whatever the current escape
character is".

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoadjtimex.2, futex.2, mremap.2, seccomp.2, getnameinfo.3, random.3, console_codes...
Michael Kerrisk [Wed, 27 Feb 2019 11:23:42 +0000 (12:23 +0100)] 
adjtimex.2, futex.2, mremap.2, seccomp.2, getnameinfo.3, random.3, console_codes.4, sysfs.5, sched.7, unicode.7: Use zero‐width space in appropriate locations

Quoting Branden:

    *roff systems will interpret the period in the unpatched
    page as sentence-ending punctuation and put inter-sentence
    spacing after it.  (This might not be visible on
    nroff/terminal devices, but it is more likely to be on
    typesetter/PostScript/PDF output).

    groff_man(7) in groff 1.22.4 attempts to throw man page
    writers a bone here:

     \&     Zero‐width space.  Append to an input line to prevent
            an end‐of‐ sentence punctuation sequence from being
            recognized as such, or insert at the beginning of an
            input line to prevent a dot or apostrophe from being
            interpreted as the beginning of a roff request.

Reported-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Reported-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>