Commit Graph

19375 Commits

Author SHA1 Message Date
Michael Kerrisk 2c77e8de08 capabilities.7: Note that v3 security.attributes are transparently created/retrieved
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-02 09:59:21 +02:00
Michael Kerrisk 00ae99b028 capabilities.7: Fix some imprecisions in discussion of namespaced file capabilities
The file UID does not come into play when creating a v3
security.capability extended attribute.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01 11:42:13 +02:00
Michael Kerrisk 9b2c207a33 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01 11:42:13 +02:00
Michael Kerrisk c281d0505d capabilities.7: wfix
Fix some confusion between "mask" and "extended attribute"

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01 11:42:13 +02:00
Michael Kerrisk 54254ef33a capabilities.7: srcfix: Removed FIXME
No credential match of file UID and namespace creator UID
is needed to create a v3 security extended attribute.

Verified by experiment using my userns_child_exec.c and
show_creds.c programs (available on http://man7.org/tlpi/code):

    $ sudo setcap cap_setuid,cap_dac_override=pe \
            ./userns_child_exec
    $ ./userns_child_exec -U -r setcap cap_kill=pe show_creds
    $ ./userns_child_exec -U -M '0 1000 10' -G '0 1000 1' \
            -s 1 ./show_creds
    eUID = 1;  eGID = 0;  capabilities: = cap_kill+ep

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01 11:42:07 +02:00
Michael Kerrisk 737002259f putenv.3: Note a glibc extension: putenv("NAME") removes an environment variable
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-27 09:53:55 +02:00
Michael Kerrisk 590ba7e5d0 open_by_handle_at.2, ctermid.3, getcwd.3, proc.5: Wording fix: prefer "pathname" over "path" 2018-06-26 06:47:26 +02:00
Michael Kerrisk 4b18e69ccb getcwd.3: Add details on the getcwd() syscall and how it used by libc functions
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-26 06:47:26 +02:00
Michael Kerrisk 12e5ca8bea getcwd.3: Rework text on use of getcwd() system call
Make it cleared that all of the library functions
described on this page will use the getcwd() system call
if it is present. (The text previously implied that only
the getcwd() library function made use of the system call,
but looking in the glibc source code shows that all of the
functions make use of a generic implementation (__getcwd())
that uses the system call if it is present.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-26 06:12:38 +02:00
Michael Kerrisk 27681259e9 getcwd.3: Reorder the text describing "(unreachable)" being returned by getcwd()
The existing text on some of the oddities of the Linux getcwd()
implementation was placed somewhat obtrusively in the DESCRIPTION.
Shift the text to NOTES, and at the same time move the related
discussion of glibc nonconformance to POSIX into BUGS.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-26 06:05:55 +02:00
Michael Kerrisk ffea2c14f2 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-24 08:54:17 +02:00
Michael Kerrisk f6d844a916 epoll_ctl.2: Minor wording improvements
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:36:53 +02:00
Michael Kerrisk a16ce618a8 epoll_ctl.2: Use the term "interest list" consistently
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:34:53 +02:00
Michael Kerrisk a607673bb8 epoll.7: Consistently use the term "interest list" rather than "epoll set"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:21:56 +02:00
Michael Kerrisk d1d90ea54d epoll.7: Expand the discussion of the implications of file descriptor duplication
In particular, note that it may be difficult for an application
to know about the existence of duplicate file descriptors.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:20:25 +02:00
Michael Kerrisk fc9294cb6f epoll_wait.2: Note that epoll_wait() round robins through the set of ready descriptors
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:20:25 +02:00
Michael Kerrisk e3a60d1ce2 epoll_wait.2: Clarify the behavior when epoll_wait()-ing on an empty interest list
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:20:25 +02:00
Michael Kerrisk a3961b2fd5 epoll.7: Note that edge-triggered notification wakes up only one waiter
Note a useful performance benefit of EPOLLET: ensuring that
only one of multiple waiters (in epoll_wait()) is woken
up when a file descriptor becomes ready.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:20:25 +02:00
Michael Kerrisk 0409116028 epoll.7: Introduce the terms "interest list" and "ready list"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 12:20:25 +02:00
Michael Kerrisk 4524285a71 epoll.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 09:41:16 +02:00
Michael Kerrisk 1e79ad8cd8 epoll.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 09:30:02 +02:00
Michael Kerrisk b4ebb4ee79 epoll.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 09:27:46 +02:00
Michael Kerrisk 6832efaf3c epoll.7: Reformat Q&A list
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-22 09:27:24 +02:00
Mihir Mehta 4f4b395de2 pread.2: wfix
Fix a typographical error

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-21 19:27:54 +02:00
Lucas Werkmeister 28131cd994 usleep.3: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-21 19:18:12 +02:00
Michael Kerrisk be914947a7 select.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-12 06:01:32 +02:00
Lucas Werkmeister f8bfb68e68 proc.5: tfix
mlock() is a system call and documented in section 2, not 3.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-10 13:38:51 +02:00
Matthew Kilgore 85bbb2a253 strcpy.3: Fix example code for strncpy, which could pass an incorrect length
The example code currently passes `buflen - 1` to `strncpy`,
however the length parameter to `strncpy` is `size_t`, which is
unsigned.  This means that when `buflen` is zero, the cast of `-1`
to unsigned will result in passing `UINT_MAX` as the length.
Obviously, that would be incorrect and could cause `strncpy` to
write well beyond the buffer passed.

The easy solution is to wrap the whole code in the `buflen > 0`
check, rather then just the part of the code that applies the null
terminator.

Signed-off-by: Matthew Kilgore <mattkilgore12@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-10 13:36:46 +02:00
Michael Kerrisk 4c974cbac6 select.2: BUGS: the use of value-result arguments is a design bug
The use of value-result arguments is a design bug that is
not suffered by poll(2).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-01 09:08:28 +02:00
Nikola Forró c8097a40f5 host.conf.5: Clarify glibc versions in which spoof options were removed
The nospoof, spoofalert and spoof options as well as the
RESOLV_SPOOF_CHECK environment variable were all removed
from glibc in version 2.25 (with commit
7d68cdaa4f748e87ee921f587ee2d483db624b3d).

Signed-off-by: Nikola Forró <nforro@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-01 09:08:14 +02:00
Michael Kerrisk 8b5bbcfabc open.2: Minor wording fix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-31 21:34:32 +02:00
Lucas Werkmeister 71b12d0a57 open.2: Document ENXIO for sockets
Linux returns ENXIO when attempting to open() a UNIX domain socket.
Kernel-wise, I believe this happens in fs/inode.c [1], where a constant
`no_open` function returning -ENXIO is registered as the default open()
handler for inodes in inode_init_always(), and is not specialized in
nit_special_inode() as it is for other types.

Seen in the systemd v238 source code [2].

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/inode.c?h=v4.16
[2]: https://github.com/systemd/systemd/blob/v238/src/core/execute.c#L412

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-31 21:34:32 +02:00
Mike Frysinger 946bdf7207 exit.3: Note wider sysexits.h availability
Since the BSD header has been imported to other C libraries (including
glibc), note that here so people know it isn't BSD-specific.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-31 21:34:32 +02:00
Mike Frysinger 26cea65499 scripts: mark them executable
It's easier to run `./scripts/foo.sh ...` than
`bash ./scripts/foo.sh ...`.  Mark them all +x to support that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-31 21:34:32 +02:00
Michael Kerrisk 6a4c997189 pkey_alloc.2: Switch to glibc prototype in SYNOPSIS
In the kernel, the type of the arguments to pkey_alloc() is
"unsigned long" and that's what the page documented until now.
Now that glibc support is added for pkey_alloc(), switch to the
glibc prototype, which uses "unsigned int".

Reported-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-31 21:34:32 +02:00
Jakub Wilk f9d9ad2163 setns.2: tfix
Remove duplicated word.

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-31 07:58:06 +02:00
Michael Kerrisk dd08fccaae prctl.2: Add kernel version for PR_GET_SPECULATION_CTRL + PR_SET_SPECULATION_CTRL
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 13:52:41 +02:00
Michael Kerrisk a01c1cbcc3 prctl.2: Various fixups to Konrad Rzeszutek Wilk's text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 13:50:07 +02:00
Michael Kerrisk 2feab5d3b1 prctl.2: Minor fixups
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 12:57:30 +02:00
Michael Kerrisk ac3756bc53 prctl.2: srcfix: rewrap source lines
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 12:57:30 +02:00
Michael Kerrisk e36dfb8186 prctl.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 12:57:30 +02:00
Konrad Rzeszutek Wilk e23acd79f9 prctl.2: Document PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 11:59:26 +02:00
Goldwyn Rodrigues ebf120124b write.2: Partial direct I/O writes
Direct writes can perform partial writes because large writes
can be broken into smaller chunks by the block layer. Part of
the I/O submitted can fail and the failure is returned to write
as an error in the return value. However, part of the write can
be successful which means that data at the offset is inconsistent.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 11:34:34 +02:00
Helge Deller 0201f48246 vdso.7: Fix parisc gateway page description
The parisc gateway page currently only exports 3 functions:
The lws_entry for CAS operations (at 0xb0), the set_thread_pointer
function for usage in glibc (at 0xe0) and the Linux syscall entry
(at 0x100).

All other symbols in the manpage are internal labels and
shouldn't be used directly by userspace or glibc, so drop them
from the man page documentation.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 11:04:33 +02:00
Michael Kerrisk 65c3312c6d putenv.3: wfix
Reported-by: James Weigle <jtweigle@uchicago.edu>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-28 10:58:45 +02:00
Michael Kerrisk e795580f53 select.2: Note that select() and pselect() are not affected by O_NONBLOCK
Reported-by: Robin Kuzmin <kuzmin.robin@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-18 11:01:16 +02:00
Michael Kerrisk 15e68be637 poll.2: Note that poll() and ppoll() are not affected by O_NONBLOCK
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-18 11:00:04 +02:00
Michael Kerrisk 3897a3f89f open.2: Clarify a special use case of O_NONBLOCK for devices
The wording is a little confusing, suggesting that this is
the primary use of O_NONBLOCK. Fix that.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-18 10:56:16 +02:00
Michael Kerrisk f2a110725b open.2: Clarify that O_NONBLOCK has no effect on poll/epoll/select
Reported-by: Robin Kuzmin <kuzmin.robin@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-18 10:25:53 +02:00
Michael Kerrisk b0972b3b05 open.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-18 10:14:49 +02:00