Commit Graph

3628 Commits

Author SHA1 Message Date
Michael Kerrisk ffab8460c6 unix.7: Refer reader to socket(7) for information about SO_PEEK_OFF
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 12:30:44 +02:00
Michael Kerrisk 2fc7c74cc5 socket.7: Refer reader to unix(7) for information on SO_PASSSEC
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 12:30:44 +02:00
Michael Kerrisk 48c2b7065d tcp.7, udp.7: Add a reference to socket(7) noting existence of further socket options
Some other socket options that are applicable for TCP and UDP sockets
are documented in socket(7), so help the reader by pointing them at
that page.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 12:30:44 +02:00
Michael Kerrisk 670387c122 udp.7: srcfix: add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 12:30:44 +02:00
Michael Kerrisk 1221abb60e unix.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 12:30:44 +02:00
Michael Kerrisk ffad6a017f unix.7: Document SCM_SECURITY ancillary data
And fix a wording error in the description of SO_PASSSEC.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 12:30:44 +02:00
Michael Kerrisk 366a9bffc8 unix.7: Document SO_PASSSEC
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-28 11:50:11 +02:00
Michael Kerrisk 5af0f223d1 unix.7: Ancillary data forms a barrier when receiving on a stream socket
Thanks to a tip from Keith Packard:
https://keithp.com/blogs/fd-passing/
(Also verified by experiment.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-17 09:39:56 +02:00
Michael Kerrisk 5219daec26 unix.7: One must send at least one byte of real data with ancillary data
When sending ancillary data, at least one byte of real data should
also be sent.  This is strictly necessary for stream sockets
(verified by experiment). It is not required for datagram sockets
on Linux (verified by experiment), but portable applications
should do so.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-15 10:33:42 +02:00
Michael Kerrisk c0e56ed687 unix.7: Clarify treatment of incoming ancillary data if 'msg_control' is NULL
If no buffer is supplied for incoming ancillary data, then
the data is lost.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-15 10:33:32 +02:00
Michael Kerrisk 4564dd1fee unix.7: If the buffer to receive SCM_RIGHTS FDs is too small, FDs are closed
If the ancillary data buffer for receiving SCM_RIGHTS file
descriptors is too small, then the excess file descriptors are
automatically closed in the receiving process. Verified by
experiment.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-15 10:16:49 +02:00
Michael Kerrisk b65f4c691d unix.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-15 10:16:49 +02:00
Michael Kerrisk 879962006f unix.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-15 09:50:30 +02:00
Michael Kerrisk 93f5b0f8f4 mount_namespaces.7: SEE ALSO: add findmnt(8)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-13 07:08:28 +02:00
Michael Kerrisk 5b5cb19580 unix.7: When sending ancillary data, only one item of each type may be sent
Verified by experiment and reading the source code (although
the SCM_RIGHTS case is not so clear to me in the source code).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-10 07:14:50 +02:00
Michael Kerrisk 52900faab3 unix.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-10 07:14:50 +02:00
Michael Kerrisk 311bf2f694 unix.7: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-10 07:14:50 +02:00
Michael Kerrisk 05bf3361a6 unix.7: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-10 07:14:50 +02:00
Michael Kerrisk c87721467e unix.7: Note behavior if buffer to receive ancillary data is too small
If the buffer supplied to recvmsg() to receive ancillary data is
too small, then the data is truncated and the MSG_CTRUNC flag is
set.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-08 21:13:08 +02:00
Michael Kerrisk 13600496d3 unix.7: Enhance the description of SCM_RIGHTS
The existing description is rather thin. More can be said.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-08 10:57:27 +02:00
Michael Kerrisk 8bdcf4bf81 unix.7: There is a limit on the size of the file descriptor array for SCM_RIGHTS
The limit is defined in the kernel as SCM_MAX_FD (253).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-08 10:38:44 +02:00
Michael Kerrisk f1081bdc42 unix.7: Fix a minor imprecision in description of SCM_CREDENTIALS
To spoof credentials requires privilege (i.e., capabilities),
not UID 0.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-08 10:21:43 +02:00
Michael Kerrisk b66d5714b1 unix.7: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-08 10:20:52 +02:00
Michael Kerrisk bdef802116 unix.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-08 10:20:32 +02:00
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 ffea2c14f2 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-24 08:54:17 +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 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
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 0cec24722b signal.7: Clarify that sigsuspend() and pause() suspend the calling *thread*
Reported-by: Robin Kuzmin <kuzmin.robin@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-18 10:04:37 +02:00
Michael Kerrisk 390795d76a inotify.7: Note ENOTDIR error that can occur for IN_ONLYDIR
Note ENOTDIR error that occurs when requesting a watch on a
nondirectory with IN_ONLYDIR.

Reported-by: Paul Millar <paul.millar@desy.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-06 10:22:13 +02:00
Michael Kerrisk 0a719e9411 capabilities.7: tfix
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-02 21:16:20 +02:00
Michael Kerrisk c87cbea10f capabilities.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-02 11:37:29 +02:00
Michael Kerrisk c2b279afb7 capabilities.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 13:55:37 +02:00
Michael Kerrisk ddc1ad3079 capabilities.7: Add background details on capability transformations during execve(2)
Add background details on ambient and bounding set when
discussing capability transformations during execve(2).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 13:55:37 +02:00
Michael Kerrisk 7c957134f1 capabilities.7: Minor rewording
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 13:55:37 +02:00
Michael Kerrisk bb1f24fab8 capabilities.7: Reorder text on capability bounding set
Reverse order of text blocks describing pre- and
post-2.6.25 bounding set. No content changes.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 13:55:37 +02:00
Michael Kerrisk 2e87ced3b5 capabilities.7: Rework bounding set as per-thread set in transformation rules
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 13:55:37 +02:00
Michael Kerrisk 36de80b984 capabilities.7: Add text introducing bounding set along with other thread capability sets
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 13:55:37 +02:00
Michael Kerrisk daf8312704 capabilities.7: Clarify which capability sets capset(2) and capget(2) apply to
capset(2) and capget(2) apply operate only on the permitted,
effective, and inheritable process capability sets.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 12:46:48 +02:00
Michael Kerrisk 1db1d36d82 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01 12:40:14 +02:00
Michael Kerrisk 09b8afdc04 execve.2, fallocate.2, getrlimit.2, io_submit.2, membarrier.2, mmap.2, msgget.2, open.2, ptrace.2, readv.2, semget.2, shmget.2, shutdown.2, syscall.2, wait.2, wait4.2, crypt.3, encrypt.3, fseek.3, getcwd.3, makedev.3, pthread_create.3, puts.3, tsearch.3, elf.5, filesystems.5, group.5, passwd.5, sysfs.5, mount_namespaces.7, posixoptions.7, time.7, unix.7, vdso.7, xattr.7, ld.so.8: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-30 17:41:31 +02:00
Michael Kerrisk 29c0586f51 bpf.2, sched_setattr.2, crypt.3, elf.5, proc.5, fanotify.7, feature_test_macros.7, sched.7: spfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-27 14:48:33 +02:00
Michael Kerrisk 075f5e6592 namespaces.7: Mention that device ID should also be checked when comparing NS symlinks
When comparing two namespaces symlinks to see if they refer to
the same namespace, both the inode number and the device ID
should be compared. This point was already made clear in
ioctl_ns(2), but was missing from this page.

Reported-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-27 14:10:32 +02:00
Jakub Wilk 3eb078c52f unix.7: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-27 14:01:50 +02:00
Jakub Wilk 90ef0f7bf8 capabilities.7: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-27 14:01:43 +02:00
Michael Kerrisk 314d88f611 vdso.7: VDSO symbols (system calls) are not visible to seccomp(2) filters
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-24 18:25:44 +02:00
Michael Kerrisk 115c1eb46c capabilities.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-19 11:18:31 +02:00
Michael Kerrisk 690e62da71 capabilities.7: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk bcaa30c985 capabilities.7: Rework file capability versioning and namespaced file caps text
There was some confused missing of concepts between the
two subsections, and some other details that needed fixing up.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk 6442c03b68 capabilities.7: Explain when VFS_CAP_REVISION_3 file capabilities have effect
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk 7b45f4b2ad capabilities.7: Explain rules that determine version of security.capability xattr
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk 7da0c87a78 capabilities.7: Explain term "namespace root user ID"
Confirmed with Serge Hallyn that: "nsroot" means the UID 0
in the namespace as it would be mapped into the initial userns.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk 12dce73121 capabilities.7: Document namespaced-file capabilities
Cowritten-by: Serge E. Hallyn <serge@hallyn.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk b684870410 capabilities.7: Describe file capability versioning
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 21:23:28 +02:00
Michael Kerrisk 873727f44a posixoptions.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 17:02:28 +02:00
Michael Kerrisk 11e9d8f890 posixoptions.7: Use a more consistent, less cluttered layout for option lists
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 17:02:18 +02:00
Michael Kerrisk 17282a589f posixoptions.7: Make function lists more consistent and less cluttered
Use more consistent layout for lists of functions, and
remove punctuation from the lists to make them less cluttered.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 10:44:01 +02:00
Michael Kerrisk 5a9ef49145 posixoptions.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 10:25:11 +02:00
Michael Kerrisk 6f131a899a posixoptions.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 10:25:11 +02:00
Michael Kerrisk 45adee316b posixoptions.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 10:25:11 +02:00
Michael Kerrisk 742ce8ddec posixoptions.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 10:25:11 +02:00
Michael Kerrisk 6b2300a2f3 posixoptions.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 09:42:26 +02:00
Carlos O'Donell 233b0395d8 posixoptions.7: Expand XSI Options groups
We define in detail the X/Open System Interfaces i.e. _XOPEN_UNIX
and all of the X/Open System Interfaces (XSI) Options Groups.

The XSI options groups include encryption, realtime, advanced
realtime, realtime threads, advanced realtime threads, tracing,
streams, and legacy interfaces.

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13 09:39:10 +02:00
Michael Kerrisk 7934bcdfdc unix.7: ERRORS: add EBADF for sending closed file descriptor with SCM_RIGHTS
As noted by Rusty Russell:

I was really surprised that sendmsg() returned EBADF on a valid fd;
turns out I was using sendmsg with SCM_RIGHTS to send a closed fd,
which gives EBADF (see test program below).

But this is only obliquely referenced in unix(7):

       SCM_RIGHTS
              Send or receive a set  of  open  file  descriptors
              from  another  process.  The data portion contains
              an integer array of  the  file  descriptors.   The
              passed file descriptors behave as though they have
              been created with dup(2).

EBADF is not mentioned in the unix(7) ERRORS (it's mentioned in
dup(2)).

int fdpass_send(int sockout, int fd)
{
	/* From the cmsg(3) manpage: */
	struct msghdr msg = { 0 };
	struct cmsghdr *cmsg;
	struct iovec iov;
	char c = 0;
	union {         /* Ancillary data buffer, wrapped in a union
			   in order to ensure it is suitably aligned */
		char buf[CMSG_SPACE(sizeof(fd))];
		struct cmsghdr align;
	} u;

	msg.msg_control = u.buf;
	msg.msg_controllen = sizeof(u.buf);
	memset(&u, 0, sizeof(u));
	cmsg = CMSG_FIRSTHDR(&msg);
	cmsg->cmsg_level = SOL_SOCKET;
	cmsg->cmsg_type = SCM_RIGHTS;
	cmsg->cmsg_len = CMSG_LEN(sizeof(fd));
	memcpy(CMSG_DATA(cmsg), &fd, sizeof(fd));

	msg.msg_name = NULL;
	msg.msg_namelen = 0;
	msg.msg_iov = &iov;
	msg.msg_iovlen = 1;
	msg.msg_flags = 0;

	/* Keith Packard reports that 0-length sends don't work, so we
	 * always send 1 byte. */
	iov.iov_base = &c;
	iov.iov_len = 1;

	return sendmsg(sockout, &msg, 0);
}

int fdpass_recv(int sockin)
{
	/* From the cmsg(3) manpage: */
	struct msghdr msg = { 0 };
	struct cmsghdr *cmsg;
	struct iovec iov;
	int fd;
	char c;
	union {         /* Ancillary data buffer, wrapped in a union
			   in order to ensure it is suitably aligned */
		char buf[CMSG_SPACE(sizeof(fd))];
		struct cmsghdr align;
	} u;

	msg.msg_control = u.buf;
	msg.msg_controllen = sizeof(u.buf);

	msg.msg_name = NULL;
	msg.msg_namelen = 0;
	msg.msg_iov = &iov;
	msg.msg_iovlen = 1;
	msg.msg_flags = 0;

	iov.iov_base = &c;
	iov.iov_len = 1;

	if (recvmsg(sockin, &msg, 0) < 0)
		return -1;

	cmsg = CMSG_FIRSTHDR(&msg);
        if (!cmsg
	    || cmsg->cmsg_len != CMSG_LEN(sizeof(fd))
	    || cmsg->cmsg_level != SOL_SOCKET
	    || cmsg->cmsg_type != SCM_RIGHTS) {
		errno = -EINVAL;
		return -1;
	}

	memcpy(&fd, CMSG_DATA(cmsg), sizeof(fd));
	return fd;
}

static void child(int sockfd)
{
	int newfd = fdpass_recv(sockfd);
	assert(newfd < 0);
	exit(0);
}

int main(void)
{
	int sv[2];
	int pid, ret;

	assert(socketpair(AF_UNIX, SOCK_STREAM, 0, sv) == 0);

	pid = fork();
	if (pid == 0) {
		close(sv[1]);
		child(sv[0]);
	}

	close(sv[0]);
	ret = fdpass_send(sv[1], sv[0]);
	printf("fdpass of bad fd return %i (%s)\n", ret, strerror(errno));
	return 0;
}

Reported-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-12 10:55:29 +02:00
Michael Kerrisk d3e7786def unix.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-12 10:42:34 +02:00
Konstantin Grinemayer 04c8a02088 keyring.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-12 08:46:42 +02:00
Michael Kerrisk 3f6061d025 socket.7: Fix error in SO_INCOMING_CPU code snippet
The last argument is passed by value, not reference.
Reported-by: Tomi Salminen <tsalminen@forcepoint.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-03-27 22:06:52 +02:00
Michael Kerrisk d8c64e25f8 network_namespaces.7: Add cross reference to unix(7)
For further information on UNIX domain abstract sockets.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-03-16 08:50:36 +01:00
Michael Kerrisk 39ad46695f time.7: Mention clock_gettime()/clock_settime() rather than [gs]ettimeofday()
gettimeofday() is declared obsolete by POSIX. Mention instead
the modern APIs for working with the realtime clock.

See https://bugzilla.kernel.org/show_bug.cgi?id=199049

Reported-by: Enrique Garcia <cquike@arcor.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-03-16 08:50:36 +01:00
Michael Kerrisk 6b49df2229 mount_namespaces.7: Note another case where shared "peer groups" are formed
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-25 16:42:16 +01:00
Michael Kerrisk 46af719866 mount_namespaces.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-25 16:37:08 +01:00
Michael Kerrisk a21658aad3 network_namespaces.7: Network namespaces isolate the UNIX domain abstract socket namespace
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-24 23:04:53 +01:00
Michael Kerrisk aeeb48005e user_namespaces.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-23 10:38:47 +01:00
Michael Kerrisk 1a7e08e367 namespaces.7: Note an idiosyncracy of /proc/[pid]/ns/pid_for_children
/proc/[pid]/ns/pid_for_children has a value only after first
child is created in PID namespace. Verified by experiment.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-21 17:31:48 +01:00
Michael Kerrisk 0813749503 capabilities.7: remove redundant mention of PTRACE_SECCOMP_GET_FILTER
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-21 10:38:17 +01:00
Michael Kerrisk 9863b9acfe xattr.7: SEE ALSO: add selinux(8)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-21 08:43:14 +01:00
Michael Kerrisk 7747ed9789 cgroups.7: cgroup.events transitions generate POLLERR as well as POLLPRI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-10 09:46:14 +01:00
Michael Kerrisk 2cd9bbfa48 Removed trailing white space at end of lines 2018-02-02 07:48:33 +01:00
Michael Kerrisk 8538a62b4c iconv.1, bpf.2, copy_file_range.2, fcntl.2, memfd_create.2, mlock.2, mount.2, mprotect.2, perf_event_open.2, pkey_alloc.2, prctl.2, read.2, recvmmsg.2, s390_sthyi.2, seccomp.2, sendmmsg.2, syscalls.2, unshare.2, write.2, errno.3, fgetpwent.3, fts.3, pthread_rwlockattr_setkind_np.3, fuse.4, veth.4, capabilities.7, cgroups.7, ip.7, man-pages.7, namespaces.7, network_namespaces.7, sched.7, socket.7, user_namespaces.7, iconvconfig.8: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-02 07:38:54 +01:00
Michael Kerrisk 93b96116f0 vsock.7: Add license and copyright
Stefan noted on the mailing list that selection of the
verbatim license was fine.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-01 22:23:28 +01:00
Jakub Wilk 7a1cddd289 cgroups.7: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-26 19:58:40 +01:00
Michael Kerrisk 42dfc34c33 capabilities.7: spfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-13 20:58:58 +01:00
Michael Kerrisk cd7f4c4958 cgroups.7: Add a detail on delegation of cgroup.threads
Some notes from a conversation with Tejun Heo:

    Subject: Re: cgroups(7): documenting cgroups v2 delegation
    Date: Wed, 10 Jan 2018 14:27:26 -0800
    From: Tejun Heo <tj@kernel.org>

    > > 1. When delegating, cgroup.threads should be delegated.  Doing that
    > >    selectively doesn't achieve anything meaningful.
    >
    > Understood. But surely delegating cgroup.threads is effectively
    > meaningless when delegating a "domain" cgroup tree? (Obviously it's
    > not harmful to delegate the the cgroup.threads file in this case;
    > it's just not useful to do so.)

    Yeap, unless we can somehow support non-root mixed domains.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:52:26 +01:00
Michael Kerrisk 6dc513cd38 cgroups.7: Subhierarchy under delegated subtree will be owned by delegatee
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk 7b327dd5f3 cgroups.7: Add a detail on delegation of cgroup.threads
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk d84e558ef3 cgroups.7: Define containment rules for cgroup.threads
Reviewed-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk 446d164326 cgroups.7: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk c7913617f7 cgroups.7: cgroup.threads should appear in /sys/kernel/cgroup/delegate
As discussed with Tejun Heo and Roman Gushchin, the
omission of this file from the list is a bug, and
is about to be fixed by a kernel patch from Roman.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk 6125483529 cgroups.7: Add some rationale for the existence of the "domain invalid" cgroup type
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk dc581e07a4 cgroups.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk 0736182888 cgroups.7: Point out that 'nsdelegate' can also be applied on a remount
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk 277559a45c cgroups.7: Clarify that cgroup.controllers is read-only
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:47:12 +01:00
Michael Kerrisk 639b6c8c57 cgroups.7: cgroup.threads is also delegated if delegating a threaded subtree
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-11 00:46:56 +01:00
Michael Kerrisk 4178f13224 cgroups.7: cgroup.threads is writable only inside a threaded subtree
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk b2c3e72073 cgroups.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 2e69ff536c cgroups.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk d311c798b7 cgroups.7: Add a more complete description of cgroup v1 named hierarchies
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 218eadf4ae cgroups.7: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk a76748a0e1 cgroups.7: Remove accidentally duplicated NOTES and ERRORS sections
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk c56ec51ba6 cgroups.7: Elaborate a little on problems of splitting threads across cgroups in v1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 7b574df5c6 cgroups.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 59af05147e cgroups.7: Document 'release_agent' mount option
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 56769384da cgroups.7: Rework text on threads and cgroups v2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 980f1827b0 cgroups.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk fcf115f54f cgroups.7: wfix
Reported-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk d1d4f69503 cgroups.7: srcfix: remove FIXME
Tejun noted that his statement wasn't correct.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk ed3f4f34fc cgroups.7: Document cgroup v2 delegation via the 'nsdelegate' mount option
Reviewed-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 148e0800eb cgroups.7: Modify cgroup v2 delegation subheading
We are about to add description of a different kind
of delegation (nsdelegate) with its own subheading.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 27b086e998 cgroups.7: Add a subheading for delegation containment rules
This is useful in preparation for adding discussion of the
'nsdelegate' mount option.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 6413d78493 cgroups.7: Document /sys/kernel/cgroup/features
Reviewed-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 668ef76586 cgroups.7: Document /sys/kernel/cgroup/delegate
Reviewed-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 28f612ea3d cgroups.7: Note Linux 4.11 changes to cgroup v2 delegation containment rules
See kernel commit 576dd464505fc53d501bb94569db76f220104d28

Reported-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:47 +01:00
Michael Kerrisk 896305ece8 cgroups.7: srcfix: Remove FIXME
Tejun Heo confirmed that the existing text is correct.

Reported-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:46 +01:00
Michael Kerrisk e5936eb62f cgroups.7: Tweak the description of delegation of cgroup.subtree_control
Reported-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:46 +01:00
Michael Kerrisk 00c2709250 cgroups.7: Remove bogus "constraint" relating to thread mode
Existing cgroups under threaded root *must*, by definition,
be either domain or part of threaded subtrees, so this is not
a constraint on the creation of threaded subtrees.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:46 +01:00
Michael Kerrisk c7f63e7434 cgroups.7: Minor tweaks to text on cgroup.stat
Reported-by: Roman Gushchin <guro@fb.com>
Reviewed-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:35:43 +01:00
Michael Kerrisk 06dadef809 cgroups.7: srcfix: FIXME (nsdelegate)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:19 +01:00
Michael Kerrisk 75e83bc270 cgroups.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:19 +01:00
Michael Kerrisk d0dd7b8844 cgroups.7: srcfix FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk 1de5994653 cgroups.7: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk b59229e4f9 cgroups.7: srcfix FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk 0735069bf3 cgroups.7: Minor tweak to text on v2 delegation
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk e5bd7e6598 cgroups.7: Minor fix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk 5714ccee0a cgroups.7: Add some section (SH) headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk c8902e25cc cgroups.7: Document cgroups v2 "thread mode"
Reviewed-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk e91d4f9ee7 cgroups.7: Mention the existence of "thread mode" in Linux 4.14
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk 5845e10bdb cgroups.7: Document the cgroup.max.depth and cgroup.max.descendants files
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk 5e071499bb cgroups.7: Document cgroups v2 cgroup.stat file
Based on the text in Documentation/cgroup-v2.txt.

Reviewed-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk f7286edcde cgroups.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-10 00:32:18 +01:00
Michael Kerrisk eaf4a2607b sched.7: Correctly describe effect of priority changes for RT threads
The placement of a thread in the run queue for its new
priority depends on the direction of movement in priority.
(This appears to contradict POSIX, except in the case of
pthread_setschedprio().)

As reported by Andrea, and followed up by me:

> I point out that the semantics of sched_setscheduler(2) for RT threads
> indicated in sched(7) and, in particular, in
>
>    "A call to sched_setscheduler(2), sched_setparam(2), or
>     sched_setattr(2) will put the SCHED_FIFO (or SCHED_RR) thread
>     identified by pid at the start of the list if it was runnable."
>
> does not "reflect" the current implementation of this syscall(s) that, in
> turn; based on the source, I think a more appropriate description of this
> semantics would be:
>
>    "... the effect on its position in the thread list depends on the
>     direction  of the modification, as follows:
>
>       a. if the priority is raised, the thread becomes the tail of the
>          thread list.
>       b. if the priority is unchanged, the thread does not change position
>          in the thread list.
>       c. if the priority is lowered, the thread becomes the head of the
>          thread list."
>
> (copied from
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_08_04_01
> ).

So, I did some testing, and can confirm that the above is the behavior
on Linux for changes to scheduling priorities for RT processes.
(My tests consisted of creating a multithreaded process where all
threads are confined to the same CPU with taskset(), and each thread
is in a CPU-bound loop. I then maipulated their priorities with
chrt(1) and watched the CPU time being consumed with ps(1).)

Back in SUSv2 there was this text:

[[
6. If a thread whose policy or priority has been modified is a running
thread or is runnable, it then becomes the tail of the thread list for
its new priority.
]]

And certainly Linux used to behave this way. I remember testing it,
and when one looks at the Linux 2.2 source code for example, one can
see that there is a call to move_first_runqueue() in this case. At some
point, things changed, and I have not investigated exactly where that
change occurred (but I imagine it was quite a long time ago).

Looking at SUSv4, let's expand the range of your quote, since
point 7 is interesting. Here's text from Section 2.8.4
"Process Scheduling" in POSIX.1-2008/SUSv4 TC2:

[[
7. If a thread whose policy or priority has been modified other
   than by pthread_setschedprio() is a running thread or is runnable,
   it then becomes the tail of the thread list for its new priority.
8. If a thread whose priority has been modified by pthread_setschedprio()
   is a running thread or is runnable, the effect on its position in the
   thread list depends on the direction of the modification, as follows:
   a. If the priority is raised, the thread becomes the tail of the
      thread list.
   b. If the priority is unchanged, the thread does not change position
      in the thread list.
   c. If the priority is lowered, the thread becomes the head of the
      thread list.
]]

(Note that the preceding points mention variously sched_setscheduler(),
sched_setsparam(), and pthread_setschedprio(), so that the mention of
just pthread_setschedprio() in points 7 and 8 is significant.)

Now, since chrt(1) uses sched_setscheduler(), rather than
pthread_setschedprio(), then arguably the Linux behavior is a
violation of POSIX. (Indeed, buried in the man-pages source, I find
that I many years ago wrote the comment:

    In 2.2.x and 2.4.x, the thread is placed at the front of the queue
    In 2.0.x, the Right Thing happened: the thread went to the back -- MTK

But the Linux behavior seems reasonable to me and I'm inclined
to just document it (see the patch below).

Reported-by: Andrea Parri <parri.andrea@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-09 19:46:28 +01:00
Michael Kerrisk ffbfb5abd4 udplite.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-06 23:01:45 +01:00
Michael Kerrisk 6f9c4ef241 pty.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-06 23:00:52 +01:00
Michael Kerrisk 2468f14e4b cgroups.7: Relocate the 'Cgroups v2 "no internal processes" rule' subsection
Logically, this section should follow the section that
describes cgroup.subtree_control.

No content changes in this patch.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-27 06:32:48 +01:00
Michael Kerrisk 4f017a682c cgroups.7: Elaborate on the "no internal processes" rule
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-27 06:32:48 +01:00
Michael Kerrisk c9b101d1a2 cgroups.7: Mention ENOENT error that can occur when writing to subtree_control file
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-27 06:32:48 +01:00
Michael Kerrisk 4242dfbe4f cgroups.7: Add subsection describing cgroups v2 subtree delegation
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-27 06:32:48 +01:00
Michael Kerrisk ccb1a2621b cgroups.7: Minor rewording
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 14:09:00 +01:00
Michael Kerrisk 8d5f42dc46 cgroups.7: Rewrite the description of cgroup v2 subtree control
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 13:41:39 +01:00
Michael Kerrisk 57cbb0dbb0 cgroups.7: One may need to unmount v1 controllers before they can be used in v2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 10:58:08 +01:00
Michael Kerrisk 75a12bb537 cgroups.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 10:39:36 +01:00
Michael Kerrisk 7409b54bdd cgroups.7: Add a section on unmounting cgroup v1 filesystems
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 10:27:11 +01:00
Michael Kerrisk 783a40b677 cgroups.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 09:34:14 +01:00
Michael Kerrisk 03bb1264cd cgroups.7: Note that systemd(1) nowadays automatically mount the cgroup2 filesystem
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 09:29:45 +01:00
Michael Kerrisk 2e33b59ee3 cgroups.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 09:09:41 +01:00
Michael Kerrisk 4769a77817 cgroups.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 09:09:26 +01:00
Michael Kerrisk 44c429ed45 cgroups.7: Add list of currently available version 2 controllers
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-23 09:07:00 +01:00
Michael Kerrisk d5034243fa sched.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-19 10:22:09 +01:00
Michael Kerrisk 286bdd7ca2 sched.7: Remove a mention of SCHED_RR in discussion of priority changes
Later in the page it is stated that SCHED_RR is the same as SCHED_FIFO.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-19 10:19:39 +01:00
Michael Kerrisk 329c0e77d1 sched.7: Minor clarifications
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-19 09:04:26 +01:00
Michael Kerrisk cb57fbc284 ip.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-18 17:43:54 +01:00
Michael Kerrisk 5d0ea688e3 ip.7: s/INADDR_ANY/INADDR_LOOPBACK/ in discussion of htonl()
INADDR_LOOPBACK is a better example, since it is not
byte-order neutral.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-18 17:39:02 +01:00
Ricardo Biehl Pasquali c0a0e532ae ip.7: INADDR_* values cannot be assigned directly to 's_addr'
According to The Open Group Base Specifications Issue 7, RATIONALE
section of
http://pubs.opengroup.org/onlinepubs/9699919799/ basedefs/netinet_in.h.html
some INADDR_* values must be converted using htonl().

INADDR_ANY and INADDR_BROADCAST are byte-order-neutral so they do
not require htonl(), however I only comment this fact in NOTES.
On the text I recommend to use htonl(), "even if for some subset
it's not necessary".

Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-18 17:36:57 +01:00
Michael Kerrisk bd05436994 fifo.7: wfix
Reported-by: Adam Liddell <ml+kernel.org@aliddell.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-18 17:16:34 +01:00
Michael Kerrisk d145c0250b cgroups.7: Minor rewording
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-18 17:14:49 +01:00
Nikolay Borisov cfec905ed7 cgroups.7: Add information about RDMA controller
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-18 17:11:47 +01:00
Michael Kerrisk b8cee784b3 capabilities.7: Clarify effect of CAP_SETFCAP
Make it clear that CAP_SETFCAP allows setting arbitrary
capabilities on a file.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-16 00:09:25 +01:00
Stefan Hajnoczi ba294a0ee6 vsock.7: Clarify send(2)/recv(2) families of system calls
Sockets support both read(2)/write(2) and send(2)/recv(2) system
calls.  Each of these is actually a family of multiple system
calls such as send(2), sendfile(2), sendmsg(2), sendmmsg(2), and
sendto(2).

This patch claries which families of system calls can be used.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-12 19:12:07 +01:00
Michael Kerrisk 308a16d989 vsock.7: Place SEE ALSO and ERRORS in alphabetical order
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-11 20:30:38 +01:00
Michael Kerrisk 2472922151 vsock.7: Minor fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-11 20:30:37 +01:00
Michael Kerrisk 4a70bb07bc vsock.7: srcfix: rewrap source lines
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-11 20:19:03 +01:00
Stefan Hajnoczi 29598b2f2d vsock.7: Document the VSOCK socket address family
The AF_VSOCK address family has been available since Linux 3.9.

This patch adds vsock.7 and describes its use along the same lines as
existing ip.7, unix.7, and netlink.7 man pages.

CC: Jorgen Hansen <jhansen@vmware.com>
CC: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Jorgen Hansen <jhansen@vmware.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-11 20:11:12 +01:00
Michael Kerrisk 46010ab917 socket.7: tfix
Reported-by: Joel Williamson <jwilliamson@carnegietechnologies.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-11 18:40:14 +01:00
Michael Kerrisk ec9612a19f network_namespaces.7: Minor adjustments to list of resources governed by network namespaces
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-10 23:19:17 +01:00
Michael Kerrisk f9ecf99e59 network_namespaces.7: When a NW namespace is freed, veth devices are destroyed
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-10 23:19:17 +01:00
Michael Kerrisk f051ce24ac network_namespaces.7: Reorganize text
No content changes...

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-10 23:19:17 +01:00
Michael Kerrisk 2685b303e3 namespaces.7, network_namespaces.7: Move content from namespaces(7) to network_namespaces(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-10 23:19:17 +01:00
Michael Kerrisk 9f7ce0c2e8 network_namespaces.7: New page describing network namespaces
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-10 23:19:17 +01:00
Michael Kerrisk 4bf43ba523 pid_namespaces.7: SEE ALSO: add mount_namespaces(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-08 10:13:42 +01:00
Michael Kerrisk 54b9d7bf87 user_namespaces.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-06 15:05:15 +01:00
Michael Kerrisk e62172cbd9 capabilities.7: Rephrase CAP_SETPCAP description
* Mention kernel versions.
* Place current kernel behavior first

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-05 22:27:27 +01:00
G. Branden Robinson 777411ae61 iconv.1, pthread_rwlockattr_setkind_np.3, man-pages.7, socket.7, iconvconfig.8: Standardize on "nonzero"
Also add this term to the style guide in man-pages(7).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-05 22:27:13 +01:00
Michael Kerrisk e93e59f97b capabilities.7: SECBIT_KEEP_CAPS is ignored if SECBIT_NO_SETUID_FIXUP is set
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-03 11:16:32 +01:00
Michael Kerrisk e43d2a6013 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-03 11:16:32 +01:00
Michael Kerrisk 02ff4f27c2 capabilities.7: Note which capability sets are affected by SECBIT_NO_SETUID_FIXUP
Note explicitly that SECBIT_NO_SETUID_FIXUP is relevant for
the permitted, effective, and ambient capability sets.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-03 11:16:19 +01:00
Michael Kerrisk 7c8eb8f7cf capabilities.7: Deemphasize the ancient prctl(2) PR_SET_KEEPCAPS command
The modern approach is SECBITS_KEEP_CAPS.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 16:21:37 +01:00
Michael Kerrisk f7dbc40ee7 capabilities.7: Minor wording fix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 16:21:37 +01:00
Michael Kerrisk 705a8f33f1 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 15:43:02 +01:00
Michael Kerrisk bbb186d403 capabilities.7: Clarify which capability sets are effected by SECBIT_KEEP_CAPS
This flag has relevance only for the process permitted and
effective sets.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 15:40:39 +01:00
Michael Kerrisk e67ac266c8 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 15:08:52 +01:00
Michael Kerrisk f6b60423bd capabilities.7: Ambient set is also cleared when UIDs are set to nonzero value
See cap_emulate_setxuid():

        kuid_t root_uid = make_kuid(old->user_ns, 0);

        if ((uid_eq(old->uid, root_uid) ||
             uid_eq(old->euid, root_uid) ||
             uid_eq(old->suid, root_uid)) &&
            (!uid_eq(new->uid, root_uid) &&
             !uid_eq(new->euid, root_uid) &&
             !uid_eq(new->suid, root_uid))) {
                if (!issecure(SECURE_KEEP_CAPS)) {
                        cap_clear(new->cap_permitted);
                        cap_clear(new->cap_effective);
                }

                /*
                 * Pre-ambient programs expect setresuid to nonroot followed
                 * by exec to drop capabilities.  We should make sure that
                 * this remains the case.
                 */
                cap_clear(new->cap_ambient);
        }

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 11:08:40 +01:00
Michael Kerrisk 8e821c3aa8 user_namespaces.7: Mention NS_GET_OWNER_UID ioctl() operation
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 09:22:40 +01:00
Michael Kerrisk a563b19b70 capabilities.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02 09:12:07 +01:00
Michael Kerrisk 1c6f59c276 getpid.2, pipe.2, abort.3, daemon.3, pthread_yield.3, stdio.3, sysconf.3, tty.4, shells.5, sysfs.5, fifo.7, hier.7, icmp.7, path_resolution.7, pid_namespaces.7, standards.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-26 12:38:46 +01:00
Michael Kerrisk 8466189293 fifo.7: Refer reader to pipe(7) for details of I/O semantics of FIFOs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-23 13:36:00 +01:00
Michael Kerrisk 4cee582147 socket.7: Correct the description of SO_RXQ_OVFL
Two reports that the description of SO_RXQ_OVFL was wrong.

======

Commentary from Tobias:

This bug pertains to the manpage as visible on man7.org right
now.

The socket(7) man page has this paragraph:

       SO_RXQ_OVFL (since Linux 2.6.33)
              Indicates that an unsigned 32-bit value ancillary
              message (cmsg) should be attached to received skbs
              indicating the number of packets dropped by the
              socket between the last received packet and this
              received packet.

The second half is wrong: the counter (internally,
SOCK_SKB_CB(skb)->dropcount is *not* reset after every packet.
That is, it is a proper counter, not a gauge, in monitoring
parlance.

A better version of that paragraph:

       SO_RXQ_OVFL (since Linux 2.6.33)
              Indicates that an unsigned 32-bit value ancillary
              message (cmsg) should be attached to received skbs
              indicating the number of packets dropped by the
              socket since its creation.
======
Commentary from Petr

Generic SO_RXQ_OVFL helpers sock_skb_set_dropcount() and
sock_recv_drops() implements returning of sk->sk_drops (the total
number of dropped packets), although the documentation says the
number of dropped packets since the last received one should be
returned (quoting the current socket.7):

  SO_RXQ_OVFL (since Linux 2.6.33)
  Indicates that an unsigned 32-bit value ancillary message (cmsg)
  should be attached to received skbs indicating the number of packets
  dropped by the socket between the last received packet and this
  received packet.

I assume the documentation needs to be updated, as fixing this in
the code could break programs depending on the current behavior,
although the formerly planned functionality seems to be more
useful.

The problem can be revealed with the following program:

int extract_drop(struct msghdr *msg)
{
        struct cmsghdr *cmsg;
        int rtn;

        for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg,cmsg)) {
                if (cmsg->cmsg_level == SOL_SOCKET &&
                    cmsg->cmsg_type == SO_RXQ_OVFL) {
                        memcpy(&rtn, CMSG_DATA(cmsg), sizeof rtn);
                        return rtn;
                }
        }
        return -1;
}

int main(int argc, char *argv[])
{
        struct sockaddr_in addr = { .sin_family = AF_INET };
        char msg[48*1024], cmsgbuf[256];
        struct iovec iov = { .iov_base = msg, .iov_len = sizeof msg };
        int sk1, sk2, i, one = 1;

        sk1 = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
        sk2 = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);

        inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
        addr.sin_port = htons(53333);

        bind(sk1, (struct sockaddr*)&addr, sizeof addr);
        connect(sk2, (struct sockaddr*)&addr, sizeof addr);

        // Kernel doubles this limit, but it accounts also the SKB overhead,
        // but it receives as long as there is at least 1 byte free.
        i = sizeof msg;
        setsockopt(sk1, SOL_SOCKET, SO_RCVBUF, &i, sizeof i);
        setsockopt(sk1, SOL_SOCKET, SO_RXQ_OVFL, &one, sizeof one);

        for (i = 0; i < 4; i++) {
                int rtn;

                send(sk2, msg, sizeof msg, 0);
                send(sk2, msg, sizeof msg, 0);
                send(sk2, msg, sizeof msg, 0);

                do {
                        struct msghdr msghdr = {
                                        .msg_iov = &iov, .msg_iovlen = 1,
                                        .msg_control = &cmsgbuf,
                                        .msg_controllen = sizeof cmsgbuf };
                        rtn = recvmsg(sk1, &msghdr, MSG_DONTWAIT);
                        if (rtn > 0) {
                                printf("rtn: %d drop %d\n", rtn,
                                                extract_drop(&msghdr));
                        } else {
                                printf("rtn: %d\n", rtn);
                        }
                } while (rtn > 0);
        }

        return 0;
}

which prints
  rtn: 49152 drop -1
  rtn: 49152 drop -1
  rtn: -1
  rtn: 49152 drop 1
  rtn: 49152 drop 1
  rtn: -1
  rtn: 49152 drop 2
  rtn: 49152 drop 2
  rtn: -1
  rtn: 49152 drop 3
  rtn: 49152 drop 3
  rtn: -1
although it should print (according to the documentation):
  rtn: 49152 drop 0
  rtn: 49152 drop 0
  rtn: -1
  rtn: 49152 drop 1
  rtn: 49152 drop 0
  rtn: -1
  rtn: 49152 drop 1
  rtn: 49152 drop 0
  rtn: -1
  rtn: 49152 drop 1
  rtn: 49152 drop 0
  rtn: -1

Reported-by: Petr Malat <oss@malat.biz>
Reported-by: Tobias Klausmann <klausman@schwarzvogel.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-20 13:54:28 +01:00
Michael Kerrisk 73be834acb posixoptions.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-20 10:38:10 +01:00
Michael Kerrisk f2c2c3083f user_namespaces.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-19 09:56:40 +01:00
Michael Kerrisk 2660d01041 user_namespaces.7: Restore historical details about UID maps
Christian Brauner's patch added the Linux 4.15 details,
but we need to retain the historical details.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-19 09:56:35 +01:00
Christian Brauner dc04b65274 user_namespaces.7: Document new 340 line idmap limit
This patch documents the following kernel commit:

    commit 6397fac4915ab3002dc15aae751455da1a852f25
    Author: Christian Brauner <christian.brauner@ubuntu.com>
    Date:   Wed Oct 25 00:04:41 2017 +0200

        userns: bump idmap limits to 340

Since Linux 4.15 the number of idmap lines has been bumped to 340.
The patch also removes the "(arbitrary)" in "There is an
(arbitrary) limit on the number of lines in the file." since the
340 line limit is well-explained by the current implementation.
The struct recording the idmaps is 12 bytes and quite some proc
files only allow writes the size of a single page size which is
4096kB. This leaves room for 340 idmappings (340 * 12 = 4080
bytes).  The struct layout itself has been chosen very carefully
to allow for an implementation that limits the time-complexity for
the idmap codepaths to O(log n). However, I think it's unnecessary
to expose this much implementation detail to users in the man
page. So only mention this in the commit message.  Furthermore,
the comment about the page size restriction is misleading. The
kernel sources show that >= page size is considered an error.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-19 09:46:07 +01:00
Michael Kerrisk 3cf30efce5 locale.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-09 11:38:16 +01:00
Seonghun Lim 3da5e46892 aio.7: wsfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-09 09:25:47 +01:00
Seonghun Lim f3f7957b78 aio.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-09 09:25:22 +01:00
Michael Kerrisk fd39ef0c05 capabilities.7: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-07 21:20:40 +01:00
Michael Kerrisk 68ea3ce60e capabilities.7: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-07 21:20:40 +01:00
Michael Kerrisk 6a65cff8dd capabilities.7: Add a reference to xattr(7) in the discussion of extended attributes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-07 20:55:35 +01:00
Michael Kerrisk 404fb8d3fe mq_overview.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-27 17:41:42 +02:00
G. Branden Robinson 9ab7f611ed Replace Latin abbreviation "cf.".
People seem to be using "cf." ("confere"), which means "compare",
to mean "see" instead, for which the Latin abbreviation would be
"q.v." ("quod vide" -> "which see").

In some cases "cf." might actually be the correct term but it's
still not clear what specific aspects of a function/system call
one is supposed to be comparing.

I left one use in place in hope of obtaining clarification,
because it looks like it might be useful there, if contextualized.

Migrate these uses to English and add them to the list of
abbreviations to be avoided.

If the patch to vfork(2) is not accepted, then the cf. still needs
an \& after it because it is at the end of the line but not the
end of a sentence.

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-27 17:39:33 +02:00
Michael Kerrisk 47d0313853 pid_namespaces.7: tfix + srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-23 17:43:45 +02:00
Michael Kerrisk 10bd75534e pid_namespaces.7: Document /proc/sys/kernel/ns_last_pid
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-23 17:27:58 +02:00
G. Branden Robinson e789e07cb1 man-pages.7: Add a use case for real minus character
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-23 06:44:52 +02:00
G. Branden Robinson 679f40d6a5 hier.7: tfix
Escape hyphen in man page cross reference.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-23 06:43:57 +02:00
G. Branden Robinson b3f480154d ipv6.7: tfix
Use correct indefinite article before noun beginning with vowel sound.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-23 06:43:39 +02:00
G. Branden Robinson 9b13f7700e connect.2, ioprio_set.2, dbopen.3, group.5, fifo.7: tfix
Fix nonstandard usage.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-23 06:41:59 +02:00
Michael Kerrisk 26cd31fd4a access.2, delete_module.2, eventfd.2, fallocate.2, fcntl.2, getrandom.2, init_module.2, open.2, seccomp.2, timerfd_create.2, openpty.3, pthread_spin_lock.3, shm_open.3, tempnam.3, fifo.7, keyrings.7, pid_namespaces.7, sched.7, thread-keyring.7: wfix (will fail --> fail/fails)
Reported-by: Pedro Alves <palves@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-20 16:55:10 +02:00
Michael Kerrisk a23d8efafc capget.2, fanotify_init.2, fcntl.2, ioctl_tty.2, madvise.2, mbind.2, prctl.2, sched_setaffinity.2, hash.3, isgreater.3, posix_fallocate.3, sigvec.3, full.4, sd.4, wavelan.4, core.5, host.conf.5, epoll.7, signal.7, unix.7, user_namespaces.7: wfix (will fail --> fail/fails)
Reported-by: Pedro Alves <palves@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-20 16:36:57 +02:00
Michael Kerrisk 1eef07f09a namespaces.7: Add a reference to new veth(4) page
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-20 10:22:58 +02:00
Michael Kerrisk 534af41391 pthreads.7: SEE ALSO: add pthread_spin_init(3) and pthread_spin_lock(3)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-20 10:20:48 +02:00
Michael Kerrisk 94dd730b53 namespaces.7: EXAMPLE: refer also to example in clone(2)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-18 09:33:50 +02:00
Michael Kerrisk 4f542fe3f5 netlink.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-18 09:26:12 +02:00
Michael Kerrisk 8d4b88468c man-pages.7: Note that "x86-64" is generally preferred over "x86_64"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-18 09:26:12 +02:00
Michael Kerrisk 9ea5bc667b clone.2, getcpu.2, shmget.2, syscall.2, dladdr.3, proc.5, vdso.7: Consistently use "x86-64", not "x86_64"
When referring to the architecture, consistently use "x86-64",
not "x86_64". Hitherto, there was a mixture of usages, with
"x86-64" predominant.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-18 09:26:12 +02:00
Michael Kerrisk b8dd62acb3 epoll.7: Note existence of kcmp() KCMP_EPOLL_TFD operation
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-10-09 11:45:13 +02:00
Michael Kerrisk b9bf67f47a standards.7: SEE ALSO: add getconf(1), confstr(3), pathconf(3), sysconf(3)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25 13:32:50 +02:00
Michael Kerrisk 083218c73d icmp.7: SEE ALSO: add rdisc(8)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25 13:10:52 +02:00
Michael Kerrisk eb44f02b68 hier.7: SEE ALSO: add file-hierarchy(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25 13:09:14 +02:00
Michael Kerrisk 8774257b50 capabilities.7: SEE ALSO: add captest(8)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25 13:04:30 +02:00
Michael Kerrisk 2222ef9b93 arp.7: SEE ALSO: add arpd(8)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25 11:58:32 +02:00
Michael Kerrisk d64c7be50c pid_namespaces.7: SEE ALSO: add reboot(2)
Add because reboot(2) has special semantics for non-initial
PID namespaces.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25 10:34:24 +02:00
Michael Kerrisk 997d21e192 prctl.2, hier.7: spfix: sharable-->shareable
Even in American English, it seems that "shareable"
is the more common form these days.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-22 08:44:18 +02:00
Michael Kerrisk 4b8c67d976 iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, _syscall.2, add_key.2, alloc_hugepages.2, arch_prctl.2, bpf.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, fallocate.2, fanotify_init.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_getfsmap.2, ioctl_iflags.2, ioctl_list.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, outb.2, perf_event_open.2, perfmonctl.2, personality.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, recvmmsg.2, remap_file_pages.2, rename.2, request_key.2, restart_syscall.2, rt_sigqueueinfo.2, s390_pci_mmio_write.2, s390_runtime_instr.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, sendmmsg.2, set_mempolicy.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setns.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timer_create.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, acos.3, acosh.3, adjtime.3, aio_fsync.3, aio_init.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, backtrace.3, basename.3, bindresvport.3, bsd_signal.3, bsearch.3, bswap.3, btree.3, byteorder.3, bzero.3, canonicalize_file_name.3, carg.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cfree.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, cmsg.3, confstr.3, copysign.3, cos.3, cosh.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctime.3, dbopen.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, finite.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fopen.3, fopencookie.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, frexp.3, fseek.3, fseeko.3, ftime.3, fts.3, ftw.3, futimes.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getumask.3, getutent.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, intro.3, isalpha.3, isgreater.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mtrace.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, offsetof.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_atfork.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, ptsname.3, putgrent.3, putpwent.3, qsort.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, strcasecmp.3, strcat.3, strchr.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strftime.3, strptime.3, strsignal.3, strstr.3, strtod.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, telldir.3, tempnam.3, termios.3, tgamma.3, timeradd.3, tmpnam.3, toupper.3, towlower.3, towupper.3, trunc.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, unlocked_stdio.3, updwtmp.3, uselocale.3, usleep.3, wcrtomb.3, wcsdup.3, wcsnrtombs.3, wcsrtombs.3, wcstombs.3, wctob.3, wcwidth.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console_codes.4, dsp56k.4, fuse.4, hd.4, hpsa.4, initrd.4, intro.4, loop.4, random.4, rtc.4, sd.4, sk98lin.4, st.4, wavelan.4, acct.5, core.5, elf.5, filesystems.5, host.conf.5, hosts.5, locale.5, nologin.5, proc.5, resolv.conf.5, rpc.5, slabinfo.5, utmp.5, aio.7, arp.7, bootparam.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, cpuset.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, futex.7, inode.7, inotify.7, ip.7, ipv6.7, keyrings.7, locale.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, mq_overview.7, namespaces.7, netdevice.7, netlink.7, packet.7, pipe.7, pkeys.7, pthreads.7, pty.7, raw.7, rtld-audit.7, rtnetlink.7, sched.7, session-keyring.7, signal.7, sock_diag.7, socket.7, spufs.7, suffixes.7, tcp.7, udp.7, udplite.7, unicode.7, units.7, unix.7, uri.7, user_namespaces.7, vdso.7, x25.7, xattr.7, iconvconfig.8, ld.so.8, ldconfig.8, sln.8: Update timestamps
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-15 12:44:56 +02:00
Michael Kerrisk 123d2e8890 tcp.7: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-14 14:49:24 +02:00
Michael Kerrisk 32938e1c3c tcp.7: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-14 14:49:24 +02:00
Michael Kerrisk 119ae98fdb tcp.7: Minor fix: off-by-one error in Vincent Bernat's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-14 14:45:48 +02:00
Vincent Bernat 3680bb10dc tcp.7: tcp_tw_recycle is removed from Linux 4.12
And it is completely broken.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-14 14:45:20 +02:00
Michael Kerrisk 867c918798 pthreads.7: SEE ALSO: add pthread_mutexattr_destroy(3) and pthread_mutexattr_init(3)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-13 16:47:32 +02:00
Michael Kerrisk b1ee2e42a6 keyrings.7: Minor wording improvements to Eugene's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-11 13:27:42 +02:00
Eugene Syromyatnikov ac827ed593 keyrings.7: Document description restriction for logon keys
"logon" type has additional check that enforces colon-separated
prefix in key descriptions.

* man7/keyrings.7 (.SS Key types) <.TP .IR """logon""">: Document
  restriction imposed on logon key descriptions.

Signed-off-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-11 13:22:38 +02:00
Eugene Syromyatnikov b4a164cffa unicode.7: Update pointer to in-kernel Unicode terminal support documentation
The location has been changed in Linux commit
v4.10-rc1~40^2~86^2~4.

* man7/unicode.7 (.SS Private Use Areas (PUA)): Amend pointer to
  Documentation/unicode.txt with change introduced in Linux 4.10
  (move to Documentation/admin-guide/unicode.rst).

Signed-off-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-11 13:17:05 +02:00
Eugene Syromyatnikov 8cde675d25 cpuset.7: Update pointer to in-kernel cpusets documentation
The file has been moved in Linux commit v2.6.29-rc2~47.

* man7/cpuset.7 (.SH SEE ALSO): Add information about the location
  of cpusets.txt since Linux 2.6.29.

Signed-off-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-11 13:16:43 +02:00
Eugene Syromyatnikov 96c11b3ffc initrd.4, proc.5, bootparam.7: Update pointer to in-kernel initrd documentation
Linux commit v4.10-rc1~40^2~86^2~4 moves initrd documentation from
Documentation/initrd.txt to Documentation/admin-quide/initrd.rst.

* man4/initrd.4 (.SS Changing the normal root filesystem,
  .SH SEE ALSO): Amend pointer to in-kernel initrd documentation
  with change introduced in Linux 4.10 (move to
  Documentation/admin-guide/initrd.rst).
* man5/proc.5 (.SS Files and directories)
  <.TP .I /proc/sys/kernel/real-root-dev>: Likewise.
* man7/bootparam.7 (.SS Boot arguments for ramdisk use)
  <.TP .B 'noinitrd'>: Likewise.

Signed-off-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-11 12:55:40 +02:00
Eugene Syromyatnikov db8074da7f add_key.2, request_key.2, keyrings.7: Update Linux documentation pointers
In 4.13 the release cycle, key management documentation has been
reformatted to ReStructured text and moved to a separate
"keys" directory.

Relevant kernel commits: v4.13-rc1~34^2~27, v4.13-rc1~34^2~25

* man2/add_key.2 (.SH SEE ALSO): Amend pointers to
Documentation/security/keys.txt and Documentation/keys-request-key.txt
with changes introduced in Linux 4.13 (Documentation/keys/core.rst and
Documentation/keys/request-key.rst).
* man2/request_key.2 (.SH SEE ALSO): Likewise.
* man7/keyrings.7 (.SH SEE ALSO): Likewise.

Signed-off-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-11 12:41:58 +02:00
Michael Kerrisk 6edadda685 request_key.2, statx.2, pthreads.7: Fix order of SEE ALSO entries
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-06 21:10:48 +02:00
Michael Kerrisk 3b3b8d5dcc getdents.2, ioctl_fat.2, mkdir.2, process_vm_readv.2, get_phys_pages.3, nextup.3, operator.7: srcfix: fix unbalanced .nf/.fi pairs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-06 20:43:22 +02:00
Michael Kerrisk 466d92ed3c cpuset.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-06 20:38:50 +02:00
Michael Kerrisk 61d92a911a sock_diag.7: Fix misordering of sections
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-06 18:12:23 +02:00
Eugene Syromyatnikov 04630ce71c keyrings.7: Add pointers to kernel's documentation
Mostly because of assymmetric-keys.txt, which is outside
security/keys for some reason.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-03 02:19:48 +02:00
Michael Kerrisk f05f1a0749 mdoc.samples.7: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-25 21:41:03 +02:00
Michael Kerrisk 82cc682cef mdoc.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-25 21:41:00 +02:00
Michael Kerrisk c695beb6a8 intro.7: wfix: make NAME line a bit more general
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-25 21:14:59 +02:00