1 ==================== Changes in man-pages-4.08 ====================
3 Released: ????-??-??, Munich
9 The following people contributed patches/fixes or (noted in brackets
10 in the changelog below) reports, notes, and ideas that have been
11 incorporated in changes in this release:
13 Arnaud Gaillard <arnaud.mgaillard@gmail.com>
14 Bill Pemberton <wfp5p@worldbroken.com>
15 Carlos O'Donell <carlos@redhat.com>
16 Christoph Hellwig <hch@lst.de>
17 David Turner <novalis@novalis.org>
18 Dr. Tobias Quathamer <toddy@debian.org>
19 Elliott Hughes <enh@google.com>
20 Eugene Syromyatnikov <evgsyr@gmail.com>
21 Heinrich Schuchardt <xypron.glpk@gmx.de>
22 Hu Keping <hukeping@huawei.com>
23 Igor Liferenko <igor.liferenko@gmail.com>
24 Ivan Kharpalev <ivan.kharpalev@gmail.com>
25 Jakub Wilk <jwilk@jwilk.net>
26 Jann Horn <jann@thejh.net>
27 Josh Triplett <josh@joshtriplett.org>
28 Keno Fischer <keno@juliacomputing.com>
29 Laurent Georget <laurent.georget@supelec.fr>
30 Local Lembke <logan@blackhillsinfosec.com>
31 Mats Wichmann <mats@wichmann.us>
32 Michael Kerrisk <mtk.manpages@gmail.com>
33 Mike Crowe <mac@mcrowe.com>
34 Mike Frysinger <vapier@gentoo.org>
35 Namhyung Kim <namhyung@gmail.com>
36 Nikola Forró <nforro@redhat.com>
37 Patrick McLean <patrickm@gaikai.com>
38 Peter Wu <peter@lekensteyn.nl>
39 Petr Cermak <petrcermak@chromium.org>
40 Quentin Rameau <quinq@fifth.space>
41 Ray Bellis <ray@isc.org>
42 Rich Felker <dalias@libc.org>
43 Ruben Kerkhof <ruben@rubenkerkhof.com>
44 Sam Varshavchik <mrsam@courier-mta.com>
45 Sebastian Andrzej Siewior <bigeasy@linutronix.de>
46 Siward de Groot <siward@wanadoo.nl>
47 Sloane Bernstein <sloane@cpanel.net>
48 Stefan Tauner <tauner@technikum-wien.at>
49 Tim Savannah <kata198@gmail.com>
50 Ursache Vladimir <f35f22fan@gmail.com>
51 Zefram <zefram@fysh.org>
52 王守堰 <wangshouyan@gmail.com>
54 Apologies if I missed anyone!
57 New and rewritten pages
58 -----------------------
61 Eugene Syromyatnikov [Michael Kerrisk]
62 Updated information regarding disk quota flags
63 Added information regarding DQF_SYS_FILE flag; updated definition
64 of V1_DQF_RSQUASH, which has been defined privately and defined
65 publicly as DQF_ROOT_SQUASH.
67 Updated information regarding XFS-specific quotactl subcommands
68 Added information regarding structure definitions used for
69 XFS-specific subcommands, updated flag constants, added
70 information regarding ignored syscall arguments, added notes on
71 usage of kernel UAPI header.
73 Additions regarding project quotas
74 Added information regarding presence of project quotas.
78 New page documenting bswap_16(), bswap_32(), and bswap_64()
82 Substantial rewrites, additions, and corrections.
85 Newly documented interfaces in existing pages
86 ---------------------------------------------
90 Document the pwritev2() RWF_SYNC and RWF_DSYNC flags
94 Document /proc/PID/seccomp
96 Document /proc/[pid]/task/[tid]/children
97 Document the /proc/[pid]/task/[tid]/children interface from
98 CRIU, and more importantly, document why it's usually not
102 New and changed links
103 ---------------------
108 New link to new bswap.3
117 Various pages had sections in an order different from
118 that prescribed in man-pages(7).
121 Michael Kerrisk [Mike Frysinger]
122 Consistently use /proc/[pid] (not /proc/PID)
126 Fix order of SEE ALSO entries
127 Entries should be ordered first by section, and then alphabetically
132 Order ERRORS alphabetically
136 Remove section number from page self reference
137 Fix places where pages refer to the function that they describe
138 and include a section number in that reference. Such references
139 cause some HTML-rendering tools to create self-references in the
144 Eliminate groff "cannot adjust line" warnings
147 Changes to individual pages
148 ---------------------------
151 Michael Kerrisk [Carlos O'Donell]
152 Note gdb(1) command that can be used as a replacement for pldd
153 Taken from Carlos O'Donnell's suggestion in
154 https://sourceware.org/bugzilla/show_bug.cgi?id=18035#c2
156 BUGS: pldd has not worked since glibc 2.19
160 Mention epoll(7) alongside poll()/select()
162 Demote discussion of DECNet to NOTES
163 DECNet ceased to be important long ago...
167 Fix kernel version references
171 Note user namespace requirements for CAP_SYS_CHROOT
174 Keno Fischer [Josh Triplett]
175 Adjust syscall prototype and expand CLONE_SETTLS description
176 Michael Kerrisk [Josh Triplett, Josh Triplett]
177 Document raw syscall interfaces on various other architectures
179 Change types for 'ptid' and 'ctid' in syscall prototypes
180 These types changed from 'void *' to 'int *' back in Linux 3.8.
182 EINVAL is generated by glibc wrapper for NULL 'fn' or 'child_stack'
183 Clarify that this error is produced by the wrapper function, not
184 the underlying system call. In particular, the point is that the
185 raw system call can accommodate a NULL pointer for 'child_stack'.
186 Michael Kerrisk [Elliott Hughes]
187 Make the implications of CLONE_FILES more explicit
188 If CLONE_FILES is not set, the duplicated FDs nevertheless share
189 file offset and status flags via the open file description.
191 Mention kcmp() under notes
195 Add mention of the close-on-exec flag
197 Clarify discussion noting that close() does not flush buffer cache
201 Clarify that the timeout is measured against CLOCK_MONOTONIC
205 Mention use of 'environ' to access environment list
207 Note that real UID, real GID, and supplementary GIDs are unchanged
211 Update BUGS information
215 Note an important detail of F_SETOWN permission rules for signals
216 F_SETOWN records the caller's credentials at the time of
217 the fcntl() call, and it is these saved credentials that
218 are used for subsequent permission checks.
220 Make the description of the effect of close-on-exec a little clearer
222 Clarify that F_GETFD and F_GETFL return flags via the function result
226 PID of new process also does not match any existing session ID
230 SEE ALSO: add pwritev(2)
231 Since Linux 4.7, pwritev() has flags related to I/O
232 integrity completion.
236 Note user namespace requirements for CAP_SYS_ADMIN
240 Note user namespace requirements for CAP_SETGID
244 Note user namespace requirements for CAP_SYS_ADMIN
248 Note user namespace semantics for CAP_SYS_RESOURCE
252 Rework description to be somewhat clearer
254 Correct the definition of "session ID"
258 Simplify text referring to vdso(7)
259 The detail given here is redundant, since this info is also
264 Add an example program
268 Note the user namespace requirement for CAP_KILL
272 Refer reader to kill(2) for signal permission rules
275 Sebastian Andrzej Siewior
276 Document that fork() after mlock() may be a bad idea in a RT process
280 Describe treatment of 'offset' for MAP_ANONYMOUS
281 Michael Kerrisk [Siward de Groot]
282 Small improvement to description of MAP_SHARED
283 See https://sourceware.org/bugzilla/show_bug.cgi?id=6887
295 Note the user namespace requirements for CAP_IPC_OWNER
299 Clarify user namespace capability requirements for O_NOATIME
301 NOTES: kcmp() can be used to test if two FDs refer to the same OFD
303 F2FS support for O_TMPFILE was added in Linux 3.16
305 Clarify the rules about how the group ID of a new file is determined
309 Refer to proc(5) for effects of dumpability on ownership of /proc/PID/*
311 ERRORS: Add EACCES error for PR_SET_SECCOMP-SECCOMP_MODE_FILTER
313 Simplify list of cases where "dumpable" attribute is reset
315 Note user namespace requirements for PR_CAPBSET_DROP CAP_SETPCAP
318 Michael Kerrisk [Ursache Vladimir]
319 Make example program handle links that report a size of zero
320 Some "magic" symlinks created by the kernel (e.g., those under
321 /proc and /sys) report 'st_size' as zero. Modify the example
322 program to handle that possibility.
324 Emphasize that truncation of returned buffer generates no error
327 Michael Kerrisk [Christoph Hellwig]
328 Clarify that RWF_DSYNC and RWF_SYNC apply only to data being written
330 Add preadv2() and pwritev2() to NAME line
334 Note user namespace requirements around CAP_SYS_BOOT
337 Michael Kerrisk [Tim Savannah]
338 Clarify that ERRORS may cause rename to fail (not to be nonatomic)
342 Note user namespace requirements for CAP_SYS_NICE
346 CAP_SYS_ADMIN is required only in caller's user namespace
350 Fix various issues in example program
354 Note user namespace requirements for CAP_SETUID and CAP_SETGID
358 Note user namespace requirements for CAP_SETGID
362 Add a reference to credentials(7)
367 Relocate some text on sessions and sessions leaders
368 Some text that was in setpgid(2) is better placed in setsid(2).
372 Note user namespace requirements for CAP_SETUID
376 Note user namespace requirements for CAP_SETUID and CAP_SETGID
380 Refer to credentials(7) for details for details on controlling terminal
381 Refer to credentials(7) for details of how a session obtains
382 a controlling terminal.
386 Add get_thread_area() to NAME
390 Note user namespace requirements for CAP_SETUID
394 Expand/clarify libc/kernel sigset_t difference
397 Michael Kerrisk [Ursache Vladimir, Mats Wichmann]
398 Improve discussion of 'st_size' for /proc and /sys files
400 _BSD_SOURCE and _SVID_SOURCE no longer expose nanosecond timestamps
404 Provide a rationale for the existence of /proc/PID/status 'Umask' field
408 Remove erroneous statement that waitpid() is implemented via wait4()
409 There is a fallback to wait4(), but only if the kernel does
410 not provide a waitpid() system call.
416 Note user namespace requirements for CAP_NET_BIND_SERVICE
420 SEE ALSO: add bswap(3)
424 dlmopen() is still broken in glibc 2.24
428 SEE ALSO: add bswap(3)
431 Michael Kerrisk [Stefan Tauner]
432 Correct feature test macro requirements
435 Michael Kerrisk [Rich Felker]
436 Remove bogus suggestion to use setbuffer()
440 Update feature test macro requirements for cuserid()
444 Note that getumask() is still unavailable in glibc 2.24
446 Point to umask(2) for a thread-safe way to discover process's umask
450 Fix _POSIX_C_SOURCE value for mkstemp()
451 The correct _POSIX_C_SOURCE value has always been 200809L,
455 Michael Kerrisk [Mats Wichmann]
456 Note that the caller might do clean up after joining with a thread
457 Michael Kerrisk [王守堰]
458 Clarify use of 'retval' pointer
462 Correct arguments to res_ninit(res_state statep)
466 Add an example program
469 Michael Kerrisk [Igor Liferenko]
470 wcsrtombs() does not provide thread-safe interface to same functionality
471 See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741360
474 Mike Frysinger [Michael Kerrisk]
475 Add more details for output paths and the crash handler
476 People sometimes assume that the crash handler runs in the same
477 context as the crashing process. They would be incorrect :).
481 Clarify the root symlink and mount namespaces
482 If the target process is in a different mount namespace, the root
483 symlink actually shows that view of the filesystem.
484 Michael Kerrisk [Mike Frysinger]
485 Expand discussion of /proc/[pid]/root
486 Add a shell example showing that /proc/[pid]/root is more
487 than a symlink. Based on an example provided by Mike Frysinger
488 in an earlier commit message.
490 Explain rules determining ownership of /proc/PID/* files
491 Describe the effect of the "dumpable" attribute on ownership
494 Note effect of 'suid_dumpable' on ownership of /proc/PID files
496 Refer to ptrace(2) for info on effect of suid_dumpable on ptraceability
498 Add reference to core(5) in discussion of 'suid_dumpable'
500 Note that 'suid_dumpable' mode 1 is insecure
502 Document /proc/meminfo '+ShmemHugePages' and 'ShmemPmdMapped' fields
504 Document /proc/PID/status 'RssAnon', 'RssFile', and 'RssShmem' fields
506 Document /proc/PID/status 'HugetlbPages' field
507 Michael Kerrisk [Zefram]
508 Clarify that /proc/PID/statm 'shared' field counts *resident* pages
509 See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741360
511 Add reference to umask(2) in discussion of /proc/PID/status 'Umask'
513 Clarify user namespace requirements for /proc/sys/fs/protected_hardlinks
515 Note changes to config option governing /proc/[pid]/task/[tid]/children
517 Clarify description of /proc/PID/statm 'lib' and 'dt' fields
518 These fields are always zero since Linux 2.6.
519 Namhyung Kim [Petr Cermak]
520 Add description of CLEAR_REFS_MM_HIWATER_RSS
522 Update example VM values in /proc/PID/status
526 Add note about nosuid to file capabilities section
528 SEE ALSO: add proc(5)
530 SEE ALSO: add setsid(2) and setpgid(2)
533 Michael Kerrisk [Arnaud Gaillard]
534 Clarify that syntactically incorrect patterns are left unchanged
538 Clarify user namespace requirements for CAP_NET_RAW
541 Michael Kerrisk [Patrick McLean]
546 Clarify user namespace requirements for CAP_NET_RAW
547 Also remove mention of UID 0 as a method or creating
548 a raw socket. As far as I can tell from reading the
549 kernel source (net/ipv4/af_inet.c), this is not true.
553 SIOCSPGRP: refer to fcntl(2) F_SETOWN for correct permission rules
554 The permission rules described for SIOCCPGRP are wrong. Rather
555 than repeat the rules here, just refer the reader to fcntl(2),
556 where the rules are described for F_SETOWN.
559 Michael Kerrisk [Laurent Georget, Ivan Kharpalev]
560 Remove mention of recvmsg() from discussion of EPIPE error
561 See https://bugzilla.kernel.org/show_bug.cgi?id=137351
565 Expand description of LD_DEBUG
566 Provide a list of the categories, and note that multiple
567 categories can be specified.
569 Add glibc version for LD_USE_LOAD_BIAS
571 Clarify text describing whether secure-mode programs preload libraries
573 Remove discussion of environment variables understood by libc5
574 libc5 disappeared long ago, so cease cluttering up this page
575 with those ancient details. Thus, remove discussion of the
576 following environment variables: LD_AOUT_LIBRARY_PATH,
577 LD_AOUT_PRELOAD, LD_KEEPDIR, LD_NOWARN, and LDD_ARGV0.
579 Remove text with ancient libc4 and Linux libc details
581 Remove mention of "ELF only"
582 Drawing a distinction between ELF-only features versus a,out
583 ceased to be relevant long ago, so cluttering the page
584 with "ELF-only" serves no purpose.