man-pages-5.06 is released
From: Michael Kerrisk (man-pages)
Date: Sun Apr 12 2020 - 06:07:58 EST
Gidday,
The Linux man-pages maintainer proudly announces:
man-pages-5.06 - man pages for Linux
This release resulted from patches, bug reports, reviews, and
comments from 39 people, with over 250 commits making changes
to more than 120 pages. Three new pages were added in this
release.
Tarball download:
http://www.kernel.org/doc/man-pages/download.html
Git repository:
https://git.kernel.org/cgit/docs/man-pages/man-pages.git/
Online changelog:
http://man7.org/linux/man-pages/changelog.html#release_5.06
A short summary of the release is blogged at:
https://linux-man-pages.blogspot.com/2020/04/man-pages-506-is-released.html
The current version of the pages is browsable at:
http://man7.org/linux/man-pages/
A selection of changes in this release that may be of interest
to readers of LKML is shown below.
Cheers,
Michael
==================== Changes in man-pages-5.06 ====================
Released: 2020-04-11, Munich
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.
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"
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
clock_nanosleep.2
Michael Kerrisk
clock_nanosleep() can also sleep against CLOCK_TAI
Michael Kerrisk
clock_nanosleep() also supports CLOCK_BOOTTIME
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.
execve.2
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
io_submit.2
Julia Suvorova
Add IOCB_CMD_POLL opcode
lseek.2
Michael Kerrisk [Matthew Wilcox]
ERRORS: ENXIO can also occur for 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.
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'
poll.2
Michael Kerrisk
Add an example program
semctl.2
Michael Kerrisk
Copy information on 'semid_ds' fields from sysvipc(7)
Michael Kerrisk
Add information on permission bits (based on sysvipc(7) text)
semget.2
Michael Kerrisk
EXAMPLE: add an example program
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)
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
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
shm_open.3
Michael Kerrisk
EXAMPLE: add some example programs
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
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
vsock.7
Stefano Garzarella [Jorgen Hansen, Stefan Hajnoczi]
Add VMADDR_CID_LOCAL description
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/