Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752263AbcLLL1g (ORCPT ); Mon, 12 Dec 2016 06:27:36 -0500 Received: from mail-wm0-f47.google.com ([74.125.82.47]:36065 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751993AbcLLL1f (ORCPT ); Mon, 12 Dec 2016 06:27:35 -0500 Cc: mtk.manpages@gmail.com To: lkml From: "Michael Kerrisk (man-pages)" Subject: man-pages-4.09 is released Message-ID: <2ace7531-bd2b-98db-49f1-d667f0dd1dc3@gmail.com> Date: Mon, 12 Dec 2016 12:27:31 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 15101 Lines: 421 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/