X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=Changes.old;h=8f58543dd9818443015a3cf98daebd07fbaac193;hb=7ced1a65298277dac9ac64fc148a2095f44dca01;hp=70896d76d9a00015f8155fc63af6a3310d5458b2;hpb=59ed2368c4a4c07f7285e3d1718fa376aa3738fb;p=thirdparty%2Fman-pages.git diff --git a/Changes.old b/Changes.old index 70896d76d9..8f58543dd9 100644 --- a/Changes.old +++ b/Changes.old @@ -13005,7 +13005,7 @@ dl_iterate_phdr.3 crypt.3 mtk, after a Fedora downstream patch Describe additional encryption algorithms. - See also: https://bugzilla.redhat.com/show_bug.cgi?id=428280. + See also: https://bugzilla.redhat.com/show_bug.cgi?id=428280. errno.3 mtk @@ -15090,19 +15090,19 @@ execve.2 Michael Kerrisk Linux now imposes a floor on the ARG_MAX limit Starting with Linux 2.6.23, the ARG_MAX limit became - settable via (1/4 of) RLIMIT_STACK. This broke ABI - compatibility if RLIMIT_STACK was set such that ARG_MAX - was < 32 pages. Document the fact that since 2.6.25 - Linux imposes a floor on ARG_MAX, so that the old limit - of 32 pages is guaranteed. + settable via (1/4 of) RLIMIT_STACK. This broke ABI + compatibility if RLIMIT_STACK was set such that ARG_MAX + was < 32 pages. Document the fact that since 2.6.25 + Linux imposes a floor on ARG_MAX, so that the old limit + of 32 pages is guaranteed. For some background on the changes to ARG_MAX in - kernels 2.6.23 and 2.6.25, see: + kernels 2.6.23 and 2.6.25, see: http://sourceware.org/bugzilla/show_bug.cgi?id=5786 http://bugzilla.kernel.org/show_bug.cgi?id=10095 http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101, checked into 2.6.25 as - commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2. + commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2. Also some reordering/rewording of the discussion of ARG_MAX. @@ -15110,16 +15110,16 @@ fallocate.2 Michael Kerrisk Note lack of glibc wrapper; caller must use syscall(2) Glibc doesn't (and quite probably won't) include a - wrapper for this system call. Therefore, point out that - potential callers will need to use syscall(2), and rewrite - the RETURN VALUE text to show things as they would be if - syscall() is used. + wrapper for this system call. Therefore, point out that + potential callers will need to use syscall(2), and rewrite + the RETURN VALUE text to show things as they would be if + syscall() is used. Michael Kerrisk Refer reader to posix_fallocate(3) for portable interface Add a para to start of page that points out that this is the low-level, Linux-specific API, and point the reader to - posix_fallocate(3) for the portable API. + posix_fallocate(3) for the portable API. getdents.2 readdir.3 @@ -15148,7 +15148,7 @@ getdents.2 Michael Kerrisk s/dirent/linux_dirent/ The structure isn't currently defined in glibc headers, - and the kernel name of the structure is 'linux_dirent' (as + and the kernel name of the structure is 'linux_dirent' (as was already used in some, but not all, places in this page). getrlimit.2 @@ -15190,9 +15190,9 @@ umount.2 Michael Kerrisk Split umount*() out into a separate page The length of this page means that it's becoming difficult - to parse which info is specific to mount() versus - umount()/umount2(), so split the umount material out into - its own page. + to parse which info is specific to mount() versus + umount()/umount2(), so split the umount material out into + its own page. pause.2 Michael Kerrisk @@ -15206,12 +15206,12 @@ readdir.2 Michael Kerrisk s/dirent/old_linux_dirent/ Nowadays, this is the name of the structure in the - kernel sources. + kernel sources. Michael Kerrisk Remove words "which may change" These words are slightly bogus: although the interface - is obsolete, for ABI-compatibility reasons, the kernel folk - should never be changing this interface. + is obsolete, for ABI-compatibility reasons, the kernel folk + should never be changing this interface. Michael Kerrisk Remove header files from SYNOPSIS glibc doesn't provide any support for readdir(2), @@ -15250,7 +15250,7 @@ sigwaitinfo.2 Michael Kerrisk These interfaces have per-thread semantics - The page was previously fuzzy about whether the these interfaces + The page was previously fuzzy about whether these interfaces have process-wide or per-thread semantics. (E.g., now the page states that the calling *thread* (not process) is suspended until the signal is delivered.) @@ -15261,7 +15261,7 @@ sigpending.2 Michael Kerrisk Explain how thread's pending signal set is defined The pending set is the union of per-thread pending signals - and process-wide pending signals. + and process-wide pending signals. sigprocmask.2 Michael Kerrisk @@ -15333,7 +15333,7 @@ floor.3 hsearch.3 André Goddard Rosa Call hdestroy() after using hash table created by hcreate(), - for the sake of completeness + for the sake of completeness mq_getattr.3 Michael Kerrisk @@ -16645,7 +16645,7 @@ pthreads.7 added. (strerror() was already in the list in POSIX.1-2001.) Michael Kerrisk Tweak text on sigpause() cancellation point - In POSIX.1-2009, this function moves from the "must be" + In POSIX.1-2008, this function moves from the "must be" to the "may be" list. Michael Kerrisk Add ref to signal(7) for further info on use of real-time signals @@ -22121,7 +22121,7 @@ Newly documented interfaces in existing pages fstatat.2 Michael Kerrisk [David Howells] Document AT_NO_AUTOMOUNT - This flag was added in Linux 2.6.38. + This flag was added in Linux 2.6.38. lseek.2 Michael Kerrisk [Eric Blake, Sunil Mushran] @@ -29819,7 +29819,7 @@ socket.7 Neil Horman Document the SO_RXQ_OVFL socket option Michael Kerrisk - Add kernel version number for SO_RXQ_OVFL + Add kernel version number for SO_RXQ_OVFL New and changed links @@ -30106,12 +30106,12 @@ sync.8 "fileutils", which long ago become coreutils, and the piece under NOTES note some behavior of sync(2) that ceased to be true many years ago. The man-pages - project generally focuses on only Linux kernel and + project generally focuses on only Linux kernel and (g)libc interfaces, so this sync(8) page doesn't really - belong. Furthermore, coreutils has a sync(1) page which - covers the same command. After discussions on the - coreutils list, I've decided to retire this page from - man-pages. + belong. Furthermore, coreutils has a sync(1) page which + covers the same command. After discussions on the + coreutils list, I've decided to retire this page from + man-pages. Changes to individual pages --------------------------- @@ -40779,7 +40779,7 @@ Various pages Michael Kerrisk Remove mention of the obsolete _POSIX_SOURCE macro from SYNOPSIS _POSIX_SOURCE was a POSIX.1-1990 creation that was soon made - obsolete bu _POSIX_C_SOURCE. Retaining mention of it + obsolete by _POSIX_C_SOURCE. Retaining mention of it in the feature test macro requirements section of the SYNOPSIS doesn't contain important information, and may mislead readers into actually trying to use this macro. @@ -45415,7 +45415,7 @@ in the changelog below) reports, notes, and ideas that have been incorporated in changes in this release: Alex Henrie -Andi Kleen +Andi Kleen Arjun Shankar Brad Bendily Cameron Wright @@ -45450,6 +45450,16 @@ sulit Apologies if I missed anyone! +New and rewritten pages +----------------------- + +ioctl_getfsmap.2 + Darrick J. Wong + Document the GETFSMAP ioctl + Document the new GETFSMAP ioctl that returns the physical layout of a + (disk-based) filesystem. + + Newly documented interfaces in existing pages --------------------------------------------- @@ -45509,12 +45519,6 @@ ioctl_getfsmap.2 Fix ordering of sections Michael Kerrisk Add VERSIONS section - -ioctl_getfsmap.2 - Darrick J. Wong - Document the GETFSMAP ioctl - Document the new GETFSMAP ioctl that returns the physical layout of a - (disk-based) filesystem. Michael Kerrisk ERRORS: order alphabetically @@ -45584,7 +45588,7 @@ sigaltstack.2 Michael Kerrisk Note buggy addition of ss.ss_flags==SS_ONSTACK Note buggy addition of ss.ss_flags==SS_ONSTACK as a synonym - for ss_flags==0. No other implemenation does this, AFAIK. + for ss_flags==0. No other implementation does this, AFAIK. And it was not needed :-(. Michael Kerrisk Specifying 'ss' returns the current settings without changing them @@ -45622,8 +45626,6 @@ atanh.3 Remove C89 designation. See https://bugzilla.kernel.org/show_bug.cgi?id=196319 - [mtk: confirmed from review of draft of C90 standard] - bsd_signal.3 Michael Kerrisk Note feature test macro requirements changes for glibc 2.26 @@ -45673,22 +45675,6 @@ getaddrinfo.3 getcontext.3 Carlos O'Donell Exemplar structure should use 'ucontext_t'. - In glibc we just finished a round of purging 'struct ucontext' - which is not in the POSIX reserved namespace of *_t tags. This has - some consequences to applications using the non-standard struct - ucontext: - https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27struct_ucontext.27 - but it also fixes a namespace conformance issue which is always a - longterm pain for large portable programs. - - It was noted by Peter Maydell - (https://sourceware.org/bugzilla/show_bug.cgi?id=21457) that the - linux man pages still had references to 'struct ucontext' but only - in the form of an exemplar structure. - - The patch fixes the exemplar to match what is in glibc - and therefore it won't ever suggest users can use 'struct - ucontext'. getgrent.3 Michael Kerrisk @@ -45703,9 +45689,6 @@ unlockpt.3 if_nametoindex.3 Douglas Caetano dos Santos Add ENODEV error for if_nametoindex() - Checked against glibc and kernel code: when given name isn't - a valid interface, kernel returns ENODEV and glibc just - forwards it. malloc.3 Michael Kerrisk @@ -45720,8 +45703,6 @@ posix_madvise.3 Remove paragraph about POSIX_FADV_NOREUSE POSIX_FADV_NOREUSE is documented for posix_fadvise, and a corresponding POSIX_MADV_NOREUSE flag is not specified by POSIX. - - Thanks to Marc Lehmann See https://bugs.debian.org/865699 ptsname.3 @@ -45760,8 +45741,6 @@ sysconf.3 is not changed on a successful return. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=195955 - -sysconf.3 Michael Kerrisk Add ERRORS section @@ -45787,9 +45766,6 @@ nsswitch.conf.5 This minor patch clarifies when merging is not done, and how duplicate entries are merged. - Found while extending glibc's NSS test suite, discussed with glibc - team and Stephen Gallagher. - proc.5 Michael Kerrisk Document that 'iowait' field of /proc/stat is unreliable @@ -45818,8 +45794,6 @@ cgroup_namespaces.7 Add some further explanation of the example shell session Michael Kerrisk Fix a bug in shell session example - Michael Kerrisk - Some minor wording fixes and clarifications inode.7 Michael Kerrisk @@ -45892,3 +45866,5198 @@ ld.so.8 Ignored since 2.3.4 (not 2.3.5). Michael Kerrisk Rewrite LD_DEBUG_OUTPUT description and note that .PID is appended + + +==================== Changes in man-pages-4.13 ==================== + +Released: 2017-09-15, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Aleksa Sarai +Alex Henrie +Benjamin Peterson +Bjarni Ingi Gislason +Cyrill Gorcunov +Darrick J. Wong +David Wilder +Dennis Knorr +Don Brace +Douglas Caetano dos Santos +Elliott Hughes +Eugene Syromyatnikov +Fabio Scotoni +Florian Weimer +Jakub Wilk +Jason Noakes +Jens Axboe +Jonas Grabber +Kees Cook +Konstantin Shemyak +Li Zhijian +Marko Myllynen +Mark Wielaard +Meelis Roos +Michael Kerrisk +Mike Rapoport +NeilBrown +Otto Ebeling +Paul Eggert +Rick Jones +Sage Weil +Sam Varshavchik +Sergey Z. +Shrikant Giridhar +Stephan Müller +Sukadev Bhattiprolu +Tej Chajed +Thiago Jung Bauermann +Vincent Bernat +Yubin Ruan +Ильдар Низамов + +Apologies if I missed anyone! + + +New and rewritten pages +----------------------- + +pthread_mutex_consistent.3 + Yubin Ruan, Michael Kerrisk + New page documenting pthread_mutex_consistent(3) + +pthread_mutexattr_getpshared.3 + Michael Kerrisk + New page for pthread_mutexattr_getpshared(3) and pthread_mutexattr_setpshared(3) + +pthread_mutexattr_init.3 + Michael Kerrisk + New page for pthread_mutexattr_init(3) and pthread_mutexattr_destroy(3) + +pthread_mutexattr_setrobust.3 + Yubin Ruan, Michael Kerrisk + New page for pthread_mutexattr_setrobust(3) and pthread_mutexattr_getrobust(3) + +sysfs.5 + Michael Kerrisk [Mark Wielaard] + New page documenting the sysfs filesystem + Just a skeleton page so far, but perhaps it will be filled out + over time. + + +Newly documented interfaces in existing pages +--------------------------------------------- + +fcntl.2 + Jens Axboe, Michael Kerrisk + Describe the set/get write hints commands that are added in Linux 4.13 + Document F_GET_RW_HINT, F_SET_RW_HINT, F_GET_FILE_RW_HINT, and + F_SET_FILE_RW_HINT. + +ioctl_tty.2 + Aleksa Sarai, Michael Kerrisk + Add TIOCGPTPEER documentation + +kcmp.2 + Cyrill Gorcunov + Add KCMP_EPOLL_TFD description + +keyctl.2 + Eugene Syromyatnikov + Document the KEYCTL_RESTRICT_KEYRING operation + Eugene Syromyatnikov [Stephan Müller] + Document the ability to provide KDF parameters in KEYCTL_DH_COMPUTE + + +New and changed links +--------------------- + +pthread_mutexattr_destroy.3 + Michael Kerrisk + New link to new pthread_mutexattr_init.3 page + +pthread_mutexattr_getrobust.3 +pthread_mutexattr_getrobust_np.3 +pthread_mutexattr_setrobust_np.3 + Michael Kerrisk + New links to new pthread_mutexattr_setrobust.3 page + +pthread_mutexattr_setpshared.3 + Michael Kerrisk + New link to new pthread_mutexattr_getpshared.3 page + + +Global changes +-------------- + +Various pages + Michael Kerrisk + Use .EX/.EE for EXAMPLE programs + +Various pages + Michael Kerrisk + Use consistent markup for code snippets + Change .nf/.fi to .EX/.EE + +Various pages + Michael Kerrisk + Use consistent markup for code snippets + The preferred form is + + .PP/.IP + .in +4n + .EX + + .EE + .in + .PP/.IP + +Various pages + Michael Kerrisk + Formatting fix: replace blank lines with .PP/.IP + Blank lines shouldn't generally appear in *roff source (other + than in code examples), since they create large vertical + spaces between text blocks. + +Various pages + Michael Kerrisk [Bjarni Ingi Gislason] + Add a non-breaking space between a number and a unit (prefix) + Based on a patch by Bjarni Ingi Gislason. + +Various pages + Michael Kerrisk [Bjarni Ingi Gislason] + Use en-dash for ranges + Based on a patch by Bjarni Ingi Gislason. + +A few pages + Michael Kerrisk + Fix misordering of sections + Michael Kerrisk + Fix order of SEE ALSO entries + + +Changes to individual pages +--------------------------- + +ldd.1 + Michael Kerrisk + Add more detail on ldd security implications, noting glibc 2.27 changes + +add_key.2 +backtrace.3 +syslog.3 + Michael Kerrisk + Fix misordered SEE ALSO entries + +add_key.2 +request_key.2 +keyrings.7 + Eugene Syromyatnikov + Update Linux documentation pointers + +chown.2 + Michael Kerrisk + Update kernel version in note on support for grpid/nogrpid mount options + There has been no change since Linux 2.6.25, so update the + kernel version to 4.12. + +execve.2 + Michael Kerrisk + SEE ALSO: add get_robust_list(2) + +getrandom.2 + Michael Kerrisk [Fabio Scotoni] + SYNOPSIS: make return type of getrandom() 'ssize_t' + This accords with glibc headers and the Linux kernel source. + +getrlimit.2 + Thiago Jung Bauermann + Mention unit used by RLIMIT_CORE and RLIMIT_FSIZE + Michael Kerrisk + Note that RLIMIT_AS and RLIMIT_DATA are rounded down to system page size + Michael Kerrisk + Mention unit for RLIMIT_DATA + +getrlimit.2 +mmap.2 +malloc.3 + Jonas Grabber + RLIMIT_DATA affects mmap(2) since Linux 4.7 + +get_robust_list.2 + Michael Kerrisk + Detail the operation of robust futex lists + Michael Kerrisk + Since Linux 2.6.28, robust futex lists also have an effect for execve(2) + Michael Kerrisk + Clarify that "thread ID" means "kernel thread ID" + Michael Kerrisk + SEE ALSO: add pthread_mutexattr_setrobust(3) + +ioctl_getfsmap.2 + Darrick J. Wong + Correct semantics of FMR_OF_LAST flag + +ioctl_userfaultfd.2 + Mike Rapoport + Document replacement of ENOSPC with ESRCH + Mike Rapoport + Update uffdio_api.features description + There is no requirement that uffdio_api.features must be zero + for newer kernels. This field actually defines what features + space would like to enable. + +io_submit.2 + Sage Weil + Acknowledge possibility of short return + Note that the return value may be a value less than 'nr' + if not all iocbs were queued at once. + +ipc.2 + Michael Kerrisk + SEE ALSO: add svipc(7) + +keyctl.2 + Eugene Syromyatnikov + mention keyctl_dh_compute(3) and keyctl_dh_compute_alloc (3) + These functions have been added in keyutils 1.5.10 + Eugene Syromyatnikov + Mention ENOMEM in ERRORS + Eugene Syromyatnikov + Update kernel documentation path reference + +move_pages.2 + Otto Ebeling [Michael Kerrisk] + Note permission changes that occurred in Linux 4.13 + +mprotect.2 + Michael Kerrisk [Shrikant Giridhar] + Add warning about the use of printf() in the example code + +open.2 + NeilBrown + Improve O_PATH documentation + - fstatfs is now permitted. + - ioctl isn't, and is worth listing explicitly + - O_PATH allows an automount point to be opened with + triggering the mount. + +prctl.2 +seccomp.2 + Eugene Syromyatnikov + Update pointer to in-kernel seccomp documentation + +prctl.2 +ptrace.2 + Eugene Syromyatnikov + Update pointer to in-kernel Yama documentation + +prctl.2 + Eugene Syromyatnikov + Update pointer to in-kernel no_new_privs flag documentation + +readlink.2 + Michael Kerrisk [Jason Noakes] + Fix an off-by-one error in example code + +seccomp.2 + Kees Cook + Clarify SECCOMP_RET_KILL kills tasks not processes + +select_tut.2 + Michael Kerrisk [Sergey Z.] + Clarify an ambiguity with respect to select() and EAGAIN + See https://bugzilla.kernel.org/show_bug.cgi?id=196345 + +set_tid_address.2 + Elliott Hughes + Note that there's no glibc wrapper for set_tid_address() + +socket.2 + Michael Kerrisk [Yubin Ruan] + socket() uses the lowest available file descriptor + +_syscall.2 + Michael Kerrisk + Remove redundant comment from EXAMPLE + A discussion of the nroff source of the manual + page isn't very useful... + +sysfs.2 + Michael Kerrisk + Add a pointer to sysfs(5) to help possibly confused readers + Michael Kerrisk + Make it clearer near the start of the page that sysfs(2) is obsolete + +timer_create.2 + Michael Kerrisk + Strengthen the warning about use of printf() in the example program + Michael Kerrisk + Update cross reference: signal(7) should be signal-safety(7) + +umount.2 + NeilBrown + Revise MNT_FORCE description + MNT_FORCE does not allow a busy filesystem to be unmounted. Only + MNT_DETACH allows that. MNT_FORCE only tries to abort pending + transactions, in the hope that might help umount not to block, + + Also, other filesystems than NFS support MNT_FORCE. + +unshare.2 + Eugene Syromyatnikov + Update pointer to in-kernel unshare documentation + +wait.2 + Michael Kerrisk [Ильдар Низамов] + POSIX.1-2008 TC1 clarifies treatment of 'si_pid' for waitid() WNOHANG + +cmsg.3 + Sukadev Bhattiprolu + Add a scatter/gather buffer to sample code + Michael Kerrisk + Reorganize the text somewhat (no content changes) + +crypt.3 + Konstantin Shemyak [Michael Kerrisk] + Add description of previously undocumented 'rounds' parameter + Konstantin Shemyak + Encryption isn't done with SHA-xxx, but with a function based on SHA-xxx + Konstantin Shemyak + Clarify that ending of the salt string with '$' is optional + +exit.3 + Michael Kerrisk + Mention the prctl(2) PR_SET_PDEATHSIG operation + Michael Kerrisk + SEE ALSO: add get_robust_list(2) + Michael Kerrisk + Add a heading to delimit discussion of signals sent to other processes + +exp2.3 + Alex Henrie + Remove C89 designation + +log1p.3 + Alex Henrie + Document fixes to give EDOM or ERANGE on error + +matherr.3 + Michael Kerrisk + Note that glibc 2.27 removes the 'matherr' mechanism + Michael Kerrisk + Remove crufty feature test macro requirements + +pow10.3 + Michael Kerrisk + Note that pow10() is now obsolete in favor of exp10() + Also, the pow10() functions are no longer supported by glibc, + starting with version 2.27. + +sincos.3 + Michael Kerrisk + Note that sincos() is intended to be more efficient than sin() + cos() + +cciss.4 +hpsa.4 + Eugene Syromyatnikov [Don Brace, Meelis Roos] + Mention cciss removal in Linux 4.14 + During the Linux 4.13 development cycle, the cciss driver has been + removed in favor of the hpsa driver, which has been amended with + some legacy board support. + +initrd.4 +proc.5 +bootparam.7 + Eugene Syromyatnikov + Update pointer to in-kernel initrd documentation + +initrd.4 + Eugene Syromyatnikov + Update pointer to in-kernel root over NFS documentation + +intro.4 + Michael Kerrisk + SEE ALSO: add mknod(1) and mknod(2) + +host.conf.5 + Michael Kerrisk + Add cross-reference to hosts(5) + +locale.5 + Marko Myllynen + Refer to existing locales for encoding details + Since I don't think it would make sense to try to have different + explanation for each glibc version on the locale(5) man page, I'm + proposing that we apply the below patch so that we refer to + existing locale definition files in general and not spell out the + exact format or any certain locale as a definitive guideline. + +nologin.5 + Michael Kerrisk + Add a sentence explaining why nologin is useful + +proc.5 + Eugene Syromyatnikov + Document removal of htab-reclaim sysctl file + This PPC-specific sysctl option has been removed in Linux 2.4.9.2, + according to historic Linux repository commit log. + Eugene Syromyatnikov + Add description for cpuN lines in /proc/stat + Eugene Syromyatnikov + Add description for softirq line in /proc/stat + Eugene Syromyatnikov + Document removal of timer_stats file + Michael Kerrisk + Note Linux 4.9 changes to privileges for /proc/[pid]/timerslack_ns + Michael Kerrisk + Show command used to mount /proc + Michael Kerrisk + Explicitly note in intro that some /proc files are writable + Eugene Syromyatnikov + Update pointer to in-kernel SysRq documentation + Michael Kerrisk + SEE ALSO: add sysfs(5) + Eugene Syromyatnikov + Update pointer to in-kernel security keys documentation + Benjamin Peterson + Fix path to binfmt_misc docs + Eugene Syromyatnikov + Update pointer to in-kernel MTRR documentation + Eugene Syromyatnikov + Update reference to kernel's crypto API documentation + +tzfile.5 + Paul Eggert + Sync from tzdb upstream + This makes tzfile.5 a copy of the tzdb version, except that the + tzdb version's first line is replaced by man-pages boilerplate. + The new version documents version 3 format, among other things. + Also, it removes the "Summary of the timezone information file + format" section, which should no longer be needed due to + improvements in the part of the man page. + +capabilities.7 + Michael Kerrisk + Note semantics for a program that is set-UID-root and has capabilities + Note semantics for a program that is both set-user-ID-root and has + file capabilities. + Michael Kerrisk [Dennis Knorr] + Note that a set-UID-root program may have an empty file capability set + +cgroups.7 + Michael Kerrisk + SEE ALSO: systemd-cgls(1) + +cpuset.7 + Eugene Syromyatnikov + Update pointer to in-kernel cpusets documentation + +keyrings.7 + Eugene Syromyatnikov + Document description restriction for logon keys + "logon" type has additional check that enforces colon-separated + prefix in key descriptions. + Eugene Syromyatnikov + Add pointers to kernel's documentation + Mostly because of asymmetric-keys.txt, which is outside + security/keys for some reason. + +man-pages.7 + Michael Kerrisk + Expand the guidance on formatting code snippets + +netlink.7 + David Wilder + Change buffer size in example code about reading netlink message + Michael Kerrisk [Rick Jones] + Add a comment on 8192 buffer size in example code + +pthreads.7 + Michael Kerrisk + SEE ALSO: add pthread_mutexattr_destroy(3) and pthread_mutexattr_init(3) + +signal.7 + Michael Kerrisk + Since glibc 2.26, SIGUNUSED is no longer defined + +tcp.7 + Vincent Bernat + tcp_tw_recycle is removed from Linux 4.12 + And it is completely broken. + +unicode.7 + Eugene Syromyatnikov + Update pointer to in-kernel Unicode terminal support documentation + + +==================== Changes in man-pages-4.14 ==================== + +Released: 2017-11-27, Paris + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Adhemerval Zanella +Adrian Bunk +Ahmad Fatoum +Andrea Arcangeli +Bastien Roucaries +Breno Leitao +Carlos O'Donell +Christian Brauner +Christoph Hellwig +Colm MacCárthaigh +Craig Ringer +Cristian Rodríguez +David Eckardt +Don Brace +Elliot Hughes +Eric W. Biederman +Fabio Scotoni +Fangrui Song +Florian Weimer +G. Branden Robinson +Goldwyn Rodrigues +Grégory Vander Schueren +Jakub Wilk +Jann Horn +Jeff Layton +Jens Axboe +Jonny Grant +Julien Gomes +Kees Cook +Křištof Želechovski +Lennart Poettering +Lucas Werkmeister +Marcus Folkesson +Marin H. +Mathieu Desnoyers +Matthew Wilcox +Michael Kerrisk +Michal Hocko +Michał Zegan +Mihir Mehta +Mike Frysinger +Mike Kravetz +Mike Rapoport +Miklos Szeredi +NeilBrown +Oliver Ebert +Pedro Alves +Per Böhlin +Peter Zijlstra +Petr Malat +Petr Uzel +Prakash Sangappa +Raghavendra D Prabhu +Rahul Bedarkar +Ram Pai +Richard Knutsson +Rik van Riel +Scott Vokes +Seonghun Lim +Stas Sergeev +Stefan Puiu +Thomas Gleixner +Tobias Klausmann +Tomas Pospisek +Tyler Hicks +Victor Porton +Walter Harms +Wesley Aptekar-Cassels +Yubin Ruan +Zack Weinberg +Дилян Палаузов + +Apologies if I missed anyone! + + +New and rewritten pages +----------------------- + +pthread_spin_init.3 + Michael Kerrisk [Peter Zijlstra, Thomas Gleixner, Zack Weinberg, + Florian Weimer] + New page describing pthread_spin_init(3) and pthread_spin_destroy(3) + +pthread_spin_lock.3 + Michael Kerrisk [Carlos O'Donell] + New page describing functions that lock and unlock spin locks + Add a page describing pthread_spin_lock(3), pthread_spin_unlock(3), + and pthread_spin_trylock(3). + +smartpqi.4 + Don Brace [Michael Kerrisk, G. Branden Robinson] + Document the smartpqi SCSI driver + +veth.4 + Tomáš Pospíšek, Eric Biederman, Michael Kerrisk + New page documenting veth virtual ethernet devices + Based on a page from Tomáš Pospíšek, with some clean-ups by mtk. + + +Removed pages +------------- + +infnan.3: + Michael Kerrisk + This function was in libc4 and libc5, but never part + of glibc. It ceased to be relevant nearly 20 years + ago. Time to remove the man page. + + +Newly documented interfaces in existing pages +--------------------------------------------- + +ioctl_userfaultfd.2 +userfaultfd.2 + Prakash Sangappa [Andrea Arcangeli, Mike Rapoport] + Add description for UFFD_FEATURE_SIGBUS + +madvise.2 + Rik van Riel [Colm MacCárthaigh, Michael Kerrisk] + Document MADV_WIPEONFORK and MADV_KEEPONFORK + Michael Kerrisk + Note fork() and execve() semantics for wipe-on-fork setting + +membarrier.2 + Mathieu Desnoyers + Update membarrier manpage for 4.14 + Add documentation for these new membarrier() commands: + MEMBARRIER_CMD_PRIVATE_EXPEDITED + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED + +memfd_create.2 + Mike Kravetz + Add description of MFD_HUGETLB (hugetlbfs) support + hugetlbfs support for memfd_create() was recently merged by Linus + and should be in the Linux 4.14 release. To request hugetlbfs + support a new memfd_create() flag (MFD_HUGETLB) was added. + +readv.2 + Christoph Hellwig + Document RWF_NOWAIT added in Linux 4.14 + +seccomp.2 + Tyler Hicks + Document the SECCOMP_GET_ACTION_AVAIL operation added in Linux 4.14 + Tyler Hicks + Document the SECCOMP_FILTER_FLAG_LOG flag added in Linux 4.14 + Tyler Hicks + Document the SECCOMP_RET_LOG action added In Linux 4.14 + Michael Kerrisk [Kees Cook] + Add description of SECCOMP_RET_KILL_PROCESS + Michael Kerrisk + Add SECCOMP_RET_KILL_THREAD description and rework SECCOMP_RET_KILL text + Michael Kerrisk + Document the seccomp audit logging feature added in Linux 4.14 + +seccomp.2 +proc.5 + Tyler Hicks + Document the seccomp /proc interfaces added in Linux 4.14 + Document the seccomp /proc interfaces in Linux 4.14: + /proc/sys/kernel/seccomp/actions_avail and + /proc/sys/kernel/seccomp/actions_logged. + +sigaltstack.2 + Michael Kerrisk [Stas Sergeev] + Document the SS_AUTODISARM flag added in Linux 4.7 + +proc.5 + Michael Kerrisk + Document /proc/locks + Oliver Ebert + Document /proc/kpagecgroup + Oliver Ebert + Add KPF_BALLOON, KPF_ZERO_PAGE, and KPF_IDLE for /proc/kpageflags + +pid_namespaces.7 + Michael Kerrisk + Document /proc/sys/kernel/ns_last_pid + + +New and changed links +--------------------- + +pthread_spin_destroy.3 + Michael Kerrisk + New link to new pthread_spin_init.3 page + +pthread_spin_trylock.3 +pthread_spin_unlock.3 + Michael Kerrisk + New links to new pthread_spin_lock.3 page + + +Global changes +-------------- + +Various pages + Michael Kerrisk + Consistently use "x86-64", not "x86_64" + When referring to the architecture, consistently use "x86-64", + not "x86_64". Hitherto, there was a mixture of usages, with + "x86-64" predominant. + +Various pages + G. Branden Robinson + Replace incorrect uses of Latin abbreviation "cf.". + People seem to be using "cf." ("conferre"), which means "compare", + to mean "see" instead, for which the Latin abbreviation would be + "q.v." ("quod vide" -> "which see"). + + In some cases "cf." might actually be the correct term but it's + still not clear what specific aspects of a function/system call + one is supposed to be comparing. + + + +Changes to individual pages +--------------------------- + +capget.2 + Michael Kerrisk + Clarify discussion of kernels that have no VFS capability support + +clock_getres.2 + Michael Kerrisk + clock_gettime() may be implemented in the vDSO + +clone.2 + Michael Kerrisk + Warn that the clone() wrapper modifies child_stack in the parent + Michael Kerrisk + Rework the discussion of the historical CLONE_PID for clarity + Michael Kerrisk + Add NOTES heading + Michael Kerrisk + Add a reference to new veth(4) page + Michael Kerrisk + Eliminate some redundant phrasing in discussion of "fn()" + Michael Kerrisk + Combine redundant paragraphs describing child_stack==NULL + Michael Kerrisk + Note that child_stack can be NULL when using the raw system call + Michael Kerrisk + Remove a redundant paragraph + +connect.2 + Michael Kerrisk + Clarify that ECONNREFUSED is for stream sockets + +fcntl.2 + Michael Kerrisk [Jens Axboe] + Inode read-write hints persist only until the filesystem is unmounted + +flock.2 + Michael Kerrisk + Move NFS details to a headed subsection + Michael Kerrisk [Petr Uzel] + Placing an exclusive lock over NFS requires the file is open for writing + +fork.2 + Rik van Riel [Colm MacCárthaigh, Michael Kerrisk] + Document effect of MADV_WIPEONFORK + +fork.2 +getsid.2 +setpgid.2 +setsid.2 + Ahmad Fatoum + Include in SYNOPSIS to obtain declaration of pid_t + +fsync.2 + Craig Ringer + ERRORS: add ENOSPC + +getcpu.2 + Michael Kerrisk + getcpu() may have an implementation in the vDSO + +getpid.2 + Michael Kerrisk + Mention that PID == TGID, and note contrast with TID + Michael Kerrisk + SEE ALSO: add gettid(2) + +getrandom.2 + Michael Kerrisk [Fabio Scotoni] + ERRORS: add ENOSYS + +getrlimit.2 + Michael Kerrisk [Scott Vokes] + Make it clear RLIMIT_NPROC is a limit on current number of processes + https://twitter.com/silentbicycle/status/893849097903505409 + +gettid.2 + Michael Kerrisk + SEE ALSO: add getpid(2) + +gettimeofday.2 + Michael Kerrisk + Note that gettimeofday() may be implemented in the vDSO + +ioctl_userfaultfd.2 + Michael Kerrisk + Rework version information for feature bits + +io_submit.2 + Goldwyn Rodrigues + Add iocb details to io_submit + Add more information about the iocb structure. Explains the + fields of the I/O control block structure which is passed to the + io_submit() call. + Michael Kerrisk + Add cross-reference to io_getevents(2) + Michael Kerrisk + Cross reference pwritev(2) in discussion of RWF_SYNC and RWF_DSYNC + +membarrier.2 + Mathieu Desnoyers + Update example to take TSO into account + The existing example given specifically states that it focus on + x86 (TSO memory model), but gives a read-read vs write-write + ordering example, even though this scenario does not require + explicit barriers on TSO. + + So either we change the example architecture to a weakly-ordered + architecture, or we change the example to a scenario requiring + barriers on x86. + + Let's stay on x86, but provide a Dekker as example instead. + Mathieu Desnoyers + Adapt the MEMBARRIER_CMD_SHARED return value documentation to + reflect that it now returns -EINVAL when issued on a system + configured for nohz_full. + +memfd_create.2 + Michael Kerrisk + Note the limit for size of 'name' + +mkdir.2 + Michael Kerrisk [Raghavendra D Prabhu] + ERRORS: document EINVAL error for invalid filename + +mmap.2 + Michael Kerrisk + Add explicit text noting that 'length' must be greater than 0 + Currently, this detail is hidden in ERRORS. Make it clear in + the main text. + Michael Kerrisk + SEE ALSO: add ftruncate(2) + +mremap.2 + Mike Kravetz [Florian Weimer, Jann Horn] + Add description of old_size == 0 functionality + Since at least the 2.6 time frame, mremap() would create a new + mapping of the same pages if 'old_size == 0'. It would also leave + the original mapping. This was used to create a 'duplicate + mapping'. + + A recent change was made to mremap() so that an attempt to create a + duplicate a private mapping will fail. + Michael Kerrisk [Michal Hocko, Mike Kravetz] + BUGS: describe older behavior for old_size==0 on private mappings + Explain the older behavior, and why it changed. This is a + follow-up to Mike Kravetz's patch documenting the behavior + for old_size==0 with shared mappings. + Michael Kerrisk + Reformat EINVAL errors as a list + +open.2 + Michael Kerrisk + By contrast with O_RDONLY, no file permissions are required for O_PATH + Note one of the significant advantages of O_PATH: many of the + operations applied to O_PATH file descriptors don't require + read permission, so there's no reason why the open() itself + should require read permission. + Michael Kerrisk + Note use of O_PATH to provide O_EXEC functionality + Michael Kerrisk + Mention O_PATH file descriptor use with fexecve(3) + Michael Kerrisk + ERRORS: document EINVAL error for invalid filename + Michael Kerrisk + Clarify that O_TMPFILE creates a *regular* file + Michael Kerrisk + Make it explicit that O_CREAT creates a regular file + Michael Kerrisk + Since glibc 2.26, the open() wrapper always uses the openat() syscall + Michael Kerrisk + Change pathname used in discussion of rationale for openat() + /path/to/file is a little confusing as a pathname + Michael Kerrisk + Make the purpose of open() a little clearer at the start of the page + +open_by_handle_at.2 + NeilBrown + Clarifications needed due to NFS reexport + NeilBrown [Lennart Poettering] + Clarify MAX_HANDLE_SZ + As hinted in the kernel source, MAX_HANDLE_SZ is a hint + rather than a promise. + +pipe.2 + Michael Kerrisk [Marin H.] + Since Linux 4.5, fcntl() can be used to set O_DIRECT for a pipe + See https://bugzilla.kernel.org/show_bug.cgi?id=197917 + +pivot_root.2 + Michael Kerrisk + SEE ALSO: add switch_root(8) + +pkey_alloc.2 + Breno Leitao + Fix argument order + Currently pkey_alloc() syscall has two arguments, and the very + first argument is still not supported and should be set to zero. + The second argument is the one that should specify the + page access rights. + +ptrace.2 + Michael Kerrisk + SEE ALSO: add ltrace(1) + +reboot.2 + Michael Kerrisk [Michał Zegan] + Fix bogus description of reboot() from non-initial PID namespace + The current text was confused (mea culpa). No signal is sent to + the init() process. Rather, depending on the 'cmd' given to + reboot(), the 'group_exit_code' value will set to either SIGHUP or + SIGINT, with the effect that one of those signals is reported to + wait() in the parent process. + + See https://bugzilla.kernel.org/show_bug.cgi?id=195899 + Michael Kerrisk + SEE ALSO: remove reboot(8) (synonym for halt(8)); add shutdown(8) + Michael Kerrisk + SEE ALSO: add systemctl(1), systemd(1) + +recvmmsg.2 +sendmmsg.2 + Elliot Hughes + Type fixes in SYNOPSIS + [mtk: The raw system calls use "unsigned int", but the glibc + wrappers have "int" for the 'flags' argument.] + +sched_setaffinity.2 + Michael Kerrisk + SEE ALSO: add numactl(8) + +sched_yield.2 + Michael Kerrisk [Peter Zijlstra] + sched_yield() is intended for use with real-time scheduling policies + +seccomp.2 + Michael Kerrisk [Adhemerval Zanella, Florian Weimer, Kees Cook] + Add some Caveats regarding the use of seccomp filters + Michael Kerrisk + Document the "default" filter return action + The kernel defaults to either SECCOMP_RET_KILL_PROCESS + or SECCOMP_RET_KILL_THREAD for unrecognized filter + return action values. + Michael Kerrisk [Kees Cook] + Change SECCOMP_RET_ACTION to SECCOMP_RET_ACTION_FULL + In Linux 4.14, the action component of the return value + switched from being 15 bits to being 16 bits. A new macro, + SECCOMP_RET_ACTION_FULL, that masks the 16 bits was added, + to replace the older SECCOMP_RET_ACTION. + Michael Kerrisk + Explicitly note that other threads survive SECCOMP_RET_KILL_THREAD + Michael Kerrisk + SEE ALSO: add strace(1) + +send.2 + Grégory Vander Schueren + Add EALREADY to ERRORS + +setns.2 + Michael Kerrisk + SEE ALSO: add nsenter(1) + +shmop.2 + Yubin Ruan + Note that return value of shmat() is page-aligned + +sigaction.2 + Michael Kerrisk + Rework discussion of SA_SIGINFO handler arguments + Expand and rework the text a little, in particular adding + a reference to sigreturn(2) as a source of further + information about the ucontext argument. + Michael Kerrisk + Mention that libc sets the act.sa_restorer field + +sigaltstack.2 + Michael Kerrisk [Walter Harms] + Reword BUGS text to be a little clearer + Michael Kerrisk + Add explicit error handling to example code + Michael Kerrisk + Add use of sigaction() to example code + +sigreturn.2 + Michael Kerrisk + Make it a little clearer that a stack frame is created by the kernel + Michael Kerrisk + glibc has a simple wrapper for sigreturn() that returns ENOSYS + +splice.2 + Michael Kerrisk + Since Linux 2.6.31,'fd_in' and 'fd_out' may both refer to pipes + +stat.2 + Michael Kerrisk [Richard Knutsson] + Use lstat() instead of stat() + It's more logical to use lstat() in the example code, + since one can then experiment with symbolic links, and + also the S_IFLNK case can also occur. + NeilBrown + Correct AT_NO_AUTOMOUNT text and general revisions + Expand on the relationship between fstatat() and the other three + functions, and improve the description of AT_NO_AUTOMOUNT. + Specifically, both stat() and lstat() act the same way with + respect to automounts, and that behavior matches fstatat() with + the AT_NO_AUTOMOUNT flag. + +statfs.2 + Michael Kerrisk + Add some comments noting filesystems that are no longer current + Michael Kerrisk + Add comments describing a few filesystem types + +time.2 + Michael Kerrisk + Note that time() may be implemented in the vDSO + Michael Kerrisk [Victor Porton] + Language fix-up: clarify that "tasks" means "work" + See https://bugzilla.kernel.org/show_bug.cgi?id=197183 + +userfaultfd.2 + Mike Rapoport + BUGS: document spurious UFFD_EVENT_FORK + +write.2 +fsync.2 +close.2 + NeilBrown [Jeff Layton] + Update description of error codes + Since 4.13, errors from writeback are more reliably reported + to all file descriptors that might be relevant. + + Add notes to this effect, and also add detail about ENOSPC and + EDQUOT which can be delayed in a similar many to EIO - for NFS + in particular. + +abort.3 + Michael Kerrisk + Starting with glibc 2.27, abort() does not attempt to flush streams + Michael Kerrisk + SEE ALSO: add assert(3) + +backtrace_symbols_fd(3) + Stefan Puiu [Walter Harms] + backtrace_symbols_fd() can trigger a call to malloc() + +daemon.3 + Michael Kerrisk + SEE ALSO: add daemon(7), logrotate(8) + +errno.3 + Michael Kerrisk + Note use of errno(1) to look up error names and numbers + Michael Kerrisk + Update error list for POSIX.1-2008 + POSIX.1-2008 specified a couple of new errors not present in + POSIX.1-2001. + Michael Kerrisk [Walter Harms] + Note the use of perror(3) and strerror(3) + Michael Kerrisk + Recast the advice against manually declaring 'errno' + Recast the advice against manually declaring 'errno' to + a more modern perspective. It's 13 years since the original + text was added, and even then it was describing old behavior. + Cast the description to be about behavior further away in + time, and note more clearly that manual declaration will + cause problems with modern C libraries. + Michael Kerrisk + Add some missing errors + Michael Kerrisk + Error numbers are positive values (rather than nonzero values) + POSIX.1-2008 noted the explicitly the change (to align with + the C standards) that error numbers are positive, rather + than nonzero. + Michael Kerrisk + Reorganize the text and add some subheadings + Restructure the text and add some subheadings for better + readability. No (intentional) content changes. + Michael Kerrisk [Wesley Aptekar-Cassels] + Note that error numbers vary somewhat across architectures + Added after a patch from Wesley Aptekar-Cassels that proposed + to add error numbers to the text. + Michael Kerrisk + Note the also provides the symbolic error names + Michael Kerrisk [Walter Harms] + Explicitly note that error numbers vary also across UNIX systems + +exec.3 + Michael Kerrisk + glibc 2.24 dropped CWD from the default path + Document the glibc 2.24 change that dropped CWD from the default + search path employed by execlp(), execvp() and execvpe() when + PATH is not defined. + +fexecve.3 + Michael Kerrisk + O_PATH file descriptors are also usable with fexecve() + Cristian Rodríguez + fexecve() is now implemented with execveat(2), where available + Michael Kerrisk + Add some detail on the glibc implementation of fexecve() via execveat(2) + +ffs.3 + Michael Kerrisk + glibc 2.27 relaxes the FTM requirements for ffsl() and ffsll() + +get_nprocs_conf.3 + Michael Kerrisk + SEE ALSO: add nproc(1) + +lround.3 + Michael Kerrisk [David Eckardt] + Clarify that lround() rounds *halfway cases" away from zero + See https://bugzilla.kernel.org/show_bug.cgi?id=194601 + +makedev.3 + Adrian Bunk + glibc has deprecated exposing the definitions via + +mallinfo.3 + Jakub Wilk + Fix the example + Remove reference to non-standard "tlpi_hdr.h" and replace calls to + functions that were declared in this header. + +malloc.3 + Michael Kerrisk + SEE ALSO: add valgrind(1) + +popen.3 + Michael Kerrisk + Add a cross reference to Caveats in system(3) + All of the same risks regarding system() also apply to popen(). + +pthread_detach.3 + Michael Kerrisk [Rahul Bedarkar] + Improve sentence describing freeing of resources on process termination + As reported by Rahul, the existing sentence could be read as + meaning that resources of joined and terminated detached + threads are freed only at process termination. Eliminate + that possible misreading. + +pthread_yield.3 + Michael Kerrisk [Peter Zijlstra] + pthread_yield() is intended for use with real-time scheduling policies + +setlocale.3 + Michael Kerrisk [Křištof Želechovski] + The standards do not specify all of the locale categories + +sockatmark.3 + Seonghun Lim + Fix cruft in code example + +stdio.3 + Michael Kerrisk + Use proper section cross references in function list + Michael Kerrisk + Remove crufty reference to pc(1) + +sysconf.3 + Michael Kerrisk + Mention get_nprocs_conf(3) + Mention get_nprocs_conf(3) in discussion of _SC_NPROCESSORS_CONF + and _SC_NPROCESSORS_ONLN. + +system.3 + Michael Kerrisk [Bastien Roucaries] + Create a "Caveats" subsection to hold warnings about the use of system() + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882222 + Michael Kerrisk [Bastien Roucaries] + Mention PATH explicitly in discussion of system() and set-UID programs + Michael Kerrisk [Bastien Roucaries] + Note that user input for system() should be carefully sanitized + Michael Kerrisk + Mention file capabilities in discussion of privileged programs + Michael Kerrisk + Correctly note which shell Debian uses as (noninteractive) /bin/sh + +core.5 + Michael Kerrisk + Add some notes on systemd and core dumps + Michael Kerrisk + Dumps are not produced if core_pattern is empty and core_uses_pid is 0 + Michael Kerrisk [Per Böhlin] + RLIMIT_CORE is not enforced when piping core dump to a program + Michael Kerrisk + SEE ALSO: add systemd-coredump(8) + Michael Kerrisk + SEE ALSO: add coredumpctl(1) + +filesystems.5 + Michael Kerrisk [Jonny Grant] + Replace crufty URL reference for 'smb' with up-to-date URL + Michael Kerrisk [Jonny Grant] + Refer to VFAT as an extended FAT (not DOS) filesystem + +proc.5 + Michael Kerrisk [Miklos Szered, Ram Pai] + Correct the description of the parent mount ID for /proc/PID/mountinfo + Oliver Ebert + Add mmap-exclusive bit for /proc/[pid]/pagemap + Marcus Folkesson + Update description of /proc//oom_score + Lucas Werkmeister + Clarify permissions in /proc/[pid]/fd/ + Michael Kerrisk + Add reference to pid_namespaces(7) for /proc/sys/kernel/ns_last_pid + +shells.5 + Michael Kerrisk + SEE ALSO: add pam_shells(8) + +sysfs.5 + Michael Kerrisk + Add a brief explanation of /sys/kernel + Michael Kerrisk + Add a brief description of /sys/class/net + Michael Kerrisk + Add a brief description of /sys/kernel/mm + Michael Kerrisk + Add brief description of /sys/kernel/debug/tracing + Michael Kerrisk + Add a description of /sys/kernel/mm/hugepages + +arp.7 + Michael Kerrisk + SEE ALSO: add arpd(8) + +capabilities.7 + Michael Kerrisk + Add a reference to xattr(7) in the discussion of extended attributes + Michael Kerrisk + SEE ALSO: add captest(8) + +epoll.7 + Michael Kerrisk + Note existence of kcmp() KCMP_EPOLL_TFD operation + +fifo.7 + Michael Kerrisk + Refer reader to pipe(7) for details of I/O semantics of FIFOs + +hier.7 + Michael Kerrisk + SEE ALSO: add file-hierarchy(7) + +icmp.7 + Michael Kerrisk + SEE ALSO: add rdisc(8) + +man-pages.7 + Michael Kerrisk + Note that "x86-64" is generally preferred over "x86_64" + G. Branden Robinson + Add a use case for real minus character + +namespaces.7 + Michael Kerrisk + Add a reference to new veth(4) page + Michael Kerrisk + EXAMPLE: refer also to example in clone(2) + +pid_namespaces.7 + Michael Kerrisk + SEE ALSO: add reboot(2) + Add because reboot(2) has special semantics for non-initial + PID namespaces. + +pthreads.7 + Michael Kerrisk + SEE ALSO: add pthread_spin_init(3) and pthread_spin_lock(3) + +socket.7 + Michael Kerrisk [Petr Malat, Tobias Klausmann] + Correct the description of SO_RXQ_OVFL + +standards.7 + Michael Kerrisk + SEE ALSO: add getconf(1), confstr(3), pathconf(3), sysconf(3) + +user_namespaces.7 + Christian Brauner [Michael Kerrisk] + Document new 340 line idmap limit + +ld.so.8 + Michael Kerrisk [Yubin Ruan] + Simplify language around conferring capabilities + The statement "conferring permitted or effective capabilities" + to the process is somewhat redundant. Binaries with capabilities + confer capabilities only to those process capability sets, so it's + simpler to just say "confers capabilities to the process". + + +==================== Changes in man-pages-4.15 ==================== + +Released: 2018-02-02, Palo Alto + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Adam Liddell +Andrea Parri +Andries E. Brouwer +Elie Roudninski +Eric Benton +Florian Weimer +G. Branden Robinson +Jakub Wilk +Joel Williamson +John Hubbard +Jorgen Hansen +Keno Fischer +Michael Kerrisk +Michal Hocko +NeilBrown +Nikola Forró +Nikolay Borisov +Pradeep Kumar +QingFeng Hao +Ricardo Biehl Pasquali +roblabla +Roman Gushchin +Shawn Landden +Stefan Hajnoczi +Stefan Raspl +Tejun Heo + +Apologies if I missed anyone! + + +New and rewritten pages +----------------------- + +s390_sthyi.2 + QingFeng Hao [Michael Kerrisk] + New page for s390-specific s390_sthyi(2) + +network_namespaces.7 + Michael Kerrisk + New page describing network namespaces + Based on content moved from namespaces(7) + +vsock.7 + Stefan Hajnoczi [Jorgen Hansen, Michael Kerrisk] + Document the VSOCK socket address family + + +Newly documented interfaces in existing pages +--------------------------------------------- + +cgroups.7 + Michael Kerrisk [Tejun Heo] + Document cgroups v2 "thread mode" + Michael Kerrisk [Tejun Heo] + Document cgroup v2 delegation via the 'nsdelegate' mount option + Michael Kerrisk + Document the cgroup.max.depth and cgroup.max.descendants files + Michael Kerrisk + Document 'release_agent' mount option + Michael Kerrisk [Roman Gushchin] + Document /sys/kernel/cgroup/delegate + Michael Kerrisk [Roman Gushchin] + Document /sys/kernel/cgroup/features + Michael Kerrisk [Roman Gushchin] + Document cgroups v2 cgroup.stat file + + +Global changes +-------------- + +Various pages + G. Branden Robinson + Standardize on "nonzero" + Also add this term to the style guide in man-pages(7). + + +Changes to individual pages +--------------------------- + +bpf.2 + Nikolay Borisov + Sync list of supported map types with 4.14 kernel + +copy_file_range.2 + Michael Kerrisk + Library support was added in glibc 2.27 + Shawn Landden + glibc provides a user-space emulation where the system call is absent + Florian Weimer + EFBIG errors are possible, similar to write(2) + Michael Kerrisk + ERRORS: add EISDIR + Michael Kerrisk + Order ERRORS alphabetically + Michael Kerrisk + Add comment to code example explaining use of syscall(2) + +fcntl.2 +read.2 +write.2 + NeilBrown + Document "Lost locks" as cause for EIO. + If an advisory lock is lost, then read/write requests on any + affected file descriptor can return EIO - for NFSv4 at least. + +memfd_create.2 + Michael Kerrisk + glibc support for memfd_create() was added in version 2.27 + +mlock.2 + Michael Kerrisk + Make details for MLOCK_ONFAULT a little more explicit + Michael Kerrisk + glibc support for mlock2() is added in version 2.27 + +mmap.2 + John Hubbard [Michael Hocko] + MAP_FIXED is no longer discouraged + MAP_FIXED has been widely used for a very long time, yet the man + page still claims that "the use of this option is discouraged". + John Hubbard + MAP_FIXED updated documentation + -- Expand the documentation to discuss the hazards in + enough detail to allow avoiding them. + + -- Mention the upcoming MAP_FIXED_SAFE flag. + + -- Enhance the alignment requirement slightly. + +mount.2 + Keno Fischer [Michael Kerrisk] + Add EINVAL error condition when MS_BINDing MNT_LOCKED submounts + +mprotect.2 +pkey_alloc.2 + Michael Kerrisk + Glibc support for memory protection keys was added in version 2.27 + +perf_event_open.2 + Michael Kerrisk + SEE ALSO: add perf(1) + +pkey_alloc.2 + Michael Kerrisk + Clarify description of pkey_alloc() 'flags' argument + +prctl.2 + Michael Kerrisk + Defer to capabilities(7) for discussion of the "keep capabilities" flag + +recvmmsg.2 +sendmmsg.2 + Nikola Forró + Point out that error handling is unreliable + +seccomp.2 + Michael Kerrisk + Clarify that SECCOMP_RET_TRAP SIGSYS signal is thread-directed + +syscalls.2 + Michael Kerrisk + Add s390-specific s390_sthyi(2) to syscall list + +unshare.2 + Michael Kerrisk + Clarify that EUSERS occurred only until kernel 4.8 + +errno.3 + Michael Kerrisk + 'errno -s' can be used to search for errors by string in description + Michael Kerrisk + Add Linux error text corresponding to ENOMEM + +fgetpwent.3 + Michael Kerrisk + Add missing ATTRIBUTES preamble + +fts.3 + Michael Kerrisk [Pradeep Kumar] + fts_pathlen = strlen(fts_path) + strlen(fts_name) + +fuse.4 + Michael Kerrisk + Places errors in alphabetical order (no content changes) + +veth.4 + Michael Kerrisk + Add network_namespaces(7) + +sysfs.5 + Michael Kerrisk + Refer to cgroups(7) for information about files in /sys/kernel/cgroup + +capabilities.7 + Michael Kerrisk + Note which capability sets are affected by SECBIT_NO_SETUID_FIXUP + Note explicitly that SECBIT_NO_SETUID_FIXUP is relevant for + the permitted, effective, and ambient capability sets. + Michael Kerrisk + Deemphasize the ancient prctl(2) PR_SET_KEEPCAPS command + The modern approach is SECBITS_KEEP_CAPS. + Michael Kerrisk + Clarify effect of CAP_SETFCAP + Make it clear that CAP_SETFCAP allows setting arbitrary + capabilities on a file. + Michael Kerrisk + Clarify which capability sets are effected by SECBIT_KEEP_CAPS + This flag has relevance only for the process permitted and + effective sets. + Michael Kerrisk + Rephrase CAP_SETPCAP description + * Mention kernel versions. + * Place current kernel behavior first + Michael Kerrisk + SECBIT_KEEP_CAPS is ignored if SECBIT_NO_SETUID_FIXUP is set + Michael Kerrisk + Ambient set is also cleared when UIDs are set to nonzero value + +cgroups.7 + Michael Kerrisk + Add a more complete description of cgroup v1 named hierarchies + Michael Kerrisk + Add a section on unmounting cgroup v1 filesystems + Michael Kerrisk + Add subsection describing cgroups v2 subtree delegation + Michael Kerrisk + Mention ENOENT error that can occur when writing to subtree_control file + Michael Kerrisk + Add list of currently available version 2 controllers + Nikolay Borisov + Add information about RDMA controller + Michael Kerrisk + Rewrite the description of cgroup v2 subtree control + Michael Kerrisk [Tejun Heo] + Note Linux 4.11 changes to cgroup v2 delegation containment rules + Michael Kerrisk + systemd(1) nowadays automatically mounts the cgroup2 filesystem + Michael Kerrisk + Clarify that cgroup.controllers is read-only + Michael Kerrisk + Elaborate a little on problems of splitting threads across cgroups in v1 + Michael Kerrisk [Tejun Heo] + Tweak the description of delegation of cgroup.subtree_control + +ip.7 + Ricardo Biehl Pasquali + INADDR_* values cannot be assigned directly to 's_addr' + Michael Kerrisk + s/INADDR_ANY/INADDR_LOOPBACK/ in discussion of htonl() + INADDR_LOOPBACK is a better example, since it is not + byte-order neutral. + +namespaces.7 +network_namespaces.7 + Michael Kerrisk + Move content from namespaces(7) to network_namespaces(7) + +pid_namespaces.7 + Michael Kerrisk + SEE ALSO: add mount_namespaces(7) + +sched.7 + Michael Kerrisk [Andrea Parri] + Correctly describe effect of priority changes for RT threads + The placement of a thread in the run queue for its new + priority depends on the direction of movement in priority. + (This appears to contradict POSIX, except in the case of + pthread_setschedprio().) + +user_namespaces.7 + Michael Kerrisk + Mention NS_GET_OWNER_UID ioctl() operation + + +==================== Changes in man-pages-4.16 ==================== + +Released: 2018-04-30, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Adam Borowski +Andy Owen +Carlos O'Donell +Carsten Grohmann +Elvira Khabirova +Enrique Garcia +Frederic Brault +Heinrich Schuchardt +Howard Johnson +Jakub Wilk +Jan Kara +Jann Horn +John Hubbard +Jürg Billeter +Konstantin Grinemayer +Konstantin Khlebnikov +Martin Mares +Mathieu Desnoyers +Mattias Andrée +Michael Kerrisk +Michal Hocko +Mike Frysinger +Nikos Mavrogiannopoulos +Robin Kuzmin +Ross Zwisler +Rusty Russell +Serge E. Hallyn +Song Liu +Tomi Salminen + +Apologies if I missed anyone! + + +Newly documented interfaces in existing pages +--------------------------------------------- + +membarrier.2 + Mathieu Desnoyers [Michael Kerrisk] + Document new membarrier commands introduced in Linux 4.16 + Document the following membarrier commands introduced in + Linux 4.16: + + MEMBARRIER_CMD_GLOBAL_EXPEDITED + (the old enum label MEMBARRIER_CMD_SHARED is now an + alias to preserve header backward compatibility) + MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED + MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE + +mmap.2 + Jan Kara [Ross Zwisler, Michael Kerrisk] + Add description of MAP_SHARED_VALIDATE and MAP_SYNC + Michal Hocko [John Hubbard, Michael Kerrisk, Jann Horn] + Document new MAP_FIXED_NOREPLACE flag + 4.17+ kernels offer a new MAP_FIXED_NOREPLACE flag which allows + the caller to atomically probe for a given address range. + +readv.2 +io_submit.2 + Jürg Billeter + Document RWF_APPEND added in Linux 4.16 + +capabilities.7 + Michael Kerrisk + Describe file capability versioning + Michael Kerrisk [Serge E. Hallyn] + Document namespaced-file capabilities + [There's still more work to be done on this new text] + + +Changes to individual pages +--------------------------- + +bpf.2 + Michael Kerrisk + Update list of architectures that support JITed eBPF + And note kernel version numbers where support is added. + Michael Kerrisk + Kernel 4.15 added CONFIG_BPF_JIT_ALWAYS_ON + This causes the JIT compiler to be always on and + forces bpf_jit_enable to 1. + +execve.2 + Michael Kerrisk + Note that describing execve as "executing a new process" is misleading + This misdescription is so common that it's worth calling it out + explicitly. + Michael Kerrisk + More explicitly describe effect of execve() in the opening paragraph + +fallocate.2 + Michael Kerrisk + Since Linux 4.16, Btrfs supports FALLOC_FL_ZERO_RANGE + +getrlimit.2 + Michael Kerrisk + CAP_SYS_RESOURCE capability is required in *initial user namespace* + +io_submit.2 + Michael Kerrisk + Add kernel version numbers for various 'aio_rw_flags' flags + Michael Kerrisk + Place 'aio_rw_flags' in alphabetical order + +mmap.2 + Jann Horn + MAP_FIXED is okay if the address range has been reserved + Clarify that MAP_FIXED is appropriate if the specified address + range has been reserved using an existing mapping, but shouldn't + be used otherwise. + Michael Kerrisk + Move the text on MAP_FIXED to NOTES + This text has become rather long, making it somewhat + unwieldy in the discussion of the mmap() flags. Therefore, + move it to NOTES, with a pointer in DESCRIPTION referring + the reader to NOTES. + Michael Kerrisk [Heinrich Schuchardt] + Clarify that when addr==NULL, address chosen by kernel is page-aligned + Michael Kerrisk + Add a little historical detail on the obsolete MAP_DENYWRITE + +mount.2 + Michael Kerrisk + ERRORS: add EBUSY for the case of trying to stack same mount twice + Michael Kerrisk + Remove a couple of obsolete EBUSY errors + As far as I can tell, these EBUSY errors disappeared + with the addition of stackable mounts in Linux 2.4. + +msgget.2 +semget.2 +shmget.2 + Michael Kerrisk + The purpose of "flags" == 0 is to obtain ID of an existing IPC object + This was implied in these pages, but the meaning of "flags" == 0 + could be more explicit, as indicated by questions such as + https://stackoverflow.com/questions/49833569/flag-value-of-semget-function + +open.2 + Jann Horn + Document more -ETXTBSY conditions + Jakub Wilk + Add missing argument for snprintf() in example code + +perf_event_open.2 + Song Liu + Add type kprobe and uprobe + Two new types kprobe and uprobe are being added to + perf_event_open(), which allow creating kprobe or + uprobe with perf_event_open. This patch adds + information about these types. + +ptrace.2 + Jann Horn + Copy retval info for SECCOMP_GET_FILTER to right section + The "RETURN VALUE" section made a claim that was incorrect for + PTRACE_SECCOMP_GET_FILTER. Explicitly describe the behavior of + PTRACE_SECCOMP_GET_FILTER in the "RETURN VALUE" section (as + usual), but leave the now duplicate description in the section + describing PTRACE_SECCOMP_GET_FILTER, since the + PTRACE_SECCOMP_GET_FILTER section would otherwise probably become + harder to understand. + +readv.2 + Michael Kerrisk + Remove redundant sentence + +seccomp.2 + Michael Kerrisk + Note that execve() may change syscall numbers during life of process + On a multiarch/multi-ABI platform such as modern x86, each + architecture/ABI (x86-64, x32, i386)has its own syscall numbers, + which means a seccomp() filter may see different syscall numbers + over the life of the process if that process uses execve() to + execute programs that has a different architectures/ABIs. + Michael Kerrisk + Note which architectures support seccomp BPF + Michael Kerrisk + In EXAMPLE, clearly note that x32 syscalls are >= X32_SYSCALL_BIT + +shutdown.2 + Carsten Grohmann + SEE ALSO: add close(2) + +syscall.2 + Adam Borowski + Add riscv + +wait.2 + Michael Kerrisk [Robin Kuzmin] + wait() and waitpid() block the calling thread (not process) + +wait4.2 + Michael Kerrisk [Martin Mares] + Soften the warning against the use of wait3()/wait4() + These functions are nonstandard, but there is no replacement. + + See https://bugzilla.kernel.org/show_bug.cgi?id=199215 + +crypt.3 +encrypt.3 + Carlos O'Donell [Michael Kerrisk] + Add notes about _XOPEN_CRYPT + The distribution may choose not to support _XOPEN_CRYPT in the + case that the distribution has transitioned from glibc crypt to + libxcrypt. + +fseek.3 + Michael Kerrisk [Andy Owen] + ERRORS: EBADF should be ESPIPE + Michael Kerrisk + Improve EPIPE error text + +getcwd.3 + Carlos O'Donell + Mention that "(unreachable)" is no longer returned for glibc >= 2.27. + +makedev.3 + Michael Kerrisk + Since glibc 2.28, no longer defines these macros + +pthread_create.3 + Frederic Brault + Note default thread stack size for several architectures + +tsearch.3 + Jann Horn + Clarify items vs nodes + The manpage claimed that tsearch() returns a pointer to a data + item. This is incorrect; tsearch() returns a pointer to the + corresponding tree node, which can also be interpreted as a + pointer to a pointer to the data item. + + Since this API is quite unintuitive, also add a clarifying + sentence. + Jann Horn + tdelete() can return dangling pointers + POSIX says that deleting the root node must cause tdelete() to + return some unspecified non-NULL pointer. Glibc implements it by + returning a dangling pointer to the (freed) root node. + Therefore, explicitly note that tdelete() may return bad pointers + that must not be accessed. + +elf.5 + Michael Kerrisk + SEE ALSO: add patchelf(1) + +filesystems.5 + Michael Kerrisk + Add an entry for tmpfs(5) + +group.5 + Michael Kerrisk + SEE ALSO: add vigr(8) + +passwd.5 + Michael Kerrisk + SEE ALSO: add vipw(8) + +sysfs.5 + Michael Kerrisk + Add brief note on /sys/fs/smackfs + +tmpfs.5 + Mike Frysinger + Document current mount options + Some of this content is moved from the mount(8) man page. + Style was based on proc(5) sections. + Michael Kerrisk + Remove reference to mount(8) for discussion of mount options + The mount options are now described in this page. + Michael Kerrisk + SEE ALSO: add Documentation/vm/transhuge.txt + Michael Kerrisk + Reformat 'huge' and 'mpol' mount option values as lists + Michael Kerrisk + Describe 'mpol' mount options + Based on text from Documentation/filesystems/tmpfs.txt. + Michael Kerrisk + Document 'huge' mount options + Based on text from Documentation/vm/transhuge.txt. + Michael Kerrisk + SEE ALSO: add set_mempolicy(2) + Michael Kerrisk + Document mpol=local mount option + +capabilities.7 + Michael Kerrisk + Remove redundant mention of PTRACE_SECCOMP_GET_FILTER + +cgroups.7 + Michael Kerrisk + cgroup.events transitions generate POLLERR as well as POLLPRI + +mount_namespaces.7 + Michael Kerrisk + Note another case where shared "peer groups" are formed + +namespaces.7 + Michael Kerrisk [Konstantin Khlebnikov] + Mention that device ID should also be checked when comparing NS symlinks + When comparing two namespaces symlinks to see if they refer to + the same namespace, both the inode number and the device ID + should be compared. This point was already made clear in + ioctl_ns(2), but was missing from this page. + Michael Kerrisk + Note an idiosyncrasy of /proc/[pid]/ns/pid_for_children + /proc/[pid]/ns/pid_for_children has a value only after first + child is created in PID namespace. Verified by experiment. + +network_namespaces.7 + Michael Kerrisk + Network namespaces isolate the UNIX domain abstract socket namespace + Michael Kerrisk + Add cross reference to unix(7) + For further information on UNIX domain abstract sockets. + +posixoptions.7 + Carlos O'Donell + Expand XSI Options groups + We define in detail the X/Open System Interfaces i.e. _XOPEN_UNIX + and all of the X/Open System Interfaces (XSI) Options Groups. + + The XSI options groups include encryption, realtime, advanced + realtime, realtime threads, advanced realtime threads, tracing, + streams, and legacy interfaces. + Michael Kerrisk + Use a more consistent, less cluttered layout for option lists + Michael Kerrisk + Make function lists more consistent and less cluttered + Use more consistent layout for lists of functions, and + remove punctuation from the lists to make them less cluttered. + +socket.7 + Michael Kerrisk [Tomi Salminen] + Fix error in SO_INCOMING_CPU code snippet + The last argument is passed by value, not reference. + +time.7 + Michael Kerrisk [Enrique Garcia] + Mention clock_gettime()/clock_settime() rather than [gs]ettimeofday() + gettimeofday() is declared obsolete by POSIX. Mention instead + the modern APIs for working with the realtime clock. + + See https://bugzilla.kernel.org/show_bug.cgi?id=199049 + +unix.7 + Michael Kerrisk [Rusty Russell] + ERRORS: add EBADF for sending closed file descriptor with SCM_RIGHTS + +vdso.7 + Michael Kerrisk + VDSO symbols (system calls) are not visible to seccomp(2) filters + +xattr.7 + Michael Kerrisk + SEE ALSO: add selinux(8) + +ld.so.8 + Mike Frysinger + Make lack of separator escaping explicit + Make it clear that the delimiters in LD_PRELOAD, LD_LIBRARY_PATH, + and LD_AUDIT cannot be escaped so people don't try various methods + (such as \:) to workaround it. + Michael Kerrisk + Remove unneeded mention of PATH in discussion of LD_LIBRARY_PATH + This brief sentence doesn't add value to the text. + + +==================== Changes in man-pages-5.00 ==================== + +Released: 2019-03-06, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Adam Manzanares +Alan Jenkins +Alec Leamas +Alessandro Vesely +Alexander E. Patrakov +Allison Randal +Amir Goldstein +Anatoly Borodin +Andreas Gruenbacher +Andreas Westfeld +Andrei Vagin +Andrew Price +Anthony Iliopoulos +Antonio Chirizzi +Antonio Ospite +Arkadiusz Drabczyk +Balbir Singh +Benjamin Peterson +Bernd Petrovitsch +bert hubert +Bjarni Ingi Gislason +Burkhard Lück +Carlos O'Donell +Claudio Scordino +Daniel Borkmann +Daniel Kamil Kozar +Davidlohr Bueso +Davidlohr Bueso +David Newall +Dmitry V. Levin +Elliot Hughes +Elvira Khabirova +Emil Fihlman +Enrico Scholz +Eric Benton +Eric Sanchis +Eugene Syromiatnikov +Eugene Syromyatnikov +Felipe Gasper +Florian Weimer +Frank Theile +G. Branden Robinson +Goldwyn Rodrigues +Goldwyn Rodrigues +Göran Häggsjö +Harry Mallon +Heinrich Schuchardt +Heiko Carstens +Helge Deller +Henry Wilson +Hiroya Ito +Howard Johnson +Ian Turner +Ignat Loskutov +Ingo Schwarze +Jakub Wilk +James Weigle +Jann Horn +Jann Horn +Jason A. Donenfeld +Jeff Moyer +Jens Thoms Toerring +Joe Lawrence +Johannes Altmanninger +Johannes Liebermann +Jonny Grant +Joseph C. Sible +Joseph Sible +Josh Gao +Josh Triplett +Kees Cook +Keith Thompson +Keno Fischer +Konrad Rzeszutek Wilk +Konst Mayer +Leah Hanson +Lucas De Marchi +Lucas Werkmeister +Luka Macan +Marc-André Lureau +Marcus Gelderie +Marcus Gelderie +Marko Myllynen +Mark Schott +Matthew Bobrowski +Matthew Kilgore +Mattias Engdegård +Mauro Carvalho Chehab +Michael Becker +Michael Kerrisk +Michael Witten +Michal Hocko +Mihir Mehta +Mike Frysinger +Mike Frysinger +Mike Rapoport +Mike Weilgart +Nadav Har'El +Nick Gregory +Niklas Hambüchen +Nikola Forró +nixiaoming +Oded Elisha +Paul Eggert +Paul Millar +Philip Dumont +Pierre Chifflier +Quentin Monnet +Radostin Stoyanov +Robert O'Callahan +Robert P. J. Day +Robin Kuzmin +ruschein +Sam Varshavchik +Sean Young +Shawn Landden +Simone Piccardi +snyh +Solal Pirelli +Stan Schwertly +Stephan Knauss +Szabolcs Nagy +Thomas Posch +Tobias Klauser +Troy Engel +Tycho Andersen +Tycho Kirchner +Vince Weaver +Wang Nan +William Kucharski +Xiao Yang + +Apologies if I missed anyone! + + +New and rewritten pages +----------------------- + +s390_guarded_storage.2 + Eugene Syromyatnikov + New page documenting s390_guarded_storage(2) s390-specific system call + +address_families.7 + Michael Kerrisk [Eugene Syromyatnikov] + New page that contains details of socket address families + There is too much detail in socket(2). Move most of it into + a new page instead. + +bpf-helpers.7 + Michael Kerrisk [Daniel Borkmann, Quentin Monnet] + Add new man page for eBPF helper functions + (autogenerated from kernel source files) + + +Removed Pages +------------- + +mdoc.7 +mdoc.samples.7 + Michael Kerrisk [Ingo Schwarze] + Remove mdoc(7) and mdoc.samples(7) + 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. + + +Newly documented interfaces in existing pages +--------------------------------------------- + +fanotify_init.2 +fanotify.7 + nixiaoming [Amir Goldstein, Michael Kerrisk] + Document FAN_REPORT_TID + fanotify_init.2: add new flag FAN_REPORT_TID + fanotify.7: update description of member pid in + struct fanotify_event_metadata + Amir Goldstein + Document FAN_MARK_FILESYSTEM + Monitor fanotify events on the entire filesystem. + Matthew Bobrowski [Amir Goldstein] + Document FAN_OPEN_EXEC and FAN_OPEN_EXEC_PERM + +io_submit.2 + Adam Manzanares + Document IOCB_FLAG_IOPRIO + +msgctl.2 +semctl.2 +shmctl.2 + Davidlohr Bueso [Joe Lawrence, Michael Kerrisk] + Document STAT_ANY commands + +prctl.2 + Konrad Rzeszutek Wilk [Michael Kerrisk] + Document PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL + +sched_setattr.2 + Claudio Scordino [Michael Kerrisk] + Document SCHED_FLAG_DL_OVERRUN and SCHED_FLAG_RECLAIM + +socket.2 + Tobias Klauser + Document AF_XDP + Document AF_XDP added in Linux 4.18. + +inotify.7 + Henry Wilson + Document IN_MASK_CREATE + +unix.7 + Michael Kerrisk + Document SO_PASSSEC + Michael Kerrisk + Document SCM_SECURITY ancillary data + + +New and changed links +--------------------- + +reallocarray.3 + Michael Kerrisk + New link to malloc(3) + +precedence.7 + Josh Triplett + Add as a redirect to operator.7 + + +Global changes +-------------- + +Various pages + Michael Kerrisk [G. Branden Robinson] + Use '\e' rather than '\\' to get a backslash + +Various pages + Michael Kerrisk [Bjarni Ingi Gislason, G. Branden Robinson] + Use zero‐width space in appropriate locations + +Various pages + Michael Kerrisk + Clarify the distinction between "file descriptor" and "file description" + +Various pages + Mike Rapoport + Update paths for in-kernel memory management documentation files + +A few pages + Michael Kerrisk + Change references to '2.6.0-test*' series kernels to just '2.6.0' + + +Changes to individual pages +--------------------------- + +iconv.1 + Marko Myllynen + SEE ALSO: add uconv(1) + +localedef.1 + Howard Johnson + Note that -f and -c, are reversed from what you might expect + +time.1 + Michael Kerrisk [Johannes Altmanninger] + Document the -q/--quiet option + Jakub Wilk + Update bug reporting address + +bpf.2 + Tobias Klauser + Update JIT support list for Linux 4.18 + JIT support for x86-32 was during the Linux 4.18 release cycle. + Also correct the entry for MIPS (only MIPS64 is supported). + Oded Elisha + Fix bug in example + Quentin Monnet + SEE ALSO: add bpf-helpers(7) + +capget.2 + Michael Kerrisk + Remove crufty sentence suggesting use of deprecated functions + Remove crufty sentence suggesting use of deprecated capsetp(3) and + capgetp(3); the manual page for those functions has long (at least + as far back as 2007) noted that they are deprecated. + Michael Kerrisk + Remove first paragraph, which repeats details from capabilities(7) + +chroot.2 + Michael Kerrisk + Mention /proc/[pid]/root + +clock_getres.2 + Michael Kerrisk [Jens Thoms Toerring] + CLOCK_MONOTONIC_RAW does not count while the system is suspended + Michael Kerrisk [Jens Thoms Toerring] + On Linux CLOCK_MONOTONIC counts time that the system has run since boot + Michael Kerrisk [Jens Thoms Toerring] + CLOCK_MONOTONIC does not count while the system is suspended + Michael Kerrisk + ERRORS: add EINVAL error for noncanonical clock_settime() value + +clone.2 + Michael Kerrisk + Rework discussion of threads and signals + The discussion is phrased in terms of signals sent using kill(2), + but applies equally to a signal sent by the kernel. + Jann Horn + Pending CLONE_NEWPID prevents thread creation + Michael Kerrisk + Clarify the discussion of threads and signals + And explicitly introduce the terms "process-directed" and + "thread-directed" signals. + Eugene Syromyatnikov + Add information about clone and clone2 on IA-64 + Michael Kerrisk + ERRORS: EINVAL occurs with CLONE_NEWUSER if !CONFIG_USER_NS + +connect.2 + Benjamin Peterson + Document error semantics of nonblocking UNIX domain sockets + +epoll_ctl.2 + Michael Kerrisk + Use the term "interest list" consistently + +epoll_wait.2 + Michael Kerrisk + Clarify the behavior when epoll_wait()-ing on an empty interest list + Michael Kerrisk + Note that epoll_wait() round robins through the set of ready descriptors + +eventfd.2 + Michael Kerrisk + Move text noting that eventfd() creates a FD earlier in the page + +fcntl.2 + Michael Kerrisk + Actual pipe capacity may in practice be less than nominal capacity + The number of bytes that can be written to the pipe may be less + (sometimes substantially less) than the nominal capacity. + Eugene Syromyatnikov + Mention that l_sysid is not used even if present + Michael Kerrisk + Briefly explain the meaning of the 'l_sysid' field in 'struct flock' + +futex.2 + Benjamin Peterson + Make the example use C11 atomics rather than GCC builtins + +getcpu.2 + Tobias Klauser [Michael Kerrisk] + getcpu() now has a glibc wrapper; remove mention of syscall(2) + The glibc wrapper was added in glibc 2.29, release on 1 Feb 2019. + +getgid.2 +getpid.2 +getuid.2 +pipe.2 +syscall.2 + Eugene Syromiatnikov [Michael Kerrisk] + Describe 2nd return value peculiarity + Some architectures (ab)use second return value register for + additional return value in some system calls. Let's describe this. + +getgroups.2 + Michael Kerrisk + Note that a process can drop all groups with: setgroups(0, NULL) + +getrlimit.2 + Eugene Syromyatnikov + Note that setrlimit(RLIMIT_CPU) doesn't fail + Michael Kerrisk + Resource limits are process-wide attributes shared by all threads + This was already noted in pthreads(7), but bears repeating here. + Eugene Syromyatnikov + Correct information about large limits on 32-bit architectures + +gettid.2 + Michael Kerrisk + Glibc provides a wrapper since version 2.30 + +gettimeofday.2 + Michael Kerrisk + ERRORS: add EINVAL for noncanonical 'tv' argument to settimeofday() + +gettimeofday.2 +clock_getres.2 + Michael Kerrisk [Jens Thoms Toerring] + ERRORS: EINVAL can occur if new real time is less than monotonic clock + +getxattr.2 +removexattr.2 +setxattr.2 + Michael Kerrisk [Andreas Gruenbacher, Enrico Scholz] + ERRORS: replace ENOATTR with ENODATA + See also https://bugzilla.kernel.org/show_bug.cgi?id=201995 + +inotify_add_watch.2 + Paul Millar + Add IN_ONLYDIR based error + Henry Wilson + Note errors that can occur for IN_MASK_CREATE + +io_submit.2 + Jeff Moyer + Fix the description of aio_data + aio_data is not a kernel-internal field. + +madvise.2 + Michal Hocko [Niklas Hambüchen] + MADV_FREE clarify swapless behavior + +memfd_create.2 + Marc-André Lureau + Update hugetlb file-sealing support + Lucas De Marchi + Fix header for memfd_create() + Joseph C. Sible + _GNU_SOURCE is required + +mmap.2 + Elliott Hughes + Explicitly state that the fd can be closed + Jann Horn [Michal Hocko, William Kucharski] + Fix description of treatment of the hint + The current manpage reads as if the kernel will always pick a free + space close to the requested address, but that's not the case. + +mount.2 + Michael Kerrisk + Clearly distinguish per-mount-point vs per-superblock mount flags + Michael Kerrisk + MS_SILENT is ignored when changing propagation type + Michael Kerrisk + Attempts to change MS_SILENT setting during remount are silently ignored + Michael Kerrisk [Harry Mallon] + Document EROFS for read-only filesystems + See https://bugzilla.kernel.org/show_bug.cgi?id=200649 + Michael Kerrisk + Clarify that per-superblock flags are shared during remount + Michael Kerrisk + Remove crufty sentence about MS_BIND + MS_REMOUNT + Michael Kerrisk + Mention /proc/PID/mountinfo + Many people are unaware of the /proc/PID/mountinfo file. Provide + a helpful clue here. + Michael Kerrisk + Mandatory locking also now requires CONFIG_MANDATORY_FILE_LOCKING + Michael Kerrisk [Simone Piccardi] + Add MS_STRICTATIME to list of flags that can be used in remount + Michael Kerrisk + EACCES: note some reasons why a filesystem may be read-only + Michael Kerrisk + SEE ALSO: add ioctl_iflags(2) + +msgop.2 + Michael Kerrisk + Correct the capability description for msgsnd() EACCESS error + +nfsservctl.2 + Michael Kerrisk + Add VERSIONS section noting that this system call no longer exists + +open.2 + Lucas Werkmeister + Document ENXIO for sockets + Michael Kerrisk + Clarify a special use case of O_NONBLOCK for devices + Eugene Syromiatnikov + Mention presence of unused O_RSYNC definition + O_RSYNC is defined in on HP PA-RISC, but is not + used anyway. + Eugene Syromiatnikov + Document FASYNC usage in Linux UAPI headers + Andrew Price + Remove O_DIRECT-related quotation + Remove a section that adds no benefit to the discussion of O_DIRECT. + Michael Kerrisk [Robin Kuzmin] + Clarify that O_NONBLOCK has no effect on poll/epoll/select + +perf_event_open.2 + Vince Weaver [Wang Nan] + Document the PERF_EVENT_IOC_PAUSE_OUTPUT ioctl + The PERF_EVENT_IOC_PAUSE_OUTPUT ioctl was introduced in Linux 4.7. + Vince Weaver + Fix wording in multiplexing description + Vince Weaver + Clarify exclude_idle + Vince Weaver + Document the PERF_EVENT_IOC_QUERY_BPF ioctl + Vince Weaver + Document the PERF_EVENT_IOC_MODIFY_ATTRIBUTES ioctl + Vince Weaver + Fix prctl behavior description + +pivot_root.2 + Elvira Khabirova + Explain the initramfs case and point to switch_root(8) + Joseph Sible [Joseph C. Sible] + Document EINVAL if root is rootfs + +pkey_alloc.2 + Michael Kerrisk [Szabolcs Nagy] + Switch to glibc prototype in SYNOPSIS + +poll.2 + Michael Kerrisk + Note that poll() and ppoll() are not affected by O_NONBLOCK + +posix_fadvise.2 + Eugene Syromyatnikov + Describe the difference between fadvise64/fadvise64_64 + +prctl.2 + Benjamin Peterson + PR_SET_MM_EXE_FILE may now be used as many times as desired + Michael Kerrisk + Add some further historical details on PR_SET_MM_EXE_FILE + Michael Kerrisk [Jann Horn] + Explain the circumstances in which the parent-death signal is sent + Michael Kerrisk + Rework the PR_SET_PDEATHSIG description a little, for easier readability + Michael Kerrisk + Add additional info on PR_SET_PDEATHSIG + The signal is process directed and the siginfo_t->si_pid + filed contains the PID of the terminating parent. + Michael Kerrisk + Note libcap(3) APIs for operating on ambient capability set + (However, the libcap APIs do not yet seem to have + manual pages...) + Michael Kerrisk + Mention libcap APIs for operating on capability bounding set + +ptrace.2 + Dmitry V. Levin + Do not say that PTRACE_O_TRACESYSGOOD may not work + Jann Horn + BUGS: ptrace() may set errno to zero + +readdir.2 + Eugene Syromyatnikov + Fix struct old_linux_dirent in accordance with current definition + +readv.2 + Xiao Yang [Florian Weimer] + Fix wrong errno for an unknown flag + +rename.2 + Michael Kerrisk + glibc 2.28 adds library support for renameat2() + Tobias Klauser + Add feature test macro for renameat2() + The glibc wrapper for renameat2() was added in glibc 2.28 and + requires _GNU_SOURCE. + Eugene Syromiatnikov + Some additional notes regarding RENAME_WHITEOUT + Lucas Werkmeister [Michael Kerrisk] + Add kernel versions for RENAME_NOREPLACE support + Michael Kerrisk + Rework list of supported filesystems for RENAME_NOREPLACE + Tobias Klauser + renameat2() now has a glibc wrapper; remove mention of syscall(2) + +s390_runtime_instr.2 + Eugene Syromyatnikov + Add a note about runtime_instr.h availability + +s390_sthyi.2 + Eugene Syromyatnikov [Heiko Carstens] + Some minor additions + +sched_setattr.2 + Michael Kerrisk + Add a bit more detail for SCHED_DEADLINE + +sched_setparam.2 + Michael Kerrisk + Clarify that scheduling parameters are per-thread (not per-process) + +seccomp.2 + Michael Kerrisk + (Briefly) document SECCOMP_FILTER_FLAG_SPEC_ALLOW + Michael Kerrisk + SEE ALSO: add bpfc(1) + +select.2 + Michael Kerrisk + BUGS: the use of value-result arguments is a design bug + Michael Kerrisk [Robin Kuzmin] + Note that select() and pselect() are not affected by O_NONBLOCK + +select_tut.2 + Michael Kerrisk [Antonio Chirizzi] + Diagnose inet_aton() errors with simple fprintf() (not perror()) + +setgid.2 + Michael Kerrisk + Clarify EPERM capability requirements with respect to user namespaces + +setns.2 + Michael Kerrisk + When joining a user namespace, it must be a descendant user namespace + Michael Kerrisk + Note capability requirements for changing PID namespace + Note capability requirements for changing network, IPC, or UTS namespace + Note capability requirements for changing cgroup namespace + Michael Kerrisk + Some text restructuring and reordering + +set_thread_area.2 + Eugene Syromyatnikov + Mention related prctl() requests in SEE ALSO + Eugene Syromyatnikov + Mention that get_thread_area() is also Linux-specific + Eugene Syromyatnikov + Describe set_thread_area()/get_thread_area() on m68k/MIPS + +setuid.2 + Michael Kerrisk + Clarify EPERM capability requirements with respect to user namespaces + +sigaction.2 + Eugene Syromyatnikov [Michael Kerrisk] + Describe obsolete usage of struct sigcontext as signal handler argument + +sigsuspend.2 + Michael Kerrisk + Clarify that sigsuspend() suspends the calling *thread* + +socket.2 + Michael Kerrisk + Remove references to external docs + This information is all in the new address_families(7) + Michael Kerrisk + Add cross reference to address_families(7) + Eugene Syromyatnikov + Reinstate AF_VSOCK mention + Michael Kerrisk + Simplify list of address families + Remove many of the details that are in address_families(7) + Nikola Forró + Remove notes concerning AF_ALG and AF_XDP + All address families are now documented in address_families.7. + Michael Kerrisk + Remove some more obscure protocols from address family list + The list of address families in this page is still + overwhelmingly long. So let's shorten it. + The removed entries are all in address_families(7). + Michael Kerrisk + Remove a few obsolete protocols + Documentation for these remains in address_families(7) + +socketpair.2 + Eugene Syromyatnikov + Note that AF_TIPC also supports socketpair(2) + Introduced by Linux commit v4.12-rc1~64^3~304^2~1. + +stat.2 + Michael Kerrisk [Alessandro Vesely] + ERRORS: ENOENT can occur where a path component is a dangling symlink + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909789 + Benjamin Peterson + SEE ALSO: add statx(2) + +statx.2 + Tobias Klauser [Michael Kerrisk] + statx() now has a glibc wrapper; remove mention of syscall(2) + +syscall.2 + Eugene Syromyatnikov [Michael Kerrisk] + Elaborate x32 ABI specifics + snyh + Fix wrong retval register number in alpha architecture + Helge Deller + parisc needs care with syscall parameters + Michael Kerrisk + Rework table to render within 80 columns + +syscalls.2 + Eugene Syromyatnikov + Change example of a thin syscall wrapper to chdir() + As truncate(3) should dispatch between truncate/truncate64, + as noted later in the page. + Eugene Syromyatnikov [Michael Kerrisk] + Update syscall table + Added: arc_gettls, arc_settls, arc_usr_cmpxchg, arch_prctl, + atomic_barrier, atomic_cmpxchg_32, bfin_spinlock, breakpoint, + clone2, cmpxchg, cmpxchg_badaddr, dma_memcpy, execv, get_tls, + getdomainname, getdtablesize, gethostname, getxgid, getxpid, + getxuid, metag_get_tls, metag_set_fpu_flags,metag_set_tls, + metag_set_global_bit, newfstatat, old_adjtimex, oldumount, + or1k_atomic, pread, pwrite, riscv_flush_icache, + sched_get_affinity, sched_set_affinity, set_tls, setaltroot, + sethae, setpgrp, spill, sram_alloc, sram_free, swapcontext, + switch_endian, sys_debug_setcontext, syscall, sysmips, timerfd, + usr26, usr32, xtensa. + + Uncommented: memory_ordering + + Renamed: ppc_rtas to rtas (__NR_rtas), ppc_swapcontext to + swapcontext (__NR_swapcontext). + Eugene Syromyatnikov + Note about s390x and old_mmap + Michael Kerrisk + Add s390_guarded_storage(2) + Michael Kerrisk + Update syscall list for Linux 4.18 + Eugene Syromyatnikov + Note that not all architectures return errno negated + Helge Deller + parisc Linux does not any longer emulate HP-UX + Michael Kerrisk + Comment out details of a few system calls that only ever briefly existed + +unshare.2 + Michael Kerrisk [Shawn Landden] + Same EINVAL errors as for clone(2) can also occur with unshare(2) + Tycho Andersen + Note EINVAL when unsharing pid ns twice + The kernel doesn't allow unsharing a pid NS if it has + previously been unshared. + +ustat.2 + Michael Kerrisk + Starting with version 2.28, glibc no longer provides a wrapper function + +vmsplice.2 + Andrei Vagin + Note that vmsplice can splice pages from pipe to memory + +wait.2 + Michael Kerrisk + Add some cross references to core(5) + +write.2 + Michael Kerrisk [Nadav Har'El] + RETURN VALUE: clarify details of partial write and + https://bugzilla.kernel.org/show_bug.cgi?id=197961 + Goldwyn Rodrigues + Add details on partial direct I/O writes + +alloca.3 + Michael Kerrisk [Robin Kuzmin] + Prevent any misunderstanding about when allocated memory is released + +bsd_signal.3 + Xiao Yang + Fix the wrong version of _POSIX_C_SOURCE + +bstring.3 + Michael Kerrisk [Emil Fihlman] + Correct argument list for memmem() prototype + +cmsg.3 + Michael Kerrisk + Explain zero-initialization requirement for CMSG_NXTHDR() + Michael Kerrisk + Remove out of place mention of MSG_CTRUNC + This detail is covered in recvmsg(2), and now also in unix(7). + Michael Kerrisk + Note that CMSG_FIRSTHDR can return NULL + Michael Kerrisk + Remove unnecessary 'fdptr' intermediate variable in example code + +des_crypt.3 +encrypt.3 + Michael Kerrisk + The functions described in these pages are removed in glibc 2.28 + +dlsym.3 + Michael Kerrisk + Describe a case where a symbol value may be NULL + +errno.3 + Michael Kerrisk [Robert P. J. Day] + Mention that errno(1) is part of the 'moreutils' package + +exec.3 + Michael Kerrisk [Eugene Syromyatnikov] + Note that SPARC provides an execv() system call + +exit.3 + Mike Frysinger + Note wider sysexits.h availability + +ferror.3 + Elliot Hughes + Warn about closing the result of fileno() + +fnmatch.3 + Elliott Hughes + Clarify "shell wildcard pattern" + +getaddrinfo.3 + Michael Kerrisk [Eric Sanchis] + Fix off-by-one error in example client program + +getcwd.3 + Michael Kerrisk + Rework text on use of getcwd() system call + Make it clear that all of the library functions described on this + page will use the getcwd() system call if it is present. + Michael Kerrisk + Add details on the getcwd() syscall and how it used by libc functions + Michael Kerrisk + Reorder the text describing "(unreachable)" being returned by getcwd() + +getmntent.3 + Elliot Hughes + Clarify that endmntent() should be used rather than fclose() + +isatty.3 + Michael Kerrisk [Jakub Wilk] + Most non-tty files nowadays result in the error ENOTTY + Historically, at least FIFOs and pipes yielded the error EINVAL. + +lockf.3 + Ian Turner + ERRORS: add EINTR + +malloc.3 + Michael Kerrisk + Add reference to glibc MallocInternals wiki + Michael Kerrisk + Note that calloc() detects overflow when multiplying its arguments + Michael Kerrisk + Since glibc 2.29, reallocarray() is exposed by defining _DEFAULT_SOURCE + Info gleaned from glibc NEWS file. + +pthread_attr_init.3 + Michael Kerrisk [Göran Häggsjö, Jakub Wilk] + Use correct printf() specifier for "size_t" in example program + +pthread_rwlockattr_setkind_np.3 + Carlos O'Donell + Remove bug notes + +pthread_setname_np.3 + Jakub Wilk + Explain _np suffix + Add text to CONFORMING TO explaining that the "_np" + suffix is because these functions are non-portable. + +putenv.3 + Michael Kerrisk + Note a glibc extension: putenv("NAME") removes an environment variable + +resolver.3 + Michael Becker + Add documentation of res_nclose() + +strcmp.3 + Heinrich Schuchardt + Clarify that strcmp() is not locale aware + +strcpy.3 + Matthew Kilgore + Fix example code for strncpy, which could pass an incorrect length + Michael Kerrisk [Frank Theile] + Use "destination" consistently (instead of "target" sometimes) + +strfry.3 + Keith Thompson + Remove incorrect reference to rand(3) + +string.3 +strlen.3 +strnlen.3 + Michael Kerrisk [Jakub Wilk] + Use 'bytes' not 'characters' + This is in line with POSIX terminology. + +system.3 + Michael Kerrisk [Jonny Grant] + Use '(char *) NULL' rather than '(char *) 0' + Michael Kerrisk + Note that system() can fail for the same reasons as fork(2) + Arkadiusz Drabczyk + Mention that 'errno' is set on error + +termios.3 + Eugene Syromyatnikov + Note an XTABS alpha issue + +trunc.3 + Michael Kerrisk [Eric Benton, G. Branden Robinson] + Make the description a little clearer + Michael Kerrisk + Emphasize that the return value is a floating-point number + +xcrypt.3 + Jason A. Donenfeld + Warn folks not to use these functions + +lirc.4 + Sean Young + Fix broken link + Sean Young + Document error returns more explicitly + Sean Young + lirc.h include file is in /usr/include/linux/lirc.h + Sean Young [Alec Leamas, Mauro Carvalho Chehab] + Remove ioctls and feature bits which were never implemented + Sean Young + Unsupported ioctl() operations always return ENOTTY + Sean Young + LIRC_MODE_LIRCCODE has been replaced by LIRC_MODE_SCANCODE + Sean Young + Document remaining ioctl (LIRC_GET_REC_TIMEOUT) + Now all ioctls are documented. + Sean Young + Timeout reports are enabled by default + Sean Young + Some devices are send only + Sean Young + Update SEE ALSO + Sean Young + LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE was never supported + No driver ever supported such a thing. + Michael Kerrisk + Clarify the description LIRC_SET_REC_TIMEOUT + +tty.4 + Michael Witten + Add `vcs(4)' and `pty(7)' to the `SEE ALSO' section + +vcs.4 + Mattias Engdegård [Michael Witten] + Fix broken example code + +core.5 + Michael Kerrisk + Add cross reference to vdso(7) where "virtual DSO" is mentioned + +filesystems.5 + Eugene Syromyatnikov + Mention sysfs(2) + +host.conf.5 + Nikola Forró + Clarify glibc versions in which spoof options were removed + +proc.5 + Michael Kerrisk [Philip Dumont] + Document /proc/[tid] + See also https://bugzilla.kernel.org/show_bug.cgi?id=201441 + Michael Kerrisk + Add an overview section describing the groups of files under /proc + Keno Fischer [Robert O'Callahan] + Correct description of NStgid + Lucas Werkmeister + Document fdinfo format for timerfd + Stephan Knauss + Mention /proc/uptime includes time spent in suspend + Michael Kerrisk + Reword /proc/PID/fdinfo timerfd field descriptions as a hanging list + Michael Kerrisk + SEE ALSO: add htop(1) and pstree(1) + fs/proc/uptime.c:uptime_proc_show() fetches time using + ktime_get_boottime which includes the time spent in suspend. + Michael Kerrisk + Document /proc/PID/status CoreDumping field + Michael Kerrisk + Mention choom(1) in discussion of /proc/[pid]/oom_score_adj + Michael Kerrisk + Add a few details on /proc/PID/fdinfo timerfd + Michael Kerrisk + Document /proc/meminfo KReclaimable field + Michael Kerrisk + Explain how to determine top-most mount in /proc/PID/mountinfo + Explain how to determine the top-most mount at a particular + location by inspecting /proc/PID/mountinfo. + Michael Kerrisk [Jakub Wilk] + Remove bogus suggestion to use cat(1) to read files containing '\0' + Michael Kerrisk + Refer to mount(2) for explanation of mount vs superblock options + Michael Kerrisk + Fix description of /proc/PID/* ownership to account for user namespaces + Elvira Khabirova + Describe ambiguities in /proc//maps + Michael Kerrisk [Nick Gregory] + Since Linux 4.5, "stack:" is no longer shown in /proc/PID/maps + Nikola Forró + Document /proc/[pid]/status Speculation_Store_Bypass field + Alan Jenkins + Vmalloc information is no longer calculated (Linux 4.4) + Michael Kerrisk [Alexander E. Patrakov, Jakub Wilk, Michael Kerrisk] + Use 'tr '\000' '\n' to display contents of /proc/PID/environ + Michael Kerrisk + Setting dumpable to 1 reverts ownership of /proc/PID/* to effective IDs + Michael Kerrisk + Document /proc/meminfo LazyFree field + Michael Kerrisk + Fix kernel source pathname for soft-dirty documentation + Michael Kerrisk + /proc/[pid]/status VmPMD field was removed in Linux 4.15 + +resolv.conf.5 + Nikola Forró + Document no-reload (RES_NPRELOAD) option + +tzfile.5 + Paul Eggert + Sync from tzdb upstream + +capabilities.7 + Michael Kerrisk + Fix some imprecisions in discussion of namespaced file capabilities + The file UID does not come into play when creating a v3 + security.capability extended attribute. + Michael Kerrisk + Note that v3 security.attributes are transparently created/retrieved + Michael Kerrisk + Improve the discussion of when file capabilities are ignored + The text stated that the execve() capability transitions are not + performed for the same reasons that setuid and setgid mode bits + may be ignored (as described in execve(2)). But, that's not quite + correct: rather, the file capability sets are treated as empty + for the purpose of the capability transition calculations. + Michael Kerrisk + Rework bounding set as per-thread set in transformation rules + Michael Kerrisk + Substantially rework "Capabilities and execution of programs by root" + Rework for improved clarity, and also to include missing details + on the case where (1) the binary that is being executed has + capabilities attached and (2) the real user ID of the process is + not 0 (root) and (3) the effective user ID of the process is 0 + (root). + Marcus Gelderie + Add details about SECBIT_KEEP_CAPS + The description of SECBIT_KEEP_CAPS is misleading about the + effects on the effective capabilities of a process during a + switch to nonzero UIDs. The effective set is cleared based on + the effective UID switching to a nonzero value, even if + SECBIT_KEEP_CAPS is set. However, with this bit set, the + effective and permitted sets are not cleared if the real and + saved set-user-ID are set to nonzero values. + Marcus Gelderie + Mention header for SECBIT constants + Mention that the named constants (SECBIT_KEEP_CAPS and others) + are available only if the linux/securebits.h user-space header + is included. + Michael Kerrisk + Add text introducing bounding set along with other capability sets + Michael Kerrisk [Allison Randal] + Update URL for location of POSIX.1e draft standard + Michael Kerrisk + CAP_SYS_CHROOT allows use of setns() to change the mount namespace + Michael Kerrisk [Pierre Chifflier] + Ambient capabilities do not trigger secure-execution mode + Michael Kerrisk + Add a subsection on per-user-namespace "set-user-ID-root" programs + Michael Kerrisk + Rework discussion of exec and UID 0, correcting a couple of details + Clarify the "Capabilities and execution of programs by root" + section, and correct a couple of details: + * If a process with rUID == 0 && eUID != 0 does an exec, + the process will nevertheless gain effective capabilities + if the file effective bit is set. + * Set-UID-root programs only confer a full set of capabilities + if the binary does not also have attached capabilities. + Michael Kerrisk + Update URL for libcap tarballs + The previous location does not seem to be getting updated. + (For example, at the time of this commit, libcap-2.26 + had been out for two months, but was not present at + http://www.kernel.org/pub/linux/libs/security/linux-privs. + Michael Kerrisk + Clarify which capability sets capset(2) and capget(2) apply to + capset(2) and capget(2) apply operate only on the permitted, + effective, and inheritable process capability sets. + Michael Kerrisk + Correct the description of SECBIT_KEEP_CAPS + Michael Kerrisk + Add background details on capability transformations during execve(2) + Add background details on ambient and bounding set when + discussing capability transformations during execve(2). + Michael Kerrisk + Document the 'no_file_caps' kernel command-line option + +cgroup_namespaces.7 + Michael Kerrisk [Troy Engel] + Clarify the example by making an implied detail more explicit. + See https://bugzilla.kernel.org/show_bug.cgi?id=201047 + +cgroups.7 + Michael Kerrisk + Add more detail on v2 'cpu' controller and realtime threads + Explicitly note the scheduling policies that are relevant for the + v2 'cpu' controller. + Michael Kerrisk + Document the use of 'cgroup_no_v1=named' to disable v1 named hierarchies + This feature was added in Linux 5.0. + Michael Kerrisk [Mike Weilgart] + Complete partial sentence re kernel boot options and 'nsdelegate' + https://bugzilla.kernel.org/show_bug.cgi?id=201029 + Michael Kerrisk + Reframe the text on delegation to include more details about cgroups v1 + Michael Kerrisk [Leah Hanson] + Rework discussion of writing to cgroup.type file + In particular, it is possible to write "threaded" to a + cgroup.type file if the current type is "domain threaded". + Previously, the text had implied that this was not possible. + Michael Kerrisk [Balbir Singh, Marcus Gelderie] + Soften the discussion about delegation in cgroups v1 + Balbir pointed out that v1 delegation was not an accidental + feature. + +epoll.7 + Michael Kerrisk + Introduce the terms "interest list" and "ready list" + Michael Kerrisk + Consistently use the term "interest list" rather than "epoll set" + Michael Kerrisk + Reformat Q&A list + Michael Kerrisk + Note that edge-triggered notification wakes up only one waiter + Note a useful performance benefit of EPOLLET: ensuring that + only one of multiple waiters (in epoll_wait()) is woken + up when a file descriptor becomes ready. + Michael Kerrisk + Expand the discussion of the implications of file descriptor duplication + In particular, note that it may be difficult for an application + to know about the existence of duplicate file descriptors. + +feature_test_macros.7 + Michael Kerrisk [Andreas Westfeld] + Add more detail on why FTMs must be defined before including any header + +inotify.7 + Michael Kerrisk [Paul Millar] + Note ENOTDIR error that can occur for IN_ONLYDIR + Note ENOTDIR error that occurs when requesting a watch on a + nondirectory with IN_ONLYDIR. + +ip.7 + Bert Hubert + IP_RECVTTL error fixed + I need to get the TTL of UDP datagrams from userspace, so I set + the IP_RECVTTL socket option. And as promised by ip.7, I then get + IP_TTL messages from recvfrom. However, unlike what the manpage + promises, the TTL field gets passed as a 32 bit integer. + +man.7 + Michael Kerrisk + SEE ALSO: remove mdoc.samples(7) + +mount_namespaces.7 + Michael Kerrisk + SEE ALSO: add findmnt(8) + +namespaces.7 + Michael Kerrisk + List factors that may pin a namespace into existence + Various factors may pin a namespace into existence, even when it + has no member processes. + Michael Kerrisk [Tycho Kirchner] + Briefly explain why CAP_SYS_ADMIN is needed to create nonuser namespaces + Michael Kerrisk + Mention ioctl(2) in discussion of namespaces APIs + Michael Kerrisk + SEE ALSO: add pam_namespace(8) + +pid_namespaces.7 + Michael Kerrisk + Clarify the semantics for the adoption of orphaned processes + Because of setns() semantics, the parent of a process may reside + in the outer PID namespace. If that parent terminates, then the + child is adopted by the "init" in the outer PID namespace (rather + than the "init" of the PID namespace of the child). + Michael Kerrisk + Note a detail of /proc/PID/ns/pid_for_children behavior + After clone(CLONE_NEWPID), /proc/PID/ns/pid_for_children is empty + until the first child is created. Verified by experiment. + Michael Kerrisk + Note that a process can do unshare(CLONE_NEWPID) only once + +sched.7 + Michael Kerrisk [Eugene Syromyatnikov] + In the kernel source SCHED_OTHER is actually called SCHED_NORMAL + Michael Kerrisk + SEE ALSO: add ps(1) and top(1) + Michael Kerrisk + SEE ALSO: add chcpu(1), lscpu(1) + +signal.7 + Michael Kerrisk [Robin Kuzmin] + Clarify that sigsuspend() and pause() suspend the calling *thread* + Helge Deller + Add signal numbers for parisc + Michael Kerrisk + Unify signal lists into a signal table that embeds standards info + Having the signals listed in three different tables reduces + readability, and would require more table splits if future + standards specify other signals. + Michael Kerrisk + Reorder the architectures in the signal number lists + x86 and ARM are the most common architectures, but currently + are in the second subfield in the signal number lists. + Instead, swap that info with subfield 1, so the most + common architectures are first in the list. + Michael Kerrisk + Place signal numbers in a separate table + The current tables of signal information are unwieldy, + as they try to cram in too much information. + Michael Kerrisk + Insert standards info into tables + Michael Kerrisk + SEE ALSO: add clone(2) + +socket.7 + Michael Kerrisk + Refer reader to unix(7) for information on SO_PASSSEC + Michael Kerrisk + SEE ALSO: add address_families(7) + +socket.7 +unix.7 + Michael Kerrisk + Move text describing SO_PEERCRED from socket(7) to unix(7) + This is, AFAIK, an option specific to UNIX domain sockets, so + place it in unix(7). + +tcp.7 +udp.7 + Michael Kerrisk + Add a reference to socket(7) noting existence of further socket options + +unix.7 + Michael Kerrisk + Enhance the description of SCM_RIGHTS + The existing description is rather thin. More can be said. + Michael Kerrisk + There is a limit on the size of the file descriptor array for SCM_RIGHTS + The limit is defined in the kernel as SCM_MAX_FD (253). + Michael Kerrisk + Rework SO_PEERCRED text for greater clarity + Michael Kerrisk [Felipe Gasper] + Clarify SO_PASSCRED behavior + Michael Kerrisk + Explicitly note that SO_PASSCRED provides SCM_CREDENTIALS messages + Michael Kerrisk + If the buffer to receive SCM_RIGHTS FDs is too small, FDs are closed + Michael Kerrisk + One must send at least one byte of real data with ancillary data + Michael Kerrisk + Ancillary data forms a barrier when receiving on a stream socket + Michael Kerrisk + When sending ancillary data, only one item of each type may be sent + Michael Kerrisk + Improve wording describing socket option argument/return values + Michael Kerrisk + Clarify treatment of incoming ancillary data if 'msg_control' is NULL + Michael Kerrisk + Note behavior if buffer to receive ancillary data is too small + Michael Kerrisk + Fix a minor imprecision in description of SCM_CREDENTIALS + Michael Kerrisk + Refer reader to socket(7) for information about SO_PEEK_OFF + +user_namespaces.7 + Michael Kerrisk + Rework terminology describing ownership of nonuser namespaces + Prefer the word "owns" rather than "associated with" when + describing the relationship between user namespaces and non-user + namespaces. The existing text used a mix of the two terms, with + "associated with" being predominant, but to my ear, describing the + relationship as "ownership" is more comprehensible. + +vdso.7 + Helge Deller + Fix parisc gateway page description + +ld.so.8 + Michael Kerrisk [Florian Weimer, David Newall] + Document the --preload command-line option added in glibc 2.30 + Michael Kerrisk + Note delimiters for 'list' in --audit and --inhibit-rpath + Michael Kerrisk + Place OPTIONS in alphabetical order + Michael Kerrisk + LD_PRELOAD-ed objects are added to link map in left-to-right order + +zdump.8 + Paul Eggert + Sync from tzdb upstream + +zic.8 + Paul Eggert + Sync from tzdb upstream + + +==================== Changes in man-pages-5.01 ==================== + +Released: 2019-05-09, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Abhinav Upadhyay +Andreas Korb +Anisse Astier +Brice Goglin +Carlos O'Donell +Dr. Jürgen Sauermann +Egmont Koblinger +Elias Benali +Elliot Hughes +Florian Weimer +Hugues Evrard +Jakub Nowak +Jakub Wilk +Keegan Saunders +Lucas Werkmeister +Marcus Huewe +Michael Kerrisk +Michael Witten +Seth Troisi +Slavomir Kaslev +Vincent Lefevre +Wladimir Mutel + +Apologies if I missed anyone! + + +Newly documented interfaces in existing pages +--------------------------------------------- + +tsearch.3 + Florian Weimer [Michael Kerrisk] + Document the twalk_r() function added in glibc 2.30 + + +New and changed links +--------------------- + +twalk_r.3 + Michael Kerrisk + New link to twalk(3) page + + +Changes to individual pages +--------------------------- + +accept.2 + Michael Kerrisk + Note that 'addrlen' is left unchanged in the event of an error + See http://austingroupbugs.net/view.php?id=836. + +bpf.2 + Michael Kerrisk + Update kernel version info for JIT compiler + +clone.2 + Michael Kerrisk [Jakub Nowak] + 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 be 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 + +execve.2 +exec.3 + Michael Kerrisk [Dr. Jürgen Sauermann] + Consistently use the term 'pathname' (not 'path') + +execve.2 + Michael Kerrisk + 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); + Michael Kerrisk [Dr. Jürgen Sauermann] + SEE ALSO: refer to exec(3) (rather than execl(3)) + +pipe.2 + Michael Kerrisk + Note that 'pipefd' is left unchanged in the event of an error + See http://austingroupbugs.net/view.php?id=467. + +sched_setaffinity.2 + Michael Kerrisk [Brice Goglin] + Correct details of return value of sched_getaffinity() syscall + +setfsgid.2 + Michael Kerrisk + 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. + +setfsuid.2 + Michael Kerrisk + 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 + historical rationale for the fsUID, which is detailed lower in + the page. + +socketpair.2 + Michael Kerrisk + Clarify that 'sv' is left unchanged in the event of an error + See also http://austingroupbugs.net/view.php?id=483. + +splice.2 + Slavomir Kaslev + EAGAIN can occur when called on nonblocking file descriptors + +syscalls.2 + Michael Kerrisk [Andreas Korb] + 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). + +tee.2 + Slavomir Kaslev + EAGAIN can occur when called on nonblocking file descriptors + +fopen.3 + Elliot Hughes + 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. + +mallinfo.3 + Elliott Hughes + 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. + +malloc_trim.3 + Carlos O'Donell + 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. + +posix_memalign.3 + Elliot Hughes + Some functions set errno + True of bionic, glibc, and musl. (I didn't check elsewhere.) + +resolver.3 + Michael Kerrisk [Wladimir Mutel] + Mention that some functions set 'h_errno' + +stdarg.3 + Michael Kerrisk [Vincent Lefevre] + Remove the NOTES section describing the ancient varargs macros + stdarg.h is now 30 years old, and gcc long ago (2004) ceased to + implement . There seems little value in keeping this + text. + + See https://bugzilla.kernel.org/show_bug.cgi?id=202907 + Michael Kerrisk [Egmont Koblinger] + 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. + +strerror.3 + Jakub Wilk + Don't discuss buffer size for strerror_l() + Unlike strerror_r(), strerror_l() doesn't take buffer length as an + argument. + +strtol.3 +strtoul.3 + Jakub Wilk + SEE ALSO: add strtoimax(3), strtoumax(3) + +sysconf.3 + Michael Kerrisk [Hugues Evrard] + Clearly note that _SC_PAGESIZE and _SC_PAGE_SIZE are synonyms + +tsearch.3 + Florian Weimer + 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. + Michael Kerrisk + SYNOPSIS: add missing definition of 'VISIT' type + Michael Kerrisk + Reformat twalk() and twalk_r() prototypes for easier readability + +console_codes.4 + Jakub Wilk + Document that \e[1;n] and \e[2;n] support 16 colors + Source: setterm_command() in drivers/tty/vt/vt.c + +elf.5 + Michael Kerrisk [Keegan Saunders] + A data segment does not have PF_X + +proc.5 + Michael Witten [Anisse Astier] + Add missing Inode field to /proc/net/unix + +hostname.7 + Florian Weimer + HOSTALIASES/search path processing is DNS-specific + Other NSS modules do not necessarily honor these settings. + +inode.7 + Michael Kerrisk + Note that timestamp fields measure time starting at the Epoch + Michael Kerrisk + Timestamp fields are structures that include a nanosecond component + Michael Kerrisk + Add references to execve(2) to describe set-UID/set-GID behaviors + + +==================== Changes in man-pages-5.02 ==================== + +Released: 2019-08-02, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Alan Stern +Alexey Izbyshev +Amir Goldstein +Cyrill Gorcunov +Eric Sanchis +Eugene Syromyatnikov +Finn O'Leary +Florian Weimer +G. Branden Robinson +Guillaume Laporte +Jakub Wilk +Jan Kara +Kumar Chaudhary, Naveen +Mark Wielaard +Matthew Bobrowski +Matthew Kenigsberg +Matthias Hertel +Michael Kerrisk +Michal Sekletar +Oleg Nesterov +Palmer Dabbelt +Petr Vaněk +Sami Kerola +Shawn Landden +Thorsten Glaser +Tobias Klauser +Tomas Skäre +Yang Xu + +Apologies if I missed anyone! + + +Newly documented interfaces in existing pages +--------------------------------------------- + +fanotify.7 +fanotify_init.2 +fanotify_mark.2 + Matthew Bobrowski [Amir Goldstein, Jan Kara] + Document FAN_REPORT_FID and directory modification events + +vdso.7 + Tobias Klauser [Palmer Dabbelt] + Document vDSO for RISCV + +Renamed pages +------------- + +sysvipc.7 + svipc(7) is renamed to sysvipc(7). + The name sysvipc is a bit more natural, and is the name used in + /proc/sysvipc. + +New and changed links +--------------------- + +svipc.7 + Michael Kerrisk + Add old name of sysvipc(7) page as a link + + +Global changes +-------------- + +Various pages + Michael Kerrisk + Change reference to svipc(7) to sysvipc(7) + + +Changes to individual pages +--------------------------- + +pldd.1 + G. Branden Robinson [Michael Kerrisk] + Document glibc's unbreakage of tool + After a longstanding breakage, pldd now works again (glibc 2.30). + +bpf.2 + Michael Kerrisk + Correct kernel version for JIT support on s390 + +chdir.2 + Michael Kerrisk + Add ENOTDIR error for fchdir() + +execve.2 + Michael Kerrisk [Eugene Syromyatnikov] + Since Linux 5.1, the limit on the #! line is 255 chars (rather than 127) + Shawn Landden [Michael Kerrisk] + Add more detail about Shebangs + Michael Kerrisk + Linux is not alone in ignoring the set-UID and set-GID bits for scripts + +mount.2 + Michael Kerrisk + ERRORS: Add a couple of EINVAL errors for MS_MOVE + Michael Kerrisk + SEE ALSO: add chroot(2) and pivot_root(2) + +mprotect.2 + Mark Wielaard + pkey_mprotect() acts like mprotect() if pkey is set to -1, not 0 + +mprotect.2 +pkey_alloc.2 + Mark Wielaard [Florian Weimer] + _GNU_SOURCE is required for the pkey functions. + +pivot_root.2 + Michael Kerrisk + ERRORS: EINVAL occurs if 'new_root' or its parent has shared propagation + Michael Kerrisk + 'new_root' must be a mount point + It appears that 'new_root' may not have needed to be a mount + point on ancient kernels, but already in Linux 2.4.5 this changed. + Michael Kerrisk + 'put_old' can't be a mount point with MS_SHARED propagation + Michael Kerrisk + SEE ALSO: add mount(2) + +poll.2 + Michael Kerrisk [Alan Stern] + Note that poll() equivalent code for ppoll() is not quite equivalent + +prctl.2 + Yang Xu [Cyrill Gorcunov] + Correct some details for PR_SET_TIMERSLACK + +setxattr.2 + Finn O'Leary [Michael Kerrisk] + Add ERANGE to 'ERRORS' section + +tkill.2 + Michael Kerrisk + glibc 2.30 provides a wrapper for tgkill() + +dlopen.3 + Michael Kerrisk + Clarify the rules for symbol resolution in a dlopen'ed object + The existing text wrongly implied that symbol look up first + occurred in the object and then in main, and did not mention + whether dependencies of main where used for symbol resolution. + Michael Kerrisk + Clarify when an executable's symbols can be used for symbol resolution + The --export-dynamic linker option is not the only way that main's + global symbols may end up in the dynamic symbol table and thus be + used to satisfy symbol reference in a shared object. A symbol + may also be placed into the dynamic symbol table if ld(1) + notices a dependency in another object during the static link. + Michael Kerrisk + An object opened with RTLD_LOCAL can be promoted to RTLD_GLOBAL + Michael Kerrisk + Note that symbol use might keep a dlclose'd object in memory + Michael Kerrisk + On dlclose(), destructors are called when reference count falls to 0 + Michael Kerrisk + Make it clear that RTLD_NODELETE also affects global variables + Michael Kerrisk + Clarify that constructors are called only when library is first loaded + +exec.3 + Matthew Kenigsberg + Explain function groupings + I've found the exec man page quite difficult to read when trying + to find the behavior for a specific function. Since the names of + the functions are inline and the order of the descriptions isn't + clear, it's hard to find which paragraphs apply to each function. + I thought it would be much easier to read if the grouping based on + letters is stated. + +getutent.3 + Michael Kerrisk [Thorsten Glaser] + Fix missing include file in EXAMPLE + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932382 + +on_exit.3 + Michael Kerrisk [Sami Kerola] + Stack variables may be out of scope when exit handler is invoked + +strcat.3 + Michael Kerrisk [Eric Sanchis] + Fix off-by-one error in example code + +cpuid.4 + Michael Kerrisk + SEE ALSO: add cpuid(1) + +elf.5 + Michael Kerrisk + SEE ALSO: add ld.so(8) + +proc.5 + Michael Kerrisk + Correct description of /proc/PID/status 'ShdPnd' and 'SigPnd' fields + These fields are signal masks, not counters. + Michael Kerrisk + Clarify that various mask fields in /proc/PID/status are in hexadecimal + +capabilities.7 + Michael Kerrisk + Add a note about using strace on binaries that have capabilities + Michael Kerrisk + Add pivot_root(2) to CAP_SYS_ADMIN list + Michael Kerrisk + CAP_FOWNER also allows modifying user xattrs on sticky directories + +cgroup_namespaces.7 + Michael Kerrisk + Some wording fixes to improve clarity + Michael Kerrisk + In the example shell session, give second shell a different prompt + +credentials.7 + Michael Kerrisk + Note that /proc/PID/status shows a process's credentials + Michael Kerrisk + SEE ALSO: add tcgetsid(3) + +fanotify.7 + Matthew Bobrowski + Reword FAN_REPORT_FID data structure inclusion semantics + Michael Kerrisk + Clarify logic in ESTALE check + Michael Kerrisk + Reorder text in EXAMPLE + Michael Kerrisk + Reformat program output to fit in 80 columns + +mount_namespaces.7 + Michael Kerrisk + Clarify implications for other NS if mount point is removed in one NS + If a mount point is deleted or renamed or removed in one mount + namespace, this will cause an object that is mounted at that + location in another mount namespace to be unmounted (as verified + by experiment). This was implied by the existing text, but it is + better to make this detail explicit. + Michael Kerrisk + SEE ALSO: add pivot_root(2), pivot_root(8) + +namespaces.7 + Michael Kerrisk + Note initial values of hostname and domainname in a new UTS namespace + +sched.7 + Michael Kerrisk + SEE ALSO: add pthread_getschedparam(3) + +signal.7 + Michal Sekletar [Oleg Nesterov, Michael Kerrisk] + Clarify that siginfo_t isn't changed on coalescing + Michael Kerrisk + Various fields in /proc/PID/status show signal-related information + Michael Kerrisk + Add subsection on queuing and delivery semantics for standard signals + +socket.7 + Michael Kerrisk + select()/poll()/epoll honor SO_RCVLOWAT since Linux 2.6.28 + +unix.7 + Michael Kerrisk + Note SCM_RIGHTS interaction with RLIMIT_NOFILE + If the file descriptors received in SCM_RIGHTS would cause + the process to its exceed RLIMIT_NOFILE limit, the excess + FDs are discarded. + +user_namespaces.7 + Michael Kerrisk + Describe the effect of file-related capabilities inside user namespaces + Michael Kerrisk + Describe how kernel treats UIDs/GIDs when a process accesses files + +vdso.7 + Tobias Klauser + Mention removal of Blackfin port in Linux 4.17 + +ld.so.8 + Michael Kerrisk [Matthias Hertel] + Note some further details of secure-execution mode + Note some further details of the treatment of environment + variables in secure execution mode. In particular (as noted by + Matthias Hertel), note that ignored environment variables are also + stripped from the environment. Furthermore, there are some other + variables, not used by the dynamic linker itself, that are also + treated in this way (see the glibc source file + sysdeps/generic/unsecvars.h). + + +==================== Changes in man-pages-5.03 ==================== + +Released: 2019-10-11, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Adam Borowski +Aleksa Sarai +Alexey Budankov +Amir Goldstein +Andrew Clayton +Carlos O'Donell +Christian Brauner +Christopher M. Riedl +Daniel Colascione +Dave Carroll +Dave Chinner +Дилян Палаузов +Dmitry V. Levin +Don Brace +eponymous alias +Eric Biggers +Eric W. Biederman +Florian Weimer +Florin Blanaru +Gilbert Wu +Ingo Schwarze +Jakub Wilk +Kevin Barnett +Marko Myllynen +Matti Moell +Matti Möll +Matt Perricone +Michael Kerrisk +Mike Frysinger +Murthy Bhat +Nikola Forró +nilsocket +Paul Wise +Philipp Wendler +Raphael Moreira Zinsly +Rasmus Villemoes +Reid Priedhorsky +Rick Stanley +Rob Landley +Scott Benesh +Scott Teel +Shawn Anastasio +Simone Piccardi +Vincent Lefevre +Yang Xu + +Apologies if I missed anyone! + + +New and rewritten pages +----------------------- + +pidfd_open.2 + Michael Kerrisk [Christian Brauner, Florian Weimer, Daniel Colascione] + New page documenting pidfd_open(2) + +pidfd_send_signal.2 + Michael Kerrisk [Florian Weimer, Christian Brauner] + New page documenting pidfd_send_signal(2) + +pivot_root.2 + Michael Kerrisk [Eric W. Biederman, Reid Priedhorsky, Philipp Wendler] + This page has been completely rewritten, adding a lot of missing + details (including the use of pivot_root(".", ".")) and an example + program. In addition, the text prevaricating on whether or not + pivot_root() might change the root and current working directories has + been eliminated, and replaced with a simple description of the behavior + of the system call, which has not changed for 19 years, and will not + change in the future. Many longstanding errors in the old version of + the page have also been corrected. + +ipc_namespaces.7 + Michael Kerrisk + New page with content migrated from namespaces(7) + +uts_namespaces.7 + Michael Kerrisk + New page with content migrated from namespaces(7) + + +Newly documented interfaces in existing pages +--------------------------------------------- + +clone.2 + Christian Brauner, Michael Kerrisk + Document CLONE_PIDFD + Add an entry for CLONE_PIDFD. This flag is available starting + with kernel 5.2. If specified, a process file descriptor + ("pidfd") referring to the child process will be returned in + the ptid argument. + +fanotify_mark.2 + Jakub Wilk + Document FAN_MOVE_SELF + +ptrace.2 + Dmitry V. Levin [Michael Kerrisk] + Document PTRACE_GET_SYSCALL_INFO + +regex.3 + Rob Landley + Document REG_STARTEND + + +New and changed links +--------------------- + +res_nclose.3 + Michael Kerrisk + Add NEW link to resolver.3 + + +Global changes +-------------- + +Various pages + Michael Kerrisk + SEE ALSO: correct list order + +Various pages + Michael Kerrisk + Remove section number from references to function in its own page + +Various pages + Michael Kerrisk + ERRORS: correct alphabetical order + + +Changes to individual pages +--------------------------- + +localedef.1 + Marko Myllynen + Describe recently added options + Describe few recently added options (present in glibc-2.29). + +clone.2 + Michael Kerrisk + SEE ALSO: add pidfd_open(2) + +copy_file_range.2 + Amir Goldstein [Dave Chinner] + Kernel v5.3 updates + +fanotify_mark.2 + Jakub Wilk + Add kernel version numbers for some FAN_* constants + +getdomainname.2 + Michael Kerrisk + Add mention of UTS namespaces + +gethostname.2 + Michael Kerrisk [Jakub Wilk] + Mention UTS namespaces + +io_submit.2 + Matti Moell [Matti Möll] + Fix kernel version numbers for 'aio_rw_flags' flags + +kill.2 + Michael Kerrisk + SEE ALSO: add pidfd_send_signal(2) + +mmap.2 + Nikola Forró + Fix EINVAL conditions + Since introduction of MAP_SHARED_VALIDATE, in case flags contain + both MAP_PRIVATE and MAP_SHARED, mmap() doesn't fail with EINVAL, + it succeeds. + + The reason for that is that MAP_SHARED_VALIDATE is in fact equal + to MAP_PRIVATE | MAP_SHARED. + +mount.2 + Michael Kerrisk [Reid Priedhorsky] + Describe the concept of "parent mounts" + Michael Kerrisk + NOTES: add subsection heading for /proc/[pid]/{mounts,mountinfo} + Michael Kerrisk + Rework the text on mount namespaces a little + Eliminate the term "Per-process namespaces" and add a reference + to mount_namespaces(7). + +move_pages.2 + Yang Xu [Michael Kerrisk] + Mark E2BIG as deprecated + E2BIG was removed in 2.6.29, we should mark it as deprecated. + +perf_event_open.2 + Michael Kerrisk [Alexey Budankov] + SEE ALSO: add Documentation/admin-guide/perf-security.rst + +prctl.2 + Michael Kerrisk + Clarify that PR_GET_SPECULATION_CTRL returns value as function result + Michael Kerrisk + Clarify that PR_MCE_KILL_GET returns value via function result + Michael Kerrisk + Clarify that PR_GET_FP_MODE returns value as function result + Michael Kerrisk + RETURN VALUE: add some missing entries + Note success return for PR_GET_SPECULATION_CTRL and PR_GET_FP_MODE. + +rt_sigqueueinfo.2 + Michael Kerrisk + Note that 'si_code' can't be specified as SI_KERNEL + Michael Kerrisk + The rules for 'si_code' don't apply when sending a signal to oneself + The restriction on what values may be specified in 'si_code' + apply only when sending a signal to a process other than the + caller itself. + Michael Kerrisk + Rename 'uinfo' argument to 'info' + This is more consistent with the naming in other pages + that refer to a 'siginfo_t' structure. + Michael Kerrisk + SEE ALSO: add pidfd_send_signal(2) + +sched_setaffinity.2 + Michael Kerrisk + RETURN VALUE: sched_getaffinity() syscall differs from the wrapper + +setns.2 + Mike Frysinger + Fix CLONE_NEWNS restriction info + +sigaction.2 + Michael Kerrisk + SEE ALSO: add pidfd_send_signal(2) + +signalfd.2 + Andrew Clayton, Michael Kerrisk + Note about interactions with epoll & fork + +statx.2 + Michael Kerrisk [Simone Piccardi] + Clarify details of a case where an invalid 'mask' value may be rejected + +syscall.2 + Shawn Anastasio + Add information for powerpc64 + Michael Kerrisk [Adam Borowski, Florin Blanaru] + Update name of syscall instruction for riscv + +syscalls.2 + Michael Kerrisk + Add fsconfig(), fsmount(), fsopen(), fspick(), move_mount(), open_tree() + Michael Kerrisk [(), Michael(), Kerrisk(),] + Add new syscalls in 5.1 + Add io_uring_enter(), io_uring_register(), io_uring_setup(), and + pidfd_send_signal(). + Michael Kerrisk + Add clone3() and pidfd_open() + +uname.2 + Michael Kerrisk + Replace reference to namespaces(7) with reference to uts_namespaces(7) + +errno.3 + Rasmus Villemoes + Add some comments on EAGAIN/EWOULDBLOCK and EDEADLK/EDEADLOCK + +fexecve.3 + Michael Kerrisk [Simone Piccardi] + ENOSYS occurs only if the kernel provides no execveat() syscall + Michael Kerrisk [Simone Piccardi] + ERRORS: add ENOENT + +getauxval.3 + Raphael Moreira Zinsly + Add new cache geometry entries + +printf.3 + Vincent Lefevre + Add detail on the first digit with the %e format + +pthread_setcancelstate.3 +pthreads.7 +signal-safety.7 + Carlos O'Donell + Describe issues with cancellation points in signal handlers + +strtok.3 + Michael Kerrisk [eponymous alias] + Correct description of use of 'saveptr' argument in strtok_r() + Michael Kerrisk [eponymous alias] + The caller should not modify 'saveptr' between strtok_r() calls + Michael Kerrisk + Add portability note for strtok_r() '*saveptr' value + On some implementations, '*saveptr' must be NULL on first call + to strtok_r(). + +smartpqi.4 + Murthy Bhat [Don Brace, Kevin Barnett, Matt Perricone, Scott Benesh] + Add sysfs entries + Gilbert Wu [Don Brace, Kevin Barnett, Matt Perricone, Scott Benesh] + Add module param expose ld first + Dave Carroll [Don Brace, Kevin Barnett, Matt Perricone, Scott Benesh] + Add module param to hide vsep + +core.5 + Paul Wise + Explain the new situation with argument splitting + Things changed in Linux v5.3-rc3 commit 315c69261dd3 from + splitting after template expansion to splitting beforehand. + +resolv.conf.5 + Nikola Forró + Update information about search list + Since glibc 2.26, the number of domains in the search list is + no longer limited. + +man-pages.7 + Michael Kerrisk + Relocate and enhance the text on semantic newlines + Michael Kerrisk [Paul Wise] + Paragraphs should not be separated by blank lines + +mount_namespaces.7 + Michael Kerrisk + Explain how a namespace's mount point list is initialized + Provide a more detailed explanation of the initialization of + the mount point list in a new mount namespace. + Michael Kerrisk [Eric W. Biederman] + Clarify description of "less privileged" mount namespaces + Michael Kerrisk + SEE ALSO: refer to example in pivot_root(2) + Michael Kerrisk [Eric W. Biederman] + It may be desirable to disable propagation after creating a namespace + After creating a new mount namespace, it may be desirable to + disable mount propagation. Give the reader a more explicit + hint about this. + +mq_overview.7 +sysvipc.7 + Michael Kerrisk + Adjust references to namespaces(7) to ipc_namespaces(7) + +namespaces.7 + Michael Kerrisk + Remove content migrated to new ipc_namespaces(7) page + Michael Kerrisk + Remove content migrated to uts_namespaces(7) + Michael Kerrisk + Include manual page references in the summary table of namespace types + Make the page more compact by removing the stub subsections that + list the manual pages for the namespace types. And while we're + here, add an explanation of the table columns. + +operator.7 + Michael Kerrisk [Rick Stanley] + Prefix and postfix ++/-- have different precedences + Harbison and Steele also agree on this. + +signal.7 + Michael Kerrisk + Enhance the text on process-directed and thread-directed signals + clone(2) has a good description of these concepts; borrow + from it liberally. + Michael Kerrisk + SEE ALSO: add pidfd_send_signal(2) + +user_namespaces.7 + Michael Kerrisk + Improve explanation of meaning of ownership of nonuser namespaces + + +==================== Changes in man-pages-5.04 ==================== + +Released: 2019-11-19, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Andrew Price +Christian Brauner +Florian Weimer +Jakub Wilk +Jan Kara +Jann Horn +Kenigbolo Meya Stephen +Marko Myllynen +Michael Kerrisk +Mikael Magnusson +Robert Edmonds +Silviu Popescu +Torin Carey +Witold Baryluk +Yang Xu + +Apologies if I missed anyone! + + +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 + + +New and changed links +--------------------- + +clone3.2 + Michael Kerrisk + New link to clone(2) + + +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 + 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. + 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). + Michael Kerrisk [Christian Brauner] + 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. + Michael Kerrisk [Christian Brauner] + 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 + nowadays. + Michael Kerrisk + Remove wording that suggests CLONE_NEW* flags are for containers + These flags are used for implementing many other interesting + things by now. + Michael Kerrisk + 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. + +clone.2 +proc.5 + Michael Kerrisk + Adjust references to namespaces(7) + Adjust references to namespaces(7) to be references to pages + describing specific namespace types. + +fallocate.2 + Andrew Price + Add gfs2 to the list of punch hole-capable filesystems + +ioctl_iflags.2 + Michael Kerrisk [Robert Edmonds] + Emphasize that FS_IOC_GETFLAGS and FS_IOC_SETFLAGS argument is 'int *' + +ioctl_list.2 + Michael Kerrisk + Add reference to ioctl(2) SEE ALSO section + The referenced section lists various pages that document ioctls. + +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 + Michael Kerrisk + Add a subsection header "Use cases for PID file descriptors" + Michael Kerrisk + Make it a little more explicit the CLONE_PIDFD returns a PID FD + +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 + +seccomp.2 +cgroups.7 + Michael Kerrisk + Switch to "considerate language" + +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(). + +getauxval.3 + Michael Kerrisk [Witold Baryluk] + Clarify that AT_BASE_PLATFORM and AT_EXECFN return pointers to strings + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942207 + +resolv.conf.5 + Florian Weimer + Attempt clarify domain/search interaction + The domain directive is historic at this point; it should not + be used. + +netdevice.7 + Michael Kerrisk [Silviu Popescu] + Small wording fix in description of SIOCGIFCONF + SIOCGIFCONF returns "network layer" addresses (not "transport + layer"). + +uts_namespaces.7 + Michael Kerrisk + Add a little more detail on scope of UTS namespaces + + +==================== Changes in man-pages-5.05 ==================== + +Released: 2020-02-09, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Adam Borowski +Adrian Reber +Andy Lutomirski +Antonin Décimo +Benjamin Peterson +Brennan Vincent +Christian Brauner +Colin Ian King +Cyril Hrubis +Daniel Colascione +Denys Vlasenko +DJ Delorie +Dmitry V. Levin +Jakub Wilk +Jashank Jeremy +Joel Fernandes +John Hubbard +John Jones +Joseph C. Sible +kevin sztern +Marko Myllynen +markus T Metzger +Michael Kerrisk +Michal Hocko +Mike Frysinger +Mike Salvatore +Mikhail Golubev +Nick Shipp +Nikola Forró +Peter Gajdos +Petr Vorel +Ponnuvel Palaniyappan +Rich Felker +Robin Kuzmin +Samuel Thibault +Sam Varshavchik +Vegard Nossum +Weitian LI +Will +Yang Xu +Yu Jian Wu + +Apologies if I missed anyone! + + +Newly documented interfaces in existing pages +--------------------------------------------- + +clone.2 + Adrian Reber [Christian Brauner, Michael Kerrisk] + Add clone3() set_tid information + Michael Kerrisk + Document CLONE_CLEAR_SIGHAND + +fcntl.2 + Joel Fernandes [Michael Kerrisk] + Update manpage with new memfd F_SEAL_FUTURE_WRITE seal + +memfd_create.2 + Joel Fernandes + Update manpage with new memfd F_SEAL_FUTURE_WRITE seal + +loop.4 + Yang Xu + Document LOOP_SET_BLOCK_SIZE + Yang Xu + Document LOOP_SET_DIRECT_IO + +proc.5 + Michael Kerrisk + Document /proc/sys/vm/unprivileged_userfaultfd + + +Changes to individual pages +--------------------------- + +capget.2 + Michael Kerrisk [Yang Xu] + Add missing details in EPERM error for setting inheritable capabilities + +clone.2 + Michael Kerrisk + Note that CLONE_THREAD causes similar behavior to CLONE_PARENT + The introductory paragraphs note that "the calling process" is + normally synonymous with the "the parent process", except in the + case of CLONE_PARENT. The same is also true of CLONE_THREAD. + Christian Brauner [Michael Kerrisk] + Mention that CLONE_PARENT is off-limits for inits + Michael Kerrisk [Colin Ian King] + Add old EINVAL error for AArch64 + Michael Kerrisk + ERRORS: add EINVAL for use of CLONE_PARENT by an init process + +futex.2 + Ponnuvel Palaniyappan + Fix a bug in the example + +listen.2 + Michael Kerrisk [Peter Gajdos] + The 'somaxconn' default value has increased to 4096 + +modify_ldt.2 +set_thread_area.2 + Andy Lutomirski [Markus T Metzger] + Fix type of base_addr + +move_pages.2 + John Hubbard [Michal Hocko] + Remove ENOENT from the list of possible return values + +open.2 + Adam Borowski + No need for /proc to make an O_TMPFILE file permanent + In the example snippet, we already have the fd, thus there's no + need to refer to the file by name. And, /proc/ might be not + mounted or not accessible. + Michael Kerrisk [Joseph C. Sible] + In O_TMPFILE example, describe alternative linkat() call + This was already shown in an earlier version of the page, + but Adam Borowski's patch replaced it with an alternative. + Probably, it is better to show both possibilities. + +perf_event_open.2 + Daniel Colascione + Mention EINTR for perf_event_open + +ptrace.2 + Denys Vlasenko + PTRACE_EVENT_STOP does not always report SIGTRAP + +quotactl.2 + Michael Kerrisk + Don't show numeric values of Q_XQUOTAON XFS_QUOTA_?DQ_* flags + The programmer should not need to care about the numeric values, + and their inclusion is verbosity. + Yang Xu [Michael Kerrisk] + Add EINVAL error of Q_XQUOTARM operation + +stime.2 + Michael Kerrisk + Note that stime() is deprecated + +syscall.2 + Petr Vorel [Cyril Hrubis] + Update feature test macro requirements + +sysctl.2 + Michael Kerrisk + This system call was removed in Linux 5.5; adjust the page accordingly + +userfaultfd.2 + Yang Xu [Michael Kerrisk] + Add EPERM error + +cmsg.3 + Rich Felker + Clarify alignment issues and correct method of accessing CMSG_DATA() + From an email by Rich Felker: + + It came to my attention while reviewing possible breakage with + move to 64-bit time_t that some applications are dereferencing + data in socket control messages (particularly SCM_TIMESTAMP*) + in-place as the message type, rather than memcpy'ing it to + appropriate storage. This necessarily does not work and is not + supportable if the message contains data with greater alignment + requirement than the header. In particular, on 32-bit archs, + cmsghdr has size 12 and alignment 4, but struct timeval and + timespec may have alignment requirement 8. + Michael Kerrisk [Rich Felker] + Modify CMSG_DATA() example to use memcpy() + See previous patch to this page for rationale + +exit.3 + Benjamin Peterson [Mike Frysinger] + Use hex for the status mask + +ftime.3 + Michael Kerrisk + Note that this function is deprecated + +getpt.3 + Samuel Thibault + Remove mention of O_NOCTTY + The glibc implementation of getpt has actually never been setting + +malloc.3 + Vegard Nossum + Clarify realloc() return value + Petr Vorel + Remove duplicate _GNU_SOURCE + +console_codes.4 + Adam Borowski + Document \e[90m to 97, 100 to 107 + Adam Borowski + \e[21m is now underline + Since 65d9982d7e523a1a8e7c9af012da0d166f72fc56 (4.17), it follows + xterm rather than common sense and consistency, being the only + command 1..9 where N+20 doesn't undo what N did. As libvte + 0.51.90 got changed the same way, this behaviour will probably + stay. + Adam Borowski + Update \e[38m and \e[48m + Supported since cec5b2a97a11ade56a701e83044d0a2a984c67b4 (3.16). + +cgroups.7 + Michael Kerrisk + The v2 freezer controller was added in Linux 5.2 + Michael Kerrisk + Split discussion of cgroups.events file and v2 release notification + In preparation for adding a description of the "frozen" key. + Michael Kerrisk + Describe the cgroup.events "frozen" key + Michael Kerrisk + Improve the discussion of the advantages of v2 release notification + +inotify.7 + Nick Shipp + Merge late perror() into fprintf() in example code + +netlink.7 + Antonin Décimo + Fix alignment issue in example + +packet.7 + kevin sztern [Michael Kerrisk] + Add missing tpacket_auxdata field (tp_vlan_tpid) + +rtnetlink.7 + Antonin Décimo + ifa_index is an unsigned int + +tcp.7 + Michael Kerrisk + tcp_low_latency is ignored since Linux 4.14 + +unix.7 + Michael Kerrisk + The PID sent with SCM_CREDENTIALS must match an existing process + +vsock.7 + Mikhail Golubev [Michael Kerrisk] + Add missing structure element + The structure 'struct sockaddr_vm' has additional element + 'unsigned char svm_zero[]' since version v3.9-rc1. + +ldconfig.8 + DJ Delorie + Document file filter and symlink pattern expectations + + +==================== Changes in man-pages-5.06 ==================== + +Released: 2020-04-11, Munich + + +Contributors +------------ + +The following people contributed patches/fixes or (noted in brackets +in the changelog below) reports, notes, and ideas that have been +incorporated in changes in this release: + +Alejandro Colomar +Aleksa Sarai +Alexander Miller +Andrea Arcangeli +André Almeida +Andrei Vagin +Andrew Micallef +Bart Van Assche +Benjamin Peterson +Bjarni Ingi Gislason +Christian Brauner +devi R.K +Dmitry Safonov +Eric Biggers +Eric Dumazet +Eric Rannaud +Eugene Syromyatnikov +Heinrich Schuchardt +Helge Deller +Jakub Wilk +Jorgen Hansen +Julia Suvorova +Keno Fischer +Krzysztof Małysa +Marc Lehmann +Matthew Bobrowski +Matthew Wilcox +Michael Galassi +Michael Kerrisk +Michal Hocko +Mike Christie +Mike Frysinger +Pablo M. Ronchi +Ricardo Biehl Pasquali +Stefan Hajnoczi +Stefano Garzarella +Thomas Gleixner +Walter Harms +Zack Weinberg + +Apologies if I missed anyone! + + +New and rewritten pages +----------------------- + +openat2.2 + Aleksa Sarai [Michael Kerrisk] + Document new openat2(2) syscall + +pidfd_getfd.2 + Michael Kerrisk [Christian Brauner] + New manual page documenting the pidfd_getfd() system call + +select.2 + Michael Kerrisk + Rewrite DESCRIPTION + Improve structure and readability, at the same time incorporating + text and details that were formerly in select_tut(2). Also + move a few details in other parts of the page into DESCRIPTION. + Michael Kerrisk + Consolidate the discussion of pselect into a headed subsection + Michael Kerrisk + Consolidate historical glibc pselect() details under one subhead + Michael Kerrisk + Consolidate info on usleep() emulation in one place + Michael Kerrisk + Place the discussion of the self-pipe technique in a headed subsection + Michael Kerrisk + Note that FD_SET() and FD_CLR() do not return errors + Michael Kerrisk + Remove details of historical #include requirements + The POSIX situation has been the norm for a long time now, + and including ancient details overcomplicates the page. + Michael Kerrisk + Remove some ancient information about pre-POSIX types for 'timeout' + +select_tut.2 + Michael Kerrisk + Eliminate duplication of info across select_tut.2 and select2 + There was a lot of a duplication of info in SYNOPSIS, DESCRIPTION + RETURN VALUE, and SEE ALSO. Move all of the info to one place: + the select(2) page. + +sysvipc.7 + Michael Kerrisk + Rewrite this page as just a summary of the System V IPC APIs + All of the other details in this page have by now been moved into + the relevant *ctl(2) pages. + +time_namespaces.7 + Michael Kerrisk [Andrei Vagin, Dmitry Safonov, Thomas Gleixner] + New page documenting time namespaces + + +Newly documented interfaces in existing pages +--------------------------------------------- + +arch_prctl.2 + Keno Fischer + Add ARCH_SET_CPUID subcommand + +clock_getres.2 + Benjamin Peterson + Document CLOCK_TAI + Michael Kerrisk + Add CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM + +prctl.2 + Mike Christie [Michal Hocko, Michael Kerrisk, Bart Van Assche] + Document PR_SETIO_FLUSHER/GET_IO_FLUSHER + +setns.2 + Michael Kerrisk + Document CLONE_NEWTIME + +statx.2 + Eric Biggers + Document STATX_ATTR_VERITY + +unshare.2 + Michael Kerrisk + Document CLONE_NEWTIME + +socket.7 + Ricardo Biehl Pasquali, Michael Kerrisk + Add description of SO_SELECT_ERR_QUEUE + Alejandro Colomar [Michael Kerrisk] + Document SO_TIMESTAMPNS + + +Global changes +-------------- + +Various pages + Michael Kerrisk + Remove a few mentions of the ancient "Linux libc" + +Various pages + Michael Kerrisk + Global formatting fix: disfavor nonstandard .TP indents + In many cases, these don't improve readability, and (when stacked) + they sometimes have the side effect of sometimes forcing text + to be justified within a narrow column range. + +Various pages + Michael Kerrisk [Christian Brauner] + Fix clumsy wording around "nonnegative file descriptors" + + +Changes to individual pages +--------------------------- + +clock_getres.2 + Helge Deller [Michael Kerrisk] + Consecutive calls for CLOCK_MONOTONIC may return same value + Consecutive calls to clock_gettime(CLOCK_MONOTONIC) are guaranteed + to return MONOTONIC values, which means that they either return + the *SAME* time value like the last call, or a later (higher) time + value. + Eric Rannaud + Dynamic POSIX clock devices can return other errors + Michael Kerrisk + Improve description of CPU-time clocks + Michael Kerrisk + Add an example program + Michael Kerrisk + CLOCK_REALTIME_COARSE is not settable + Michael Kerrisk + Note that CPU-time clocks are not settable. + Explicitly note that CLOCK_PROCESS_CPUTIME_ID and + CLOCK_PROCESS_CPUTIME_ID are not settable. + Michael Kerrisk + Clarify that CLOCK_TAI is nonsettable + Michael Kerrisk + Clarify that CLOCK_MONOTONIC is system-wide + Michael Kerrisk + ERRORS: add EINVAL for attempt to set a nonsettable clock + Michael Kerrisk + Move text in BUGS to NOTES + The fact that CLOCK_PROCESS_CPUTIME_ID and + CLOCK_PROCESS_CPUTIME_ID are not settable isn't a bug, + since POSIX does allow the possibility that these clocks + are not settable. + Michael Kerrisk + SEE ALSO: add time_namespaces(7) + +clock_nanosleep.2 + Michael Kerrisk + clock_nanosleep() can also sleep against CLOCK_TAI + Michael Kerrisk + clock_nanosleep() also supports CLOCK_BOOTTIME + Presumably (and from a quick glance at the source code) + since Linux 2.6.39, when CLOCK_BOOTTIME was introduced. + +clock_nanosleep.2 +timer_create.2 +timerfd_create.2 + Michael Kerrisk + Add various missing errors + Mostly verified by testing and reading the code. + + There is unfortunately quite a bit of inconsistency across API~s: + + clock_gettime clock_settime clock_nanosleep timer_create timerfd_create + + CLOCK_BOOTTIME y n (EINVAL) y y y + CLOCK_BOOTTIME_ALARM y n (EINVAL) y [1] y [1] y [1] + CLOCK_MONOTONIC y n (EINVAL) y y y + CLOCK_MONOTONIC_COARSE y n (EINVAL) n (ENOTSUP) n (ENOTSUP) n (EINVAL) + CLOCK_MONOTONIC_RAW y n (EINVAL) n (ENOTSUP) n (ENOTSUP) n (EINVAL) + CLOCK_REALTIME y y y y y + CLOCK_REALTIME_ALARM y n (EINVAL) y [1] y [1] y [1] + CLOCK_REALTIME_COARSE y n (EINVAL) n (ENOTSUP) n (ENOTSUP) n (EINVAL) + CLOCK_TAI y n (EINVAL) y y n (EINVAL) + CLOCK_PROCESS_CPUTIME_ID y n (EINVAL) y y n (EINVAL) + CLOCK_THREAD_CPUTIME_ID y n (EINVAL) n (EINVAL [2]) y n (EINVAL) + pthread_getcpuclockid() y n (EINVAL) y y n (EINVAL) + + [1] The caller must have CAP_WAKE_ALARM, or the error EPERM results. + + [2] This error is generated in the glibc wrapper. + +connect.2 + Michael Kerrisk [Eric Dumazet] + Update the details on AF_UNSPEC + Update the details on AF_UNSPEC and circumstances in which + socket can be reconnected. + +dup.2 + Michael Kerrisk + SEE ALSO: add pidfd_getfd(2) + +epoll_ctl.2 + Michael Kerrisk + Various minor additions and clarifications + +epoll_wait.2 + Michael Kerrisk + A few minor additions and rewrites + +execve.2 + Michael Kerrisk + Add a subhead for the discussion of effect on process attributes + Michael Kerrisk + Explicitly note that argv[argc] == NULL in the new program + Michael Kerrisk + ERRORS: ENOENT does not occur for missing shared libraries + See http://sourceware.org/bugzilla/show_bug.cgi?id=12241. + +_exit.2 + Michael Kerrisk + Clarify that raw _exit() system call terminates only the calling thread + +inotify_add_watch.2 + Michael Kerrisk + EXAMPLE: add reference to example in inotify(7) + +io_submit.2 + Julia Suvorova + Add IOCB_CMD_POLL opcode + +lseek.2 + Michael Kerrisk [Matthew Wilcox] + ERRORS: ENXIO can also occur SEEK_DATA in middle of hole at end of file + +madvise.2 + Michael Kerrisk [Andrea Arcangeli] + Incorporate some (ancient) comments about MADV_HUGEPAGE + Back in 2011, a mail from Andrea Arcangeli noted some details + that I never got round to incorporating into the manual page. + +mmap.2 + Michael Kerrisk + Add a subhead for the 'flags' argument + Michael Kerrisk + Move some text hidden at the end of DESCRIPTION to NOTES + +msgctl.2 + Michael Kerrisk + Add information on permission bits (based on sysvipc(7) text) + Michael Kerrisk + Copy information on 'msqid_ds' fields from sysvipc(7) + +open.2 + Michael Kerrisk + Clarify that O_NOFOLLOW is relevant (only) for basename of 'pathname' + Aleksa Sarai + Add references to new openat2(2) page + Michael Kerrisk + Note EINVAL error for invalid character in basename of 'pathname' + +pidfd_open.2 + Michael Kerrisk + Mention pidfd_getfd(2) + +poll.2 + Michael Kerrisk + Add an example program + Michael Kerrisk + Mention epoll(7) in the introductory paragraph + Michael Kerrisk + Improve description of EFAULT error + Michael Kerrisk + Fix description of ENOMEM error + +select_tut.2 + Michael Kerrisk + Adjust header file includes in example + Employ , rather than the historical header files. + +semctl.2 + Michael Kerrisk + Copy information on 'semid_ds' fields from sysvipc(7) + Michael Kerrisk + Add a reference to the example in shmop(2) + Michael Kerrisk + Add information on permission bits (based on sysvipc(7) text) + +semget.2 + Michael Kerrisk + EXAMPLE: add an example program + +semop.2 + Michael Kerrisk + Add a reference to the semop(2) example in shmop(2) + +shmctl.2 + Michael Kerrisk + Add information on permission bits (based on sysvipc(7) text) + Michael Kerrisk + Note that execute permission is not needed for shmat() SHM_EXEC + Michael Kerrisk + Copy information on 'shmid_ds' fields from sysvipc(7) + Michael Kerrisk + Some small improvements to the description of the 'shmid_ds' structure + +shmget.2 + Michael Kerrisk + Add a reference to the example in shmop(2) + +shmop.2 + Michael Kerrisk + EXAMPLE: add a pair of example programs + Add example programs demonstrating usage of shmget(2), shmat(2), + semget(2), semctl(2), and semop(2). + +sigaction.2 +signal.7 + Zack Weinberg + Document kernel bugs in delivery of signals from CPU exceptions + +stat.2 + Michael Kerrisk + Clarify definitions of timestamp fields + In particular, make it clear that atime and mtime relate to the + file *data*. + +syscalls.2 + Michael Kerrisk + Add new Linux 5.6 system calls + Michael Kerrisk + Note that the 5.x series followed 4.20 + +timer_create.2 + Michael Kerrisk + timer_create(2) also supports CLOCK_TAI + Michael Kerrisk + Mention clock_getres(2) for further details on the various clocks + +timerfd_create.2 + Michael Kerrisk [Thomas Gleixner] + Note a case where timerfd_settime() can fail with ECANCELED + Michael Kerrisk [devi R.K, Thomas Gleixner] + Negative changes to CLOCK_REALTIME may cause read() to return 0 + Michael Kerrisk + Rework text for EINVAL for invalid clock ID + Michael Kerrisk + Refer reader to clock_getres(2) for further details on the clocks + +unshare.2 + Michael Kerrisk + Add CLONE_NEWCGROUP and CLONE_NEWTIME to example program + +exit.3 + Michael Kerrisk [Walter Harms] + Small improvement to the discussion of 'status' argument + +ftok.3 + Michael Kerrisk + EXAMPLE: add a reference to the example in semget(2) + +getifaddrs.3 + Michael Kerrisk [Michael Galassi] + EXAMPLE: remove unneeded loop variable + +nl_langinfo.3 + Eugene Syromyatnikov + Document era-related locale elements + Eugene Syromyatnikov + Add information about AM/PM time format locale elements + Eugene Syromyatnikov + Mention the respective strftime(3) conversion specifications + +sem_init.3 + Michael Kerrisk + Add references to example code in shm_open(3) and sem_wait(3) + +sem_post.3 + Michael Kerrisk + Add a reference to code example code in shm_open(3) + +shm_open.3 + Michael Kerrisk + EXAMPLE: add some example programs + +strcmp.3 + Michael Kerrisk + Add an example program + Michael Kerrisk [Andrew Micallef, Walter Harms] + Rework text describing return value to be clearer + Michael Kerrisk + Note that the comparison is done using unsigned char + Michael Kerrisk + SEE ALSO: add ascii(7) + +strftime.3 + Eugene Syromyatnikov [Michael Kerrisk] + Refer to the relevant nl_langinfo(3) items + Eugene Syromyatnikov + Expand %E and %O description + Eugene Syromyatnikov + Consistently document fall-back format string + +proc.5 + Mike Frysinger + Clarify /proc/[pid]/cmdline mutability + +cgroups.7 + Michael Kerrisk + Update list of cgroups v2 controllers + Update the list of cgroups v2 controllers (several controllers + were missing). + Michael Kerrisk + Add a subsection on cgroup v2 mount options and include 'nsdelegate' + Michael Kerrisk + Document the cgroups v2 'memory_localevents' mount option + Michael Kerrisk + SEE ALSO: add Documentation/admin-guide/cgroup-v2.rst + +namespaces.7 + Michael Kerrisk + Add time namespaces information + Michael Kerrisk + Eliminate some superfluous info from display of /proc/PID/ns links + +path_resolution.7 + Aleksa Sarai + Update to mention openat2(2) features + +socket.7 + Michael Kerrisk + Note SCM message types for SO_TIMESTAMP and SO_TIMESTAMPNS + +tcp.7 + Michael Kerrisk + SEE ALSO: mention Documentation/networking/ip-sysctl.txt + +time.7 + Michael Kerrisk + Add small subsection on clocks and time namespaces + +unix.7 + Heinrich Schuchardt + Correct example + +vsock.7 + Stefano Garzarella [Jorgen Hansen, Stefan Hajnoczi] + Add VMADDR_CID_LOCAL description