aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-09-11futex.2: tfixJakub Wilk1-1/+1
Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-11termios.3: srcfixAlejandro Colomar1-50/+76
Replace a list with .nf,.ft,.fi requests and hardcoded tabs, by commonly used (some not so common, such as TQ, but simple) macros: .RS,.RE,.TP,.TQ,.B Reported-by: G. Branden Robinson <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-11nscd.conf.5: describe reloading, clarificationsGreg Banks1-3/+112
- Added a subsection of NOTES describing nscd's reloading behavior and providing advice on how to configure it. - Clarifications for the threads, reload-count, positive-time-to-live, check-files, and shared attributes. Derived by reading the nscd, libresolv and glibc source and some painful experience. Signed-off-by: Greg Banks <gbanks@linkedin.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10veth.4: tfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10veth.4: tfixŠtěpán Němec1-1/+1
Signed-off-by: Štěpán Němec <stepnem@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10ioctl_tty.2: Fix information about header include filePali Rohár1-2/+17
Header file termios.h contains incompatible definitions for linux ioctl calls. Correct definitions are exported by header file linux/termios.h but this file conflicts with sys/ioctl.h header file (required for ioctl() call). Therefore include direct asm header file asm/termbits.h which contains compatible definitions and structures for ioctl calls. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10clone.2: ERRORS: Add EACCESS with CLONE_INTO_CGROUP + clone3Alejandro Colomar1-0/+10
[Andrew]: I noticed that clone3 can send the EACCES errno after I wrote a program that used clone3 with the CLONE_INTO_CGROUP flag. To me, it's important to know what kind of failure occurred if the clone3() fails, so I was glad that a unique errno is set for this case, but it wasn't documented on the clone man page. [Christian]: In essence, any error that could occur during regular fs-based migration at write-time can also occur during CLONE_INTO_CGROUP. The clone3() manpage just has the inverse of that above statement: "Note that all of the usual restrictions (described in cgroups(7)) on placing a process into a version 2 cgroup apply." Reported-by: Andrew Wock <ajwock@gmail.com> Acked-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10process_madvise.2: ffixAlejandro Colomar1-2/+2
And srcfix too Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10process_madvise.2: Minor tweaks to Zhangkui's patchAlejandro Colomar1-3/+3
I also fixed surrounding cases to avoid confusion. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10process_madvise.2: Add MADV_WILLNEED to process_madvise()zhangkui1-0/+4
Add MADV_WILLNEED to process_madvise() for read-ahead swapped out memory immediately when the app switches to forground. https://lore.kernel.org/patchwork/patch/1472006/ Signed-off-by: zhangkui <zhangkui@oppo.com> Reviewed-by: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10ioctl_tty.2: Minor tweaks to Pali's patchAlejandro Colomar1-13/+13
Cc: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10ioctl_tty.2: Add example how to get or set baudrate on the serial portPali Rohár1-0/+100
Setting custom baudrate for which is not defined Bnnn constant is possible via BOTHER flag and then filling speed in c_ospeed and c_ispeed fields. These two fields are either in struct termios or struct termios2. Former belongs to TCGETS/TCSETS ioctls, latter to TCGETS2/TCSETS2 ioctls. BOTHER flag with these two fields and new struct termios2 is not supported by older versions of include header files. Some architectures (e.g. amd64) provide both struct termios and struct termios2, but c_ospeed and c_ispeed are only in struct termios2. Some other architectures (e.g. alpha) provide both struct termios and struct termios2 and both have c_ospeed and c_ispeed fields. And some other architectures (e.g. powerpc) provide only struct termios (no struct termios2) and it has c_ospeed and c_ispeed fields. So basically to support all architectures it is needed to use struct termios2 when TCGETS2/TCSETS2 is supported. Otherwise it is needed to use struct termios with TCGETS/TCSETS (case for e.g. powerpc). Setting input baudrate is done via IBSHIFT macro. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10memfd_secret.2: Minor tweaks to Mike's patchAlejandro Colomar1-4/+2
Cc: Mike Rapoport <rppt@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10memfd_secret.2: add NOTES section ...Mike Rapoport1-0/+61
... that explains the rationale for the system call Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-10termios.3: CIBAUD and IBSHIFT are implemented on Linux, just unsupported by ↵Pali Rohár1-1/+6
glibc Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-09-02prctl.2: Rewrite the description of PR_SET_SECCOMP to defer to seccomp(2)Michael Kerrisk1-46/+22
There is a lot of unnecessary duplication of content of the seccomp material in prctl(2) and seccomp(2). Trevor Woerner also noted that there is an error in prctl(2), where it says that the filters "are run in order until the first non-allow result is seen", which contradicts the correct statement in seccomp(2) that *all* filters are executed. So, rewrite the seccomp material in prctl(2) to strip out most of the content duplicated in seccomp(2), and replace the removed text with statements deferring to to seccomp(2). Reported-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-09-01prctl.2: Note that seccomp(2) is preferred over prctl(2) for setting seccomp ↵Michael Kerrisk1-1/+2
mode Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31malloc.3: Clarify that realloc() may move the memory blockMichael Kerrisk1-1/+2
Make it clearer, early in the discussion, that realloc() may move the block. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31malloc.3: wfixMichael Kerrisk1-1/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31malloc.3: ffixMichael Kerrisk1-1/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31malloc.3: Add some structuring to improve readabilityMichael Kerrisk1-6/+11
Add some subsection (.SS) headings and paragraph breaks in DESCRIPTION, to make the page more easily readable. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31malloc_hook.3: Modernize for glibc 2.34Paul Eggert1-3/+10
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31malloc.3: Modernize for glibc 2.34Paul Eggert1-84/+79
glibc has tightened up its rules for replacing the memory allocator. I went through the malloc man page and looked for how it documented malloc() and related functions, and fixed discrepancies with glibc malloc() documentation and/or implementation. I also reorganized the portability discussion so that portability issues can be seen more clearly. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31mount_namespaces.7: Update references to ↵Michael Kerrisk1-4/+4
Documentation/filesystems/sharedsubtree.rst Documentation/filesystems/sharedsubtree.txt has changed to Documentation/filesystems/sharedsubtree.rst. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31proc.5: Fixes various references to kernel docs in Documentation/Michael Kerrisk1-7/+18
Especially the change to .rst format in the kernel Documentation/ tree has rendered many of the references in this manual page obsolete. Fix them. Reported-by: Vito Caputo <vcaputo@pengaru.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31operator.7: Reorder symbols as in the standard (C11)Alejandro Colomar1-4/+4
This makes it easier to compare this page to the standard, to get more details about the rules between operators. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31operator.7: Fix precedence of the 'cast operator'Alejandro Colomar1-1/+2
Unary operators are mentioned in C11::6.5.3, and casts are in C11::6.5.4 (they are mentioned in order of precedence). And from note 85 (in section 6.5) in that same C11 standard, major subsections 6.5.X are sorted by precedence. As an example (from Jakub), `sizeof(int)+1` is interpreted as `(sizeof(int))+1`, and not `sizeof((int)+1)`. I used C11 and not C18 (the latest) because at least in the draft copy of C18 that I have, there are a few important typos in that section, while the draft copy of C11 that I have is free of those typos. And C11 and C18 are almost identical, with no major changes to the language. Reported-by: David Sletten <david.paul.sletten@gmail.com> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31termios.3: Use bold style for B0Pali Rohár1-1/+3
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31termios.3: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31termios.3: Clarify zero argument for cfsetispeed()Pali Rohár1-1/+5
Zero in this case refers to literal constant 0 and not symbolic constant B0. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31Changes.old: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31exit_group.2: Remove a confusing reference to _exit(2) in DESCRIPTIONMichael Kerrisk1-3/+1
As noted by Jakub: BTW, the exit_group.2 man page could use an update (possibly by merging it into exit.2): it says that the "system call is is equivalent to _exit(2) except that it terminates not only the calling thread, but all threads in the calling process's thread group", which isn't helpful these days. Reported-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31exit_group.2: SEE ALSO: s/exit(2)/_exit(2)/Michael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-31_exit.2: Clarify the distinction between the raw syscall and the wrapper ↵Michael Kerrisk1-7/+14
function Further clarify the difference between the raw _exit() system call and the C library wrapper. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-30ioctl_tty.2: TIOCGSID is equivalent to tcgetsid()Pali Rohár1-0/+3
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27Changes.old: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27syscalls.2: Add Linux 5.14 system callsMichael Kerrisk1-1/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27memfd_secret.2: SEE ALSO: add memfd_create(2)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27memfd_create.2: SEE ALSO: add memfd_secret(2)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27memfd_secret.2: Minor edits to Mike Rapoport's patchMichael Kerrisk1-6/+6
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27memfd_secret.2: wfixMichael Kerrisk1-1/+2
Added "RAM-based" after consultation with Mike Rapoport Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27memfd_secret.2: New page describing memfd_secret() system callMike Rapoport1-0/+154
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27Changes.old: tfix in 5.13 changelogMichael Kerrisk1-8/+8
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27Changes.old: tfixMichael Kerrisk1-0/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27Changes.old: Add missing entry in 5.13 changelogMichael Kerrisk1-0/+9
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27Start of man-pages-5.14: updating Changes and Changes.oldMichael Kerrisk2-326/+363
2021-08-27Start of man-pages-5.14: updating .Announce and .lsm filesMichael Kerrisk2-4/+4
2021-08-27Start of man-pages-5.14: renaming .Announce and .lsm filesMichael Kerrisk2-0/+0
2021-08-27Ready for 5.13man-pages-5.13Michael Kerrisk2-3/+3
2021-08-27iconv.1, ldd.1, accept.2, access.2, add_key.2, arch_prctl.2, bpf.2, chmod.2, ↵Michael Kerrisk78-78/+78
chown.2, close_range.2, copy_file_range.2, execve.2, execveat.2, fanotify_mark.2, futex.2, futimesat.2, getpriority.2, intro.2, ioctl_tty.2, keyctl.2, link.2, membarrier.2, mkdir.2, mknod.2, mlock.2, mount.2, mount_setattr.2, open.2, open_by_handle_at.2, perf_event_open.2, pidfd_open.2, readlink.2, readv.2, rename.2, request_key.2, seccomp.2, sigaction.2, stat.2, statx.2, symlink.2, syscalls.2, umount.2, unlink.2, utimensat.2, wait.2, bsearch.3, fflush.3, getaddrinfo.3, getauxval.3, getopt.3, getsubopt.3, mkfifo.3, pthread_mutex_consistent.3, pthread_setname_np.3, pthread_tryjoin_np.3, scandir.3, sem_wait.3, stailq.3, strlen.3, strstr.3, termios.3, tsearch.3, wcslen.3, wcstok.3, wordexp.3, proc.5, capabilities.7, cgroups.7, fanotify.7, mount_namespaces.7, namespaces.7, path_resolution.7, pipe.7, posixoptions.7, user_namespaces.7, vdso.7, iconvconfig.8, ld.so.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27Changes: Ready for 5.13Michael Kerrisk1-3/+325
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-27getaddrinfo.3: Note that 'errno' is set in parallel with EAI_SYSTEMAlejandro Colomar1-2/+2
The previous wording wasn't very explicit, leaving room for believing that 'errno' may be 0 after returning EAI_SYSTEM. Use a wording similar to other pages, for added consistency. [mtk: edited commit message title; also, POSIX notes that 'errno' is set in this case.] Reported-by: Cristian Morales Vega <christian.morales.vega@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-24iconv.1, iconvconfig.8: FILES: note that files may be under /usr/lib64 ↵Michael Kerrisk2-0/+8
rather than /lib/64 See https://bugzilla.kernel.org/show_bug.cgi?id=214163 Reported-by: Christopher Yeleighton <giecrilj@stegny.2a.pl> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-22mount_namespaces.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-22mount_namespaces.7: Minor wording fixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-21mount_namespaces.7: wfix: use numbered cross-references in list of ↵Michael Kerrisk1-8/+8
restrictions in NOTES Done to make the list easier to navigate. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Rewrite locked mounts examples to use/etc/shadowMichael Kerrisk1-17/+23
See https://lore.kernel.org/linux-man/20210817140649.7pmz5qcelgjzgxtz@wittgenstein/ Subject: Re: [PATCHi, man-pages] mount_namespaces.7: More clearly explain "locked mounts" Date: Tue, 17 Aug 2021 16:06:49 +0200 Message-ID: <20210817140649.7pmz5qcelgjzgxtz@wittgenstein> Reported-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Note that it is possible to stack a mount on top of a ↵Michael Kerrisk1-0/+14
locked mount Reported-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: wfixMichael Kerrisk1-3/+3
Reported-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Minor wording clean-ups in discussion of less privileged ↵Michael Kerrisk1-12/+12
namespaces Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Terminology clean-up: "mount point" ==> "mount"Michael Kerrisk1-83/+83
Many times, this page use the terminology "mount point", where "mount" would be better. A "mount point" is the location at which a mount is attached. A "mount" is an association between a filesystem and a mount point. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: wfixMichael Kerrisk1-1/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: wfixMichael Kerrisk1-8/+7
The correct terminology is "less privileged mount namespace" (not "less privileged user namespace"). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Relocate the "Restrictions on mount namespaces" subsectionMichael Kerrisk1-266/+265
The "Restrictions on mount namespaces" subsection belongs lower in the page, following the discussion of concepts (e.g., shared subtrees and propagation) that are discussed elsewhere in the page. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Repair earlier text after injection of new list item in ↵Michael Kerrisk1-1/+4
previous commit The previous commit injected a large block of text into a list, separating one example in the previous list item from a "continuation" in the following list item. repair that. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: Add further details on locked mounts in a ↵Michael Kerrisk1-0/+113
less-privileged user namespace Reported-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount_namespaces.7: More clearly explain the notion of locked mountsMichael Kerrisk1-1/+74
For a long time, this manual page has had a brief discussion of "locked" mounts, without clearly saying what this concept is, or why it exists. Expand the discussion with an explanation of what locked mounts are, why mounts are locked, and some examples of the effect of locking. Thanks to Christian Brauner for a lot of help in understanding these details. Reported-by: Christian Brauner <christian.brauner@ubuntu.com> Acked-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20mount.2: ERRORS: add EPERM error for case where a mount is lockedMichael Kerrisk1-0/+15
Refer the reader to mount_namespaces(7) for details. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20umount.2: ERRORS: add EINVAL for case where mount is lockedMichael Kerrisk1-0/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-20getumask.3: Remove pageMichael Kerrisk1-67/+0
This function was never implemented on Linux. It seems pointless to retain such a page 20 years after it was written.
2021-08-19user_namespaces.7: Add a definition of "global root"Michael Kerrisk1-0/+6
Reported-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18add_key.2, keyctl.2, request_key.2: Note that the "libkeyutils" package ↵Michael Kerrisk3-2/+11
provides <keyutils.h> See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=992377 Reported-by: Dominique Brazziel <dbrazziel@snet.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18fanotify_mark.2: Revert cruft added in commit 717c3a7dcf3dcf178afMichael Kerrisk1-50/+0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18strsignal.3: wfixMichael Kerrisk1-1/+1
In NAME line, one of the instances of "sigdescr_np" should be "sigabbrev_np". Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18strsignal.3: tfixMichael Kerrisk1-2/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18tsearch.3: NAME: add twalk_rMichael Kerrisk1-1/+1
This function is described in the page. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18sigqueue.3: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18prctl.2: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18readv.2, pthread_tryjoin_np.3, stailq.3, strlen.3, wcslen.3: Arrange .SH ↵Michael Kerrisk5-37/+37
sections in correct order Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18intro.2, mount_setattr.2, seccomp_unotify.2, fflush.3, ↵Michael Kerrisk5-6/+6
pthread_mutex_consistent.3: Place SEE ALSO entries in correct order Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18chmod.2, chown.2, open.2, mkdir.2, mknod.2, readlink.2, stat.2, symlink.2, ↵Michael Kerrisk11-235/+196
mkfifo.3, scandir.3, sem_wait.3: ERRORS: combine errors into a single alphabetic list These pages split out extra errors for some APIs into a separate list. Probably, the pages are easier to ready if all errors are combined into a single list. Note that there still remain a few pages where the errors are listed separately for different APIs. For the moment, it seems best to leave those pages as is, since the error lists are largely distinct in those pages. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18arch_prctl.2, perf_event_open.2, pthread_tryjoin_np.3: ERRORS: correct ↵Michael Kerrisk3-13/+13
alphabetic order Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18accept.2, access.2, getpriority.2, mlock.2: ERRORS: combine errors into a ↵Michael Kerrisk4-118/+106
single list These split out errors into separate lists (perhaps per API, perhaps "may" vs "shall", perhaps "Linux-specific" vs standard(??)), but there's no good reason to do this. It makes the error list harder to read, and is inconsistent with other pages. So, combine the errors into a single list. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18getpass.3: wfixMichael Kerrisk1-1/+0
Remove redundant phrase. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18shmop.2: wfixMichael Kerrisk1-1/+5
Reported-by: Helge Kreutzmann <debian@helgefjell.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18proc.5: Remove duplicated /proc/[pid]/gid_map entryMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18proc.5: Add /proc/PID/projid_map, referring reader to user_namespaces(7)Michael Kerrisk1-2/+4
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18user_namespaces.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18user_namespaces.7: Document /proc/PID/projid_mapMichael Kerrisk1-0/+42
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18user_namespaces.7: Minor wording improvementMichael Kerrisk1-2/+2
Mainly in preparation for the following patch on project IDs maps. Add some words that will make the parallels between the rules for updating uid_map and projid_map clearer. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18fanotify_mark.2, link.2, mount.2, umount.2, proc.5, cgroups.7, fanotify.7: ↵Michael Kerrisk7-72/+72
Terminology clean-up: "mount point" ==> "mount" Many times, these pages use the terminology "mount point", where "mount" would be better. A "mount point" is the location at which a mount is attached. A "mount" is an association between a filesystem and a mount point. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-18rename.2: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13mount_namespaces.7: SEE ALSO: add mount_setattr(2)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13statx.2: srcfix: semantic newlinesMichael Kerrisk1-1/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13statx.2: Document STATX_MNT_IDNeilBrown1-0/+11
Linux 5.8 adds STATX_MNT_ID and stx_mnt_id. Add description to statx.2 Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13mount_setattr.2: srcfix: add note explaining Christian's use of -ve dirfd valuesMichael Kerrisk1-0/+12
From email with Christian Brauner: >>>>>> int fd_tree = open_tree(-EBADF, source, >>>>>> OPEN_TREE_CLONE | OPEN_TREE_CLOEXEC | >>>>>> AT_EMPTY_PATH | (recursive ? AT_RECURSIVE : 0)); >>>>> >>>>> ??? >>>>> What is the significance of -EBADF here? As far as I can tell, it >>>>> is not meaningful to open_tree()? >>>> >>>> I always pass -EBADF for similar reasons to [2]. Feel free to just use -1. >>> >>> ???? >>> But here, both -EBADF and -1 seem to be wrong. This argument >>> is a dirfd, and so should either be a file descriptor or the >>> value AT_FDCWD, right? >> >> [1]: In this code "source" is expected to be absolute. If it's not >> absolute we should fail. This can be achieved by passing -1/-EBADF, >> afaict. > > D'oh! Okay. I hadn't considered that use case for an invalid dirfd. > (And now I've done some adjustments to openat(2),which contains a > rationale for the *at() functions.) > > So, now I understand your purpose, but still the code is obscure, > since > > * You use a magic value (-EBADF) rather than (say) -1. > * There's no explanation (comment about) of the fact that you want > to prevent relative pathnames. > > So, I've changed the code to use -1, not -EBADF, and I've added some > comments to explain that the intent is to prevent relative pathnames. > Okay? Sounds good. > > But, there is still the meta question: what's the problem with using > a relative pathname? Nothing per se. Ok, you asked so it's your fault: When writing programs I like to never use relative paths with AT_FDCWD because. Because making assumptions about the current working directory of the calling process is just too easy to get wrong; especially when pivot_root() or chroot() are in play. My absolut preference (joke intended) is to open a well-known starting point with an absolute path to get a dirfd and then scope all future operations beneath that dirfd. This already works with old-style openat() and _very_ cautious programming but openat2() and its resolve-flag space have made this **chef's kiss**. If I can't operate based on a well-known dirfd I use absolute paths with a -EBADF dirfd passed to *at() functions. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13fanotify_mark.2: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13open.2: Add mount_setattr(2) to list of 'dirfd' APIsMichael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13mount_setattr.2: ffixMichael Kerrisk1-1/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-13mount.2: SEE ALSO: add mount_setattr(2)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12mount_setattr.2: Further tweaks after feedback from Christian BraunerMichael Kerrisk1-9/+22
Reported-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12mount_setattr.2: Clarify the description of "detached" mountsMichael Kerrisk1-2/+6
From email: >> Thanks. I made it "detached". Elsewhere, the page already explains >> that a detached mount is one that: >> >> must have been created by calling open_tree(2) with the >> OPEN_TREE_CLONE flag and it must not already have been >> visible in the filesystem. >> >> Which seems a fine explanation. >> >> ???? >> But, just a thought... "visible in the filesystem" seems not quite accurate. >> What you really mean I guess is that it must not already have been >> /visible in the filesystem hierarchy/previously mounted/something else/, >> right? I suppose that I should have clarified that my main problem was that you were using the word "filesystem" in a way that I find unconventional/ambiguous. I mean, I normally take the term "filesystem" to be "a storage system for folding files". Here, you are using "filesystem" to mean something else, what I might call like "the single directory hierarchy" or "the filesystem hierarchy" or "the list of mount points". > A detached mount is created via the OPEN_TREE_CLONE flag. It is a > separate new mount so "previously mounted" is not applicable. > A detached mount is _related_ to what the MS_BIND flag gives you with > mount(2). However, they differ conceptually and technically. A MS_BIND > mount(2) is always visible in the fileystem when mount(2) returns, i.e. > it is discoverable by regular path-lookup starting within the > filesystem. > > However, a detached mount can be seen as a split of MS_BIND into two > distinct steps: > 1. fd_tree = open_tree(OPEN_TREE_CLONE): create a new mount > 2. move_mount(fd_tree, <somewhere>): attach the mount to the filesystem > > 1. and 2. together give you the equivalent of MS_BIND. > In between 1. and 2. however the mount is detached. For the kernel > "detached" means that an anonymous mount namespace is attached to it > which doen't appear in proc and has a 0 sequence number (Technically, > there's a bit of semantical argument to be made that "attached" and > "detached" are ambiguous as they could also be taken to mean "does or > does not have a parent mount". This ambiguity e.g. appears in > do_move_mount(). That's why the kernel itself calls it an "anonymous > mount". However, an OPEN_TREE_CLONE-detached mount of course doesn't > have a parent mount so it works.). > > For userspace it's better to think of detached and attached in terms of > visibility in the filesystem or in a mount namespace. That's more > straightfoward, more relevant, and hits the target in 90% of the cases. > > However, the better and clearer picture is to say that a > OPEN_TREE_CLONE-detached mount is a mount that has never been > move_mount()ed. Which in turn can be defined as the detached mount has > never been made visible in a mount namespace. Once that has happened the > mount is irreversibly an attached mount. > > I keep thinking that maybe we should just say "anonymous mount" > everywhere. So changing the wording to: I'm not against the word "detached". To user space, I think it is a little more meaningful than "anonymous". For the moment, I'll stay with "detached", but if you insist on "anonymous", I'll probably change it. > [...] > EINVAL The mount that is to be ID mapped is not an anonymous mount; > that is, the mount has already been visible in a mount namespace. I like that text *a lot* better! Thanks very much for suggesting wordings. It makes my life much easier. I've made the text: EINVAL The mount that is to be ID mapped is not a detached mount; that is, the mount has not previously been visible in a mount namespace. > [...] > The mount must be an anonymous mount; that is, it must have been > created by calling open_tree(2) with the OPEN_TREE_CLONE flag and it > must not already have been visible in a mount namespace, i.e. it must > not have been attached to the filesystem hierarchy with syscalls such > as move_mount() syscall. And that too! I've made the text: • The mount must be a detached mount; that is, it must have been created by calling open_tree(2) with the OPEN_TREE_CLONE flag and it must not already have been visible in a mount namespace. (To put things another way: the mount must not have been attached to the filesystem hierarchy with a system call such as move_mount(2).) Reported-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12mount_setattr.2: EXAMPLES: use -1 rather than -EBADFMichael Kerrisk1-2/+8
From email with Christian Braner: > [1]: In this code "source" is expected to be absolute. If it's not > absolute we should fail. This can be achieved by passing -1/-EBADF, > afaict. D'oh! Okay. I hadn't considered that use case for an invalid dirfd. (And now I've done some adjustments to openat(2),which contains a rationale for the *at() functions.) So, now I understand your purpose, but still the code is obscure, since * You use a magic value (-EBADF) rather than (say) -1. * There's no explanation (comment about) of the fact that you want to prevent relative pathnames. So, I've changed the code to use -1, not -EBADF, and I've added some comments to explain that the intent is to prevent relative pathnames. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12mount_namespaces.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12fanotify_mark.2, futimesat.2, mount_setattr.2, statx.2, symlink.2, mkfifo.3: ↵Michael Kerrisk6-0/+78
Refer the reader to openat(2) for explanation of why 'dirfd' is useful Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12fanotify_mark.2: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12open.2: Minor tweaks to list of functions that take a dirfd argumentMichael Kerrisk1-1/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12scandir.3: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12mkfifo.3: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12access.2, chmod.2, chown.2, execveat.2, futimesat.2, link.2, mkdir.2, ↵Michael Kerrisk20-25/+96
mknod.2, mount_setattr.2, open.2, open_by_handle_at.2, readlink.2, rename.2, stat.2, statx.2, symlink.2, unlink.2, utimensat.2, mkfifo.3, scandir.3: Fix EBADF error description Make the description of the EBADF error for invalid 'dirfd' more uniform. In particular, note that the error only occurs when the pathname is relative, and that it occurs when the 'dirfd' is neither valid *nor* has the value AT_FDCWD. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12fanotify_mark.2: ERRORS: add missing EBADF error for invalid 'dirfd'Michael Kerrisk1-0/+8
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12open_by_handle_at.2: ERRORS: add missing EBADF error for invalid 'dirfd'Michael Kerrisk1-0/+6
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12mount_setattr.2: Rename 'path' to 'pathname'Michael Kerrisk1-10/+10
For consistency with other pages Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12open.2: Explicitly describe the EBADF error that can occur with openat()Michael Kerrisk1-0/+13
In particular, specifying an invalid file descriptor number in 'dirfd' can be used as a check that 'pathname' is absolute. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12open.2: Clarify that openat()'s dirfd must be opened with O_RDONLY or O_PATHMichael Kerrisk1-0/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12open.2: Reorder list of cases for 'dirfd' argument of openat()Michael Kerrisk1-10/+10
In preparation for subsequent commits Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-12open.2: Minor reworking of the description of the 'dirfd' argument of openat()Michael Kerrisk1-2/+8
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11capabilities.7: Add a reference to user_namespaces(7) for CAP_SETFCAPMichael Kerrisk1-4/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11user_namespaces.7: Improve description of the CAP_SETFCAP requirement when ↵Michael Kerrisk1-3/+39
mapping UID 0 Kir Kolyshkin made a start, but I think much more needs to be said... Reviewed-by: Serge E. Hallyn <serge@hallyn.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11syscalls.2: Add quotactl_fd(); remove quotactl_path()Michael Kerrisk1-1/+1
quotactl_path() was never wired up in Linux 5.13. It was replaced instead by quotactl_fd(), Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11sigaction.2: Add kernel version for SA_UNSUPPORTED flagMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11wait.2: ERRORS: document EAGAIN for waitid() on a PID file descriptorMichael Kerrisk1-0/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11pidfd_open.2: Document PIDFD_NONBLOCKMichael Kerrisk1-3/+12
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11mount_setattr.2: Minor fixesMichael Kerrisk1-10/+9
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Changes after review feedback from Christian BraunerMichael Kerrisk1-24/+35
Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10ioctl_tty.2: Remove duplicated textMichael Kerrisk1-29/+0
Somehow I applied Pali Rohár's patch "Document ioctls: TCGETS2, TCSETS2, TCSETSW2, TCSETSF2" twice... Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10pthread_setname_np.3: EXAMPLES: remove a bug by simplify the codeMichael Kerrisk1-2/+1
From an email conversation with Alexis: Hello Alexis, On 8/6/21 7:06 PM, Alexis Wilke wrote: > Hi guys, > > The pthread_setname_np(3) manual page has an example where the second > argument is used to get a size of the thread name. > > https://man7.org/linux/man-pages/man3/pthread_setname_np.3.html#EXAMPLES > > The current code: > > rc = pthread_getname_np(thread, thread_name, > (argc > 2) ? atoi(argv[1]) : NAMELEN); > > The suggested code: > > rc = pthread_getname_np(thread, thread_name, > (argc > 2) ? atoi(argv[2]) : NAMELEN); I agree that there's a problem, but I think we could go even simpler: rc = pthread_getname_np(thread, thread_name, NAMELEN); > I'm thinking that maybe the author meant to compute the length like so: > > rc = pthread_getname_np(thread, thread_name, > (argc > 2) ? strlen(argv[1]) + 1 : > NAMELEN); > > But I think that the atoi() points to using argv[2] as a number > representing the length. > > (Of course, it should be tested against NAMELEN as a maximum, but I > understand that examples do not always show how to verify each possible > error). I imagine that the author's intention was to allow the user to do experiments where argv[2] specified a number less than NAMELEN, in order to see the resulting ERANGE error. But, that experiment is of limited value, and complicates the code unnecessarily, IMO, so that's why I made the change above. -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ Reported-by: Alexis Wilke <alexis@m2osw.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Rework the discussion of MOUNT_ATTR__ATIMEMichael Kerrisk1-10/+14
Phrases such as "In the new mount API" will date fast. Remove it. Also: * Make it clear that MOUNT_ATTR__ATIME expresses a bit field. * Replace 'enum' with 'enumeration'. * Clarify what is meant by "partially" set MOUNT_ATTR__ATIME. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Remove description of propagation typesMichael Kerrisk1-20/+2
These types are already well described in mount_namespaces(7); indeed, much of the text from that page seems to have just been cut and pasted into this page! Simply referring the reader to mount_namespaces(7) is sufficient. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Reword the description of the 'propagation field'Michael Kerrisk1-4/+3
Point out that this field can have the value zero, meaning no change. And avoid discussions of 'enum', and simply say that otherwise the field has one of the MS_* values. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10wcstok.3: Fix type mismatch in the exampleJakub Wilk1-2/+2
Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10man-pages.7: wfix: s/null character/null byte/Michael Kerrisk1-1/+1
Reported-by: Stefan Kanthak <stefan.kanthak@nexgo.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10seccomp.2: Clarify that bad system calls kill the threadEric W. Biederman1-2/+3
Reported-by: Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10unicode.7: tfixMichael Kerrisk1-1/+1
Reported-by: Helge Kreutzmann <debian@helgefjell.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10signal.2: srcfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Move the discussion of ID-mapped mounts to NOTESMichael Kerrisk1-167/+164
Having this discussion under DESCRIPTION clutters that section, and has the effect of burying the discussion of propagation. Move the discussion to NOTES, to make the page more readable. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Add a reference to mount_namespaces(7) in discussion of ↵Michael Kerrisk1-0/+3
propagation types The mount_namespaces(7) page has some further relevant details. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Rename 'dfd' to 'dirfd'Michael Kerrisk1-15/+15
'dirfd' is the name consistently used in other pages. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Remove some unnecessary intermediate variablesMichael Kerrisk1-5/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Minor clean-ups in example programMichael Kerrisk1-34/+32
- Change some instances of "-" to "\" - Use C99 style (declare variables nearer use in code) - Add a bit of white space - Remove one 'const...const' added by Alex that caused compiler warnings - Use "reverse Christmas tree" form for declarations in main() - Other minor changes Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: SEE ALSO: place entries in correct orderMichael Kerrisk1-5/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: SEE ALSO: remove unneeded entriesMichael Kerrisk1-4/+1
We don't really need ext4(5) and xfs(5) here. They provide no further info that is directly relevant to the reader of mount_setattr(2). clone3(2) isn't necessary because it is the same page as clone(2). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Minor wording, grammar, and formatting fixesMichael Kerrisk1-117/+117
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: wfix: "idmapped/idmapping" is not natural EnglishMichael Kerrisk1-30/+31
Let's use ID mapped, ID mapping, etc. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: srcfixMichael Kerrisk1-2/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Minor formatting fixesMichael Kerrisk1-12/+12
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: Minor tweaks to Christian's patchAlejandro Colomar1-221/+225
- Fix SYNOPSIS to fit in 78 columns Also, we don't show when an include is included for a specific type, unless that header is included _only_ for the type, or there might be confusion (e.g., termios). Instead, that type should be documented in system_data_types(7), with a link page mount_attr-struct(3). - Fix references to mount_setattr(). See man-pages(7): Any reference to the subject of the current manual page should be writ‐ ten with the name in bold followed by a pair of parentheses in Roman (normal) font. For example, in the fcntl(2) man page, references to the subject of the page would be written as: fcntl(). The preferred way to write this in the source file is: .BR fcntl () - Fix line breaks according to semantic newline rules (and add some commas) - Fix wrong usage of .IR when .RI should have been used - Fix formatting of variable part in FOO<number>: - Make italic the variable part (as groff_man(7) recommends) - Remove <> - Use syntax recommended by G. Branden Robinson (groff) - Fix unnecessary uses of .BR or .IR when .B or .I would suffice - Fix formatting of punctuation In some cases, it was in italics or bold, and it should always be in roman. - Use uppercase to begin text, even in bullet points, since those were multi-sentence. - Simplify usage of .RS/.RE in combination with .IP - s/fat/FAT/ as fs(7) does - Slightly reword some sentences for consistency - Use Linux-specific for consistency with other pages (in VERSIONS) - EXAMPLES: Place the return type in a line of its own (as in other pages) - Fix alignment of code - Replace unnecessary use of the GNU extension ({}) by do {} while (0) In that case, there was no return value (moreover, it's a noreturn). - Break complex declaration lines into a line for each variable The variables were being initialized, some to non-zero values, so for clarity, a line for each one seems more appropriate. - Add const to pointers when possible - s/\\/\e/ - Remove unmatched groff commands Cc: Christian Brauner <brauner@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-10mount_setattr.2: New manual page documenting the mount_setattr() system callChristian Brauner1-0/+1002
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09futex.2: Rework the description of FUTEX_LOCK_PI2Michael Kerrisk1-14/+14
Note the use of FUTEX_CLOCK_REALTIME for selecting the clock, and eliminate repetition of details already covered in the description of FUTEX_LOCK_PI. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09futex.2: Minor tweaks to Kurt's patchAlejandro Colomar1-39/+39
Cc: Kurt Kanzenbach <kurt@linutronix.de> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09futex.2: Document FUTEX_LOCK_PI2Kurt Kanzenbach1-4/+49
FUTEX_LOCK_PI2 is a new futex operation which was recently introduced into the Linux kernel. It works exactly like FUTEX_LOCK_PI. However, it has support for selectable clocks for timeouts. By default CLOCK_MONOTONIC is used. If FUTEX_CLOCK_REALTIME is specified then the timeout is measured against CLOCK_REALTIME. This new operation addresses an inconsistency in the futex interface: FUTEX_LOCK_PI only works with timeouts based on CLOCK_REALTIME in contrast to all the other PI operations. Document the FUTEX_LOCK_PI2 command. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09path_resolution.7: tfix + srcfixAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09syscalls.2: Add system calls that are new in 5.13Michael Kerrisk1-0/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09sigaction.2: Minor reworking of Alejandro Colomar's patchMichael Kerrisk1-1/+4
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09sigaction.2: Minor tweaks to the code exampleMichael Kerrisk1-5/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09sigaction.2: Minor clean-ups to Peter Collingbourne's patchMichael Kerrisk1-7/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09sigaction.2: Minor tweaks to Peter's patchAlejandro Colomar1-33/+43
- Move example program to a new EXAMPLES section - Invert logic in the handler to have the failure in the conditional path, and the success out of any conditionals. - Use NULL, EXIT_SUCCESS, and EXIT_FAILURE instead of magic numbers - Separate declarations from code - Put function return type on its own line - Put function opening brace on its line Cc: Peter Collingbourne <pcc@google.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09sigaction.2: Document SA_EXPOSE_TAGBITS and the flag support detection protocolPeter Collingbourne1-0/+123
Signed-off-by: Peter Collingbourne <pcc@google.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09path_resolution.7: Improve description of trailin slashesMichael Kerrisk1-3/+4
See https://bugzilla.kernel.org/show_bug.cgi?id=212385 some/path/dir/ is not always the same as some/path/dir/: $ mkdir u $ rmdir u/. rmdir: failed to remove 'u/.': Invalid argument $ rmdir u $ The text in POSIX.1-2018 Section 4.13 ("Pathname Resolution") is helpful in pointing to a better wording. Reported-by: Askar Safin <safinaskar@mail.ru> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09ldd.1: Fix example commandAlejandro Colomar1-4/+1
Emanuele Torre via linux-man@: [ I was reading the man page for ldd(1)[1]; and I read this in the first paragraph of the DECRIPTION section: ldd prints the shared objects (shared libraries) required by each program or shared object specified on the command line. An example of its use and output (using sed(1) to trim leading white space for readability in this page) is the following: $ ldd /bin/ls | sed 's/^ */ /' linux-vdso.so.1 (0x00007ffcc3563000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000) libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000) /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000) This is a little confusing though since that sed(1) command does not seem to work. (and also potentially misleading for someone who is trying figure out how to parse ldd(1)'s output.) ldd(1) prepends a TAB character (0x09) to each line, not spaces: $ ldd /bin/ls | xxd | head -1 00000000: 096c 696e 7578 2d76 6473 6f2e 736f 2e31 .linux-vdso.so.1 I read ldd(1)'s source code[2] (it is part of glibc) and it seems to be a bash script that tries to use different rtld programs ( ld.so(8) ) from an RTLDLIST. Those, on my system, are: * /usr/lib/ld-linux.so.2 * /usr/lib64/ld-linux-x86-64.so.2 * /usr/libx32/ld-linux-x32.so.2 And they all seem to also be part of glibc. I have tried to follow the git history of glibc to see when the switch from spaces to the TAB character occured, but, to me, it seems like glibc.git/elf/rtld.c has always used '\t'; at since 6a76c115150318eae5d02eca76f2fc03be7bd029[3] (358th commit since glibc started using the git repository repository - Nov 18th 1995): before that commit there are not any results for `git grep '\\t'` in the elf directory and I did not investigate further. Still, at the time of that commit, glibc did not seem to have an ldd(1) utility. Perhaps the man page is old and its original author was using and documenting an ldd(1) utility that was not part of glibc when he was writing it. Anyhow, since I think that sed(1) command will not work on any system that uses, at least, the most recent version of glibc (because lld(1) and the ld.so(8) programs it depends on are all part of glibc), I think that that example should be changed to avoid confusions. The output format of ldd(1) does not seem to be clearly defined, so I think this would be a good option: $ ldd /bin/ls | sed 's/^[[:space:]]*/ /' NB: ^\s* should also work on most GNU/Linux systems, but \s is non-standard or documented so I don not suggest using it in the man page. Another option could be to remove "the pipe to sed(1)" part and the note in parentheses that explains why it was used by the original author. Cheers. emanuele6 [1]: https://man7.org/linux/man-pages/man1/ldd.1.html [2]: https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/ldd.bash.in;h=ba736464ac5e4a9390b1b6a39595035238250232;hb=5188a9d0265cc6f7235a8af1d31ab02e4a24853d [3]: https://sourceware.org/git/?p=glibc.git;a=commit;h=6a76c115150318eae5d02eca76f2fc03be7bd029 /////// $ uname -a Linux t420 5.10.54-1-lts #1 SMP Wed, 28 Jul 2021 15:05:20 +0000 x86_64 GNU/Linux $ pacman -Qo ldd /usr/bin/ldd is owned by glibc 2.33-5 $ pacman -Qo /usr/share/man/man1/ldd.1.gz /usr/share/man/man1/ldd.1.gz is owned by man-pages 5.12-2 $ pacman -Qo /usr/lib/ld-linux.so.2 /usr/lib/ld-linux.so.2 is owned by lib32-glibc 2.33-5 $ pacman -Qo /usr/lib64/ld-linux-x86-64.so.2 /usr/lib/ld-linux-x86-64.so.2 is owned by glibc 2.33-5 $ pacman -F /usr/libx32/ld-linux-x32.so.2 || echo not available on arch linux. not available on arch linux. ] Reported-by: EmanueleTorre <torreemanuele6@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09localedef.1, access.2, ioctl_console.2, ioctl_fslabel.2, openat2.2, write.2, ↵Michael Kerrisk17-26/+44
dlsym.3, getopt.3, nl_langinfo.3, termios.3, xcrypt.3, hosts.equiv.5, nsswitch.conf.5, cgroups.7, man-pages.7, netlink.7, system_data_types.7: srcfix: semantic newlines Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09nl_langinfo.3: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09getopt.3: Minor tweak to James's patchAlejandro Colomar1-1/+1
Cc: James O. D. Hunt <jamesodhunt@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09getopt.3: Further clarification of optstringJames O. D. Hunt1-1/+9
Explain that `optstring` cannot contain a semi-colon (`;`) character. [mtk: verified with a small test program; see also posix/getopt.c in the glibc sources: if (temp == NULL || c == ':' || c == ';') { if (print_errors) fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c); d->optopt = c; return '?'; } ] Also explain that `optstring` can include `+` as an option character, possibly in addition to that character being used as the first character in `optstring` to denote `POSIXLY_CORRECT` behaviour. [mtk: verified with a small test program.] Test program below. Example runs: $ ./a.out -+ opt = 43 (+); optind = 2 Got plus $ ./a.out -';' ./a.out: invalid option -- ';' opt = 63 (?); optind = 2; optopt = 59 (;) Unrecognized option (-;) Usage: ./a.out [-p arg] [-x] Signed-off-by: James O. D. Hunt <jamesodhunt@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com> 8x---8x---8x---8x---8x---8x---8x---8x---8x---8x---8x--- #include <ctype.h> #include <sys/types.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define printable(ch) (isprint((unsigned char) ch) ? ch : '#') static void /* Print "usage" message and exit */ usageError(char *progName, char *msg, int opt) { if (msg != NULL && opt != 0) fprintf(stderr, "%s (-%c)\n", msg, printable(opt)); fprintf(stderr, "Usage: %s [-p arg] [-x]\n", progName); exit(EXIT_FAILURE); } int main(int argc, char *argv[]) { int opt, xfnd; char *pstr; xfnd = 0; pstr = NULL; while ((opt = getopt(argc, argv, "p:x+;")) != -1) { printf("opt =%3d (%c); optind = %d", opt, printable(opt), optind); if (opt == '?' || opt == ':') printf("; optopt =%3d (%c)", optopt, printable(optopt)); printf("\n"); switch (opt) { case 'p': pstr = optarg; break; case 'x': xfnd++; break; case ';': printf("Got semicolon\n"); break; case '+': printf("Got plus\n"); break; case ':': usageError(argv[0], "Missing argument", optopt); case '?': usageError(argv[0], "Unrecognized option", optopt); default: printf("Unexpected case in switch()\n"); exit(EXIT_FAILURE); } } if (xfnd != 0) printf("-x was specified (count=%d)\n", xfnd); if (pstr != NULL) printf("-p was specified with the value \"%s\"\n", pstr); if (optind < argc) printf("First nonoption argument is \"%s\" at argv[%d]\n", argv[optind], optind); exit(EXIT_SUCCESS); }
2021-08-09close_range.2: Glibc added a wrapper recentlyAlejandro Colomar1-5/+0
Fixes: c2356ba085ed4f748b81c0ceeba1811b4a549e1c Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09ioctl_tty.2: Note kernel version that added TCGETS2, TCSETS2, TCSETSW2, and ↵Michael Kerrisk1-1/+4
TCSETSF2 Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09ioctl_tty.2: Minor wording clean-upsMichael Kerrisk1-7/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09ioctl_tty.2: Document ioctls: TCGETS2, TCSETS2, TCSETSW2, TCSETSF2Pali Rohár1-0/+29
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09ioctl_tty.2: Document ioctls: TCGETS2, TCSETS2, TCSETSW2, TCSETSF2Pali Rohár1-0/+29
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09ioctl_tty.2: Update DTR examplePali Rohár1-1/+2
Do not include unused (and incompatible) header file termios.h and include required header files for puts() and close() functions. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09termios.3: wfixMichael Kerrisk1-3/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09termios.3: SPARC architecture has 4 different Bnnn constantsPali Rohár1-0/+23
SPARC is special, it does not have Bnnn constants for baud rates above 2000000. Instead it defines 4 Bnnn constants with smaller baud rates. This difference between SPARC and non-SPARC architectures is present in both glibc API (termios.h) and also kernel ioctl API (asm/termbits.h). Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09termios.3: ffixAlejandro Colomar1-7/+17
Format variable parts of words referring to a group of identifiers in italics, following groff_man(7) recommendations. Also srcfix surrounding uses of \f escape sequences to use macros Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09termios.3: Add information how to set baud rate to any other valuePali Rohár1-0/+7
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09termios.3: Use bold style for Bnn and EXTn macro constantsPali Rohár1-2/+8
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09termios.3: Document missing baud-rate constantsPali Rohár1-0/+12
These baud-rate macro constants are defined in bits/termios.h and are already supported. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09unix.7: tfixŠtěpán Němec1-1/+1
Signed-off-by: Štěpán Němec <stepnem@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09regex.3: wfixнаб1-2/+2
"address of regcomp() initialized buffer" -> "address of regcomp()-initialized buffer" Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09man-pages.7: wfixG. Branden Robinson1-1/+1
Saw this while preparing the "switch to \~" change Alex invited. Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09namespaces.7: ffixMichael Weiß1-1/+2
Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-09readv.2, pipe.7: Make text on pipe writes more general to avoid a confusion ↵Michael Kerrisk2-6/+2
in writev(2) After a patch proposal from наб triggered by concerns that, when talking about PIPE_BUF, pipe(7) explicitly mentions write(2) but not writev(2), I've concluded that the reference in writev(2) to pipe(7) is not needed (mea culpa; I added that text), and I think the text in pipe(7) could be written to be closer to the POSIX spec, which doesn't talk about "write() calls", but simply about "writes". Reported-by: наб <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08capabilities.7, user_namespaces.7: Minor tweaks (part 2) to Kir Kolyshkin's ↵Michael Kerrisk2-5/+5
patch Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08capabilities.7: Minor tweaks to Kir's patchAlejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08capabilities.7, user_namespaces.7: Describe CAP_SETFCAPKir Kolyshkin2-0/+12
mtk: The kernel commit message is quite enlihtening: commit db2e718a47984b9d71ed890eb2ea36ecf150de18 Author: Serge E. Hallyn <serge@hallyn.com> Date: Tue Apr 20 08:43:34 2021 -0500 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08readv.2: Minor fixes (part 2) to Will Manley's patchMichael Kerrisk1-3/+8
Mainly: I generally don't want us to be including URLs to mailing list discussions in a manual page. Either, the issue in the discussion is worth writing up in the manual page (so that the reader doesn't have to look elsewhere), or the details are less important, in which case it is sufficient to note the existence of the bug. I think this is an example of the latter. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08readv.2: Minor tweaks to Will Manley's patchAlejandro Colomar1-2/+2
Cc: Will Manley <will@williammanley.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08readv2: Note preadv2(..., RWF_NOWAIT) bug in BUGS sectionWill Manley1-1/+10
To save the next person before they fall foul of it. See <https://lore.kernel.org/linux-fsdevel/fea8b16d-5a69-40f9-b123-e84dcd6e8f2e@www.fastmail.com/T/#u> and <https://github.com/tokio-rs/tokio/issues/3803> for more information. Signed-off-by: Will Manley <will@williammanley.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08vdso.7: Minor tweak to Alejandro Colomar's patchMichael Kerrisk1-1/+1
The correct kernel version seems to 5.11, not 5.10: $ git describe --contains d0e3fc69d00d v5.11-rc1~76^2~251 Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08vdso.7: Add y2038 compliant gettime for ppc/32Alejandro Colomar1-0/+1
Christophe Leroy via Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=213421 [ In ppc32 functions section, the Y2038 compliant function __kernel_clock_gettime64() is missing. It was added by commit d0e3fc69d00d ("powerpc/vdso: Provide __kernel_clock_gettime64() on vdso32") ] .../linux$ git describe d0e3fc69d00d v5.10-rc2-76-gd0e3fc69d00d Reported-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08strlen.3, wcslen.3: Recommend alternatives where input buffer might not be ↵Michael Kerrisk2-0/+10
null-terminated Reported-by: Jonny Grant <jg@jguk.org> Reported-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08execve.2: The pathname given to interpreter is not necessarily absoluteMichael Kerrisk1-1/+1
As pointed out by Nora, the example shown in the manual page already demonstrates that the pathname is not absolute! Reported-by: Nora Platiel <nplatiel@gmx.us> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08getauxval.3: SEE ALSO: add execve(2)Michael Kerrisk1-0/+1
Since this page discusses program execution, a link to execve(2) seems appropriate. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08execve.2: SEE ALSO: getauxval(3)Michael Kerrisk1-0/+1
getauxval(3) is useful background regarding execve(2). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08seccomp_unotify.2: tfixJakub Wilk1-1/+1
Remove duplicated word. Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08seccomp_unotify.2: Minor tweaks (part 2) to Rodrigo's patchMichael Kerrisk1-8/+11
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08seccomp_unotify.2: Minor tweaks to Rodrigo's patchAlejandro Colomar1-15/+17
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08seccomp_unotify.2: Document SECCOMP_ADDFD_FLAG_SENDRodrigo Campos1-0/+26
This flag was recently added to Linux 5.14 by a patch I wrote: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0ae71c7720e3ae3aabd2e8a072d27f7bd173d25c This patch adds documentation for the flag, the error code that the flag added and explains in the caveat when it is useful. Signed-off-by: Rodrigo Campos <rodrigo@kinvolk.io> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08man2/fallocate.2: tfix documentation of shared blocksDan Robertson1-1/+1
Fix a typo in the documentation of using fallocate to allocate shared blocks. The flag FALLOC_FL_UNSHARE should instead be documented as FALLOC_FL_UNSHARE_RANGE. Fixes: 63a599c657d8 ("man2/fallocate.2: Document behavior with shared blocks") Signed-off-by: Dan Robertson <dan@dlrobertson.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>