man-pages-5.04 is released

From: Michael Kerrisk (man-pages)
Date: Tue Nov 19 2019 - 16:44:49 EST


Gidday,

The Linux man-pages maintainer proudly announces:

man-pages-5.04 - man pages for Linux

This release resulted from patches, bug reports, reviews, and
comments from 15 people, with around 80 commits making changes
to just under 30 pages.

Tarball download:
http://www.kernel.org/doc/man-pages/download.html
Git repository:
https://git.kernel.org/cgit/docs/man-pages/man-pages.git/
Online changelog:
http://man7.org/linux/man-pages/changelog.html#release_5.04

A short summary of the release is blogged at:
https://linux-man-pages.blogspot.com/2019/11/man-pages-504-is-released.html

The current version of the pages is browsable at:
http://man7.org/linux/man-pages/

A selection of changes in this release that may be of interest
to readers of LKML is shown below.

Cheers,

Michael

==================== Changes in man-pages-5.04 ====================

Newly documented interfaces in existing pages
---------------------------------------------

clone.2
Michael Kerrisk [Christian Brauner, Jakub Wilk]
Document clone3()

wait.2
Michael Kerrisk
Add P_PIDFD for waiting on a child referred to by a PID file descriptor

bpf-helpers.7
Michael Kerrisk
Refresh against kernel v5.4-rc7


Changes to individual pages
---------------------------

clone.2
Michael Kerrisk
Rename arguments for consistency with clone3()
Make the names of the clone() arguments the same as the fields
in the clone3() 'args' struct:

ctid ==> child_pid
ptid ==> parent_tid
newtls ==> tld
child_stack ==> stack
Michael Kerrisk [Christian Brauner, Jann Horn]
EXAMPLE: Allocate child's stack using mmap(2) rather than malloc(3)
Christian Brauner suggested mmap(MAP_STACK), rather than
malloc(), as the canonical way of allocating a stack for the
child of clone(), and Jann Horn noted some reasons why
(MAP_STACK exists elsewhere, and mmap() returns a page-aligned
block of memory, which is useful if we want to set up a guard
page at the end of the stack).

ioctl_iflags.2
Michael Kerrisk [Robert Edmonds]
Emphasize that FS_IOC_GETFLAGS and FS_IOC_SETFLAGS argument is 'int *'

mmap.2
Michael Kerrisk
Note that MAP_STACK exists on some other systems
Michael Kerrisk
Some rewording of the description of MAP_STACK
Reword a little to allow for the fact that there are now
*two* reasons to consider using this flag.

pidfd_open.2
Michael Kerrisk
Note the waitid() use case for PID file descriptors

pivot_root.2
Michael Kerrisk
EXAMPLE: allocate stack using mmap() MAP_STACK rather than malloc()

quotactl.2
Yang Xu [Jan Kara]
Add some details about Q_QUOTAON

select.2
Michael Kerrisk
POLLIN_SET/POLLOUT_SET/POLLEX_SET are now defined in terms of EPOLL*
Since kernel commit a9a08845e9acbd224e4ee466f5c1275ed50054e8, the
equivalence between select() and poll()/epoll is defined in terms
of the EPOLL* constants, rather than the POLL* constants.

wait.2
Michael Kerrisk
waitid() can be used to wait on children in same process group as caller
Since Linux 5.4, idtype == P_PGID && id == 0 can be used to wait
on children in same process group as caller.
Michael Kerrisk
Clarify semantics of waitpid(0, ...)
As noted in kernel commit 821cc7b0b205c0df64cce59aacc330af251fa8f7,
threads create an ambiguity: what if the calling process's PGID
is changed by another thread while waitpid(0, ...) is blocked?
So, clarify that waitpid(0, ...) means wait for children whose
PGID matches the caller's PGID at the time of the call to
waitpid().

uts_namespaces.7
Michael Kerrisk
Add a little more detail on scope of UTS namespaces

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/