blob: 11feecf741ec8f570b588cb177aecc0b99b841ed [file] [log] [blame]
==================== Changes in man-pages-4.16 ====================
Released: ????-??-??, Munich
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
Mathieu Desnoyers [Michael Kerrisk]
Document new membarrier commands introduced in Linux 4.16
Document the following membarrier commands introduced in
Linux 4.16:
(the old enum label MEMBARRIER_CMD_SHARED is now an
alias to preserve header backward compatibility)
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.
Jürg Billeter
Document RWF_APPEND added in Linux 4.16
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
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.
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
Michael Kerrisk
More explicitly describe effect of execve() in the opening paragraph
Michael Kerrisk
Since Linux 4.16, Btrfs supports FALLOC_FL_ZERO_RANGE
Michael Kerrisk
CAP_SYS_RESOURCE capability is required in *initial user namespace*
Michael Kerrisk
Add kernel version numbers for various 'aio_rw_flags' flags
Michael Kerrisk
Place 'aio_rw_flags' in alphabetical order
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 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
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.
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
Jann Horn
Document more -ETXTBSY conditions
Jakub Wilk
Add missing argument for snprintf() in example code
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.
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
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.
Michael Kerrisk
Remove redundant sentence
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
Carsten Grohmann
SEE ALSO: add close(2)
Adam Borowski
Add riscv
Michael Kerrisk [Robin Kuzmin]
wait() and waitpid() block the calling thread (not process)
Michael Kerrisk [Martin Mares]
Soften the warning against the use of wait3()/wait4()
These functions are nonstandard, but there is no replacement.
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
Michael Kerrisk [Andy Owen]
Michael Kerrisk
Improve EPIPE error text
Carlos O'Donell
Mention that "(unreachable)" is no longer returned for glibc >= 2.27.
Michael Kerrisk
Since glibc 2.28, <sys/types.h> no longer defines these macros
Frederic Brault
Note default thread stack size for several architectures
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
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.
Michael Kerrisk
SEE ALSO: add patchelf(1)
Michael Kerrisk
Add an entry for tmpfs(5)
Michael Kerrisk
SEE ALSO: add vigr(8)
Michael Kerrisk
SEE ALSO: add vipw(8)
Michael Kerrisk
Add brief note on /sys/fs/smackfs
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
Michael Kerrisk
Remove redundant mention of PTRACE_SECCOMP_GET_FILTER
Michael Kerrisk transitions generate POLLERR as well as POLLPRI
Michael Kerrisk
Note another case where shared "peer groups" are formed
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.
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.
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.
Michael Kerrisk [Tomi Salminen]
Fix error in SO_INCOMING_CPU code snippet
The last argument is passed by value, not reference.
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.
Michael Kerrisk [Rusty Russell]
ERRORS: add EBADF for sending closed file descriptor with SCM_RIGHTS
Michael Kerrisk
VDSO symbols (system calls) are not visible to seccomp(2) filters
Michael Kerrisk
SEE ALSO: add selinux(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.