Opened 21 months ago
Closed 20 months ago
New minor version.
Released: 2019-11-19, Munich
Newly documented interfaces in existing pages
Add P_PIDFD for waiting on a child referred to by a PID file descriptor
Refresh against kernel v5.4-rc7
New and changed links
New link to clone(2)
Changes to individual pages
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
Consistently order paragraphs for CLONE_NEW* flags
Sometimes the descriptions of these flags mentioned the
corresponding section 7 namespace manual page and then the
required capabilities, and sometimes the order was the was
the reverse. Make it consistent.
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).
Tidy up the description of CLONE_DETACHED
The obsolete CLONE_DETACHED flag has never been properly
documented, but now the discussion CLONE_PIDFD also requires
mention of CLONE_DETACHED. So, properly document CLONE_DETACHED,
and mention its interactions with CLONE_PIDFD.
Give the introductory paragraph a new coat of paint
Change the text in the introductory paragraph (which was written
20 years ago) to reflect the fact that clone*() does more things
Remove wording that suggests CLONE_NEW* flags are for containers
These flags are used for implementing many other interesting
things by now.
Remove various details that are already covered in namespaces pages
Remove details of UTS, IPC, and network namespaces that are
already covered in the corresponding namespaces pages in section 7.
Adjust references to namespaces(7)
Adjust references to namespaces(7) to be references to pages
describing specific namespace types.
Add gfs2 to the list of punch hole-capable filesystems
Emphasize that FS_IOC_GETFLAGS and FS_IOC_SETFLAGS argument is 'int *'
Add reference to ioctl(2) SEE ALSO section
The referenced section lists various pages that document ioctls.
Note that MAP_STACK exists on some other systems
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.
Note the waitid() use case for PID file descriptors
Add a subsection header "Use cases for PID file descriptors"
Make it a little more explicit the CLONE_PIDFD returns a PID FD
EXAMPLE: allocate stack using mmap() MAP_STACK rather than malloc()
Add some details about Q_QUOTAON
Switch to "considerate language"
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.
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.
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
Clarify that AT_BASE_PLATFORM and AT_EXECFN return pointers to strings
Attempt clarify domain/search interaction
The domain directive is historic at this point; it should not
Small wording fix in description of SIOCGIFCONF
SIOCGIFCONF returns "network layer" addresses (not "transport
Add a little more detail on scope of UTS namespaces
Fixed at revision 11702.
Powered by Trac 1.5.3.dev0
By Edgewall Software
© 1998-2021 Gerard Beekmans.