man-pages-4.09 is released

From: Michael Kerrisk (man-pages)
Date: Mon Dec 12 2016 - 06:27:38 EST


The Linux man-pages maintainer proudly announces:

man-pages-4.09 - man pages for Linux

This release resulted from patches, bug reports, reviews, and
comments from 44 contributors. This is one of the more substantial
releases in recent times, with more than 500 commits changing
around 190 pages. The changes include the addition of eight
new pages and significant enhancements or rewrites to many
existing pages.

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

A short summary of the release is blogged at:
http://linux-man-pages.blogspot.com/2016/12/man-pages-409-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 on LKML is shown below.

Cheers,

Michael

==================== Changes in man-pages-4.09 ====================


New and rewritten pages
-----------------------

pkey_alloc.2
Dave Hansen [Michael Kerrisk]
New page documenting pkey_alloc(2) and pkey_free(2)

pthread_getattr_default_np.3
Michael Kerrisk
New page documenting pthread_getattr_default_np(3) and pthread_setattr_default_np(3)

strfromd.3
Wainer dos Santos Moschetta
New page documenting strfromd(3), strfromf(3), and strfroml(3)
The ISO/IEC TS 18661-1 specifies the strfrom() class
of functions that convert a float-point value to string.

fuse.4
Keno Fischer [Michael Kerrisk]
New page describing /dev/fuse
This is my writeup of a basic description of /dev/fuse after
playing with it for a few hours today. It is of course woefully
incomplete, and since I neither have a use case nor am working
on this code, I will not be in a position to expand it in the
near future. However, I'm hoping this could still serve as a
handy reference for others looking at this interface.

tmpfs.5
Michael Kerrisk
New page documenting the tmpfs filesystem

pkeys.7
Dave Hansen [Michael Kerrisk]
New page with overview of Memory Protection Keys

random.7
Michael Kerrisk [Theodore Ts'o, Nikos Mavrogiannopoulos, Laurent Georget]
New page providing an overview of interfaces for obtaining randomness
Contains material extracted from getrandom(2) and random(4),
as well as new material.

sock_diag.7
Pavel Emelyanov, Dmitry V. Levin
New page documenting NETLINK_SOCK_DIAG interface

close.2
getpriority.2
nice.2
timer_create.2
timerfd_create.2
random.4
elf.5
proc.5
sched.7
Various authors
These pages also saw substantial updates, as described below.


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

mmap.2
Michael Kerrisk
Add (much) more detail on MAP_GROWSDOWN

mprotect.2
Dave Hansen
Document the new pkey_mprotect() system call
Eugene Syromyatnikov
Document PROT_SEM, PROT_SAO, PROT_GROWSUP, and PROT_GROWSDOWN

prctl.2
Eugene Syromyatnikov
Document PR_SET_FP_MODE and PR_GET_FP_MODE

perf_event_open.2
Vince Weaver
PERF_RECORD_SWITCH support
Linux 4.3 introduced two new record types for recording context
switches: PERF_RECORD_SWITCH and PERF_RECORD_SWITCH_CPU_WIDE.
Vince Weaver
Add PERF_SAMPLE_BRANCH_CALL branch sample type
Vince Weaver
PERF_SAMPLE_BRANCH_IND_JUMP branch_sample_type
Linux 4.2 added a new branch_sample_type: PERF_SAMPLE_BRANCH_IND_JUMP
Vince Weaver
Document PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT
Vince Weaver
Document sample_max_stack and /proc/sys/kernel/perf_event_max_stack
Linux 4.8 added a new sample_max_stack parameter, as well as
/proc/sys/kernel/perf_event_max_stack which limits it and a new
EOVERFLOW error return.
Dave Hansen
PERF_RECORD_LOST_SAMPLES record type
Linux 4.2 added a new record type: PERF_RECORD_LOST_SAMPLES
It is generated when hardware samples (currently only Intel PEBS)
are lost.

ptrace.2
Michael Kerrisk
Document PTRACE_SECCOMP_GET_FILTER
Michael Kerrisk
Document PTRACE_GET_THREAD_AREA and PTRACE_SET_THREAD_AREA

namespaces.7
Michael Kerrisk [Eric W. Biederman]
Document the NS_GET_USERNS and NS_GET_PARENT ioctl() operations

sched.7
Michael Kerrisk [Mike Galbraith]
Document the autogroup feature
Includes documenting autogroup nice value
Michael Kerrisk
Autogrouping breaks traditional semantics of nice in many cases
When autogrouping is enabled (the default in many distros)
there are many traditional use cases where the nice value
ceases to have any effect.
Michael Kerrisk
Add a subsection on nice value and group scheduling


Global changes
--------------

Various pages
Michael kerrisk
Remove ancient libc4 and libc5 details
It's nearly 20 years now since Linux libc went away.
Remove some ancient details from the pages.


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

clone.2
Michael Kerrisk
The CLONE_*_SETTID operations store TID before return to user space
CLONE_PARENT_SETTID and CLONE_CHILD_SETTID store the new
TID before clone() returns to user space

close.2
Michael Kerrisk [Daniel Wagner]
Rework and greatly extend discussion of error handling
Further clarify that an error return should be used only
for diagnostic or remedial purposes.
Michael Kerrisk
Other UNIX implementations also close the FD, even if reporting an error
Looking at some historical source code suggests
that the "close() always closes regardless of error return"
behavior has a long history, predating even POSIX.1-1990.
Michael Kerrisk
Note that future POSIX plans to require that the FD is closed on error
See http://austingroupbugs.net/view.php?id=529#c1200.
Michael Kerrisk
Clarify the variation in EINTR behavior per POSIX and other systems

fallocate.2
Darrick J. Wong
Document behavior with shared blocks
Note that FALLOC_FL_UNSHARE may use CoW to unshare blocks to
guarantee that a disk write won't fail with ENOSPC.

fanotify_mark.2
Heinrich Schuchardt
Mention FAN_Q_OVERFLOW
To receive overflow events it is necessary to set this bit
in fanotify_mark().

fcntl.2
Michael Kerrisk
F_GETPIPE_SZ allocates next power-of-2 multiple of requested size
Add some detail about current implementation, since this helps
the user understand the effect of the user pipe limits added in
Linux 4.5 (described in pipe(7)).

getpriority.2
Michael Kerrisk
Warn that autogrouping voids the effect of 'nice' in many cases

getpriority.2
sched.7
Michael Kerrisk
Move nice value details from getpriority(2) to sched(7)
Centralizing these details in sched(7) is more logical.

getrandom.2
random.4
Michael Kerrisk
Consolidate and improve discussion on usage of randomness
Currently, recommendations on how to consume randomness are
spread across both getrandom(2) and random(4) and the general
opinion seems to be that the text in getrandom(2) does a
somewhat better job. Consolidate the discussion to a single
page (getrandom(2)) and address some of the concerns
expressed about the existing text in random(4).
[Some of this text ultimately made its way into the new
random(7) page.]

getrandom.2
Michael Kerrisk
Remove material incorporated into random(7)
Michael Kerrisk
Note advantages of fact that getrandom() doesn't use file descriptors

mbind.2
set_mempolicy.2
Piotr Kwapulinski [Christoph Lameter, Michael Kerrisk]
Add MPOL_LOCAL NUMA memory policy documentation

nice.2
Michael Kerrisk
Warn that autogrouping voids the effect of 'nice' in many cases
Michael Kerrisk
Rework discussion of nice() return value and standards conformance
Make the text a little clearer. In particular, clarify that the
raw system call (still) returns 0 on success.

open.2
Michael Kerrisk
ubifs supports O_TMPFILE starting with Linux 4.9
Michael Kerrisk
Document ENOMEM that occurs when opening FIFO because of pipe hard limit

perf_event_open.2
Vince Weaver
Add cycles field in LBR records
Linux 4.3 added a cycles field to the PERF_SAMPLE_BRANCH_STACK
last branch records.
Vince Weaver
Update time_shift sample code
Linux 4.3 improved the accuracy of the clock/ns conversion routines.
Michael Kerrisk
Clarify the use of signals for capturing overflow events

prctl.2
Eugene Syromyatnikov
Some additional details regarding the PR_GET_UNALIGNED operation
Eugene Syromyatnikov
Note the output buffer size for PR_GET_TID_ADDRESS operation on x32/n32

ptrace.2
Keno Fischer
Document the behavior of PTRACE_SYSEMU stops
Keno Fischer
Expand documentation PTRACE_EVENT_SECCOMP traps
In Linux 4.8, the order of PTRACE_EVENT_SECCOMP and
syscall-entry-stops was reversed. Document both behaviors and
their interaction with the various forms of restart.

reboot.2
Wang Long
Note errors for invalid commands inside a PID namespace

sched_setattr.2
Michael Kerrisk
Fix cross reference for further info on the nice value
The information moved from getpriority(2) to sched(7).

seccomp.2
Jann Horn
Document changed interaction with ptrace
Before kernel 4.8, the seccomp check will not be run again
after the tracer is notified. Fixed in kernel 4.9.

setsid.2
Michael Kerrisk
Improve wording of text on calling setsid() after fork()+_exit()
Michael Kerrisk
SEE ALSO: add sched(7)
List sched(7), because setsid(2) is part of the machinery
of autogrouping.

sigaction.2
Dave Hansen
Further documentation of SEGV_PKUERR

signalfd.2
Michael Kerrisk
Document ssi_addr_lsb field of signalfd_siginfo

timer_create.2
Michael Kerrisk
Document CLOCK_BOOTTIME
Michael Kerrisk
Document CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM

timerfd_create.2
Michael Kerrisk
Document CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM, and CLOCK_BOOTTIME_ALARM
Michael Kerrisk
Document TFD_TIMER_CANCEL_ON_SET
Michael Kerrisk
Rework discussion on relative and absolute timers

random.4
Nikos Mavrogiannopoulos [Laurent Georget]
Provide a more accurate description of /dev/urandom
This documents the "property" of /dev/urandom of being able to
serve numbers prior to pool being initialized, and removes any
suggested usages of /dev/random which are disputable
(i.e., one-time pad). Document the fact /dev/random is only
suitable for applications which can afford indeterminate delays
since very few applications can do so. Smooth the alarming
language about a theoretical attack, and mention that its
security depends on the cryptographic primitives used by the
kernel, as well as the total entropy gathered.
Michael Kerrisk [Laurent Georget, Theodore Ts'o]
Improve discussion of /dev/urandom, blocking reads, and signals
The text currently states that O_NONBLOCK has no effect for
/dev/urandom, which is true. It also says that reads from
/dev/urandom are nonblocking. This is at the least confusing.
If one attempts large reads (say 10MB) from /dev/urandom
there is an appreciable delay, and interruption by a signal
handler will result in a short read. Amend the text to
reflect this.

elf.5
Mike Frysinger
Add subsection headers at major points
The current pages dumps all the content into one big DESCRIPTION
with no real visual break up between logically independent
sections. Add some subsection headers to make it easier to
read and scan.
Mike Frysinger
Document notes
Document the Elf{32,64}_Nhdr structure, the sections/segments that
contain notes, and how to interpret them. I've been lazy and only
included the GNU extensions here, especially as others are not
defined in the elf.h header file as shipped by glibc.

proc.5
Dave Hansen
Describe new ProtectionKey 'smaps' field
Michael Kerrisk
Add example ProtectionKey output for 'smaps' file
Michael Kerrisk
Add pointers to sched(7) for autogroup files
sched(7) describes /proc/sys/kernel/sched_autogroup_enabled
and /proc/PID/autogroup.
Michael Kerrisk
Add /proc/sys/fs/pipe-user-pages-{hard,soft} entries
Michael Kerrisk
Improve description of the KernelPageSize and MMUPageSize 'smaps' fields
Michael Kerrisk
Describe Shmem field of /proc/meminfo
Michael Kerrisk
Rework 'smaps' VmFlags text, and add kernel version and example output

proc.5
pipe.7
Michael Kerrisk
Move /proc/sys/fs/pipe-max-size content from proc(5) to pipe(7)

capabilities.7
Michael Kerrisk
CAP_SYS_ADMIN governs ptrace(2) PTRACE_SECCOMP_GET_FILTER
Michael Kerrisk
CAP_SYS_ADMIN allows privileged ioctl() operations on /dev/random

cgroups.7
Michael Kerrisk
Add details on 'cpu' CFS bandwidth control

feature_test_macros.7
Michael Kerrisk [Zack Weinberg]
Note that _REENTRANT and _THREAD_SAFE are now deprecated

mount_namespaces.7
user_namespaces.7
Michael Kerrisk
Migrate subsection on mount restrictions to mount_namespaces(7)
This section material in the user_namespaces(7) page was written
before the creation of the mount_namespaces(7) manual page.
Nowadays, this material properly belongs in the newer page.

pipe.7
Michael Kerrisk, Vegard Nossum [Vegard Nossum]
Document /proc files controlling memory usage by pipes
Document /proc/sys/fs/pipe-max-size and
/proc/sys/fs/pipe-user-pages-{soft,hard}.
Michael Kerrisk
Document pre-Linux 4.9 bugs in pipe limit checking

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