X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=Changes.old;h=8f58543dd9818443015a3cf98daebd07fbaac193;hb=7ced1a65298277dac9ac64fc148a2095f44dca01;hp=f7c951bf154acb03b91b452628fb9fe08734abb1;hpb=157fe4e334659967f8baaafd7f785e45449ee7e0;p=thirdparty%2Fman-pages.git diff --git a/Changes.old b/Changes.old index f7c951bf15..8f58543dd9 100644 --- a/Changes.old +++ b/Changes.old @@ -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.) @@ -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. @@ -46504,7 +46504,7 @@ smartpqi.4 veth.4 Tomáš Pospíšek, Eric Biederman, Michael Kerrisk - New page document veth virtual ethernet devices + New page documenting veth virtual ethernet devices Based on a page from Tomáš Pospíšek, with some clean-ups by mtk. @@ -46615,8 +46615,14 @@ Various pages Various pages G. Branden Robinson Replace incorrect uses of Latin abbreviation "cf.". - People seem to be using "cf." ("confere"), which means "compare", + 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 @@ -46995,7 +47001,7 @@ errno.3 the C standards) that error numbers are positive, rather than nonzero. Michael Kerrisk - Reorganize the text and and some subheadings + 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] @@ -47107,7 +47113,7 @@ core.5 Michael Kerrisk [Per Böhlin] RLIMIT_CORE is not enforced when piping core dump to a program Michael Kerrisk - SEE ALO: add systemd-coredump(8) + SEE ALSO: add systemd-coredump(8) Michael Kerrisk SEE ALSO: add coredumpctl(1) @@ -47212,3 +47218,3846 @@ ld.so.8 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