Commit Graph

3898 Commits

Author SHA1 Message Date
Michael Kerrisk b5d7102ea4 ip.7: Minor edits to Stephen Smalley's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:22:55 +02:00
Stephen Smalley 755b3ecb73 ip.7: Document IP_PASSSEC for UDP sockets
Document the IP_PASSSEC socket option and SCM_SECURITY
ancillary/control message type for UDP sockets.

IP_PASSSEC for UDP sockets was introduced in Linux 2.6.17 [1].

Example NetLabel and IPSEC configurations and usage of this
option can be found in the SELinux Notebook [2] and SELinux
testsuite [3].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2c7946a7bf45ae86736ab3b43d0085e43947945c

[2] https://github.com/SELinuxProject/selinux-notebook

[3] https://github.com/SELinuxProject/selinux-testsuite

Reviewed-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:18:52 +02:00
Michael Kerrisk 29494dfeb8 ip.7, unix.7: Minor edits to Stephen Smalley's patches
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:18:46 +02:00
Michael Kerrisk 14c11c826a unix.7: srcfix: rewrap source lines in Stephen Smalley's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:18:46 +02:00
Michael Kerrisk 7e915f4c58 ip.7: srcfix: rewrap source lines in Stephen Smalley's patch
(No content changes.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:18:46 +02:00
Stephen Smalley 3c63603499 socket.7,ip.7: Document SO_PEERSEC for AF_INET sockets
Augment the description of SO_PEERSEC to cover AF_INET sockets in
addition to the prior description for AF_UNIX.

SO_PEERSEC for TCP sockets was introduced in Linux 2.6.17 [1], and
SO_PEERSEC for SCTP sockets was introduced in Linux 4.17 [2].

This does not cover usage of SCM_SECURITY for UDP sockets, which
was also introduced in the same commit for 2.6.17.

Examples of the necessary labeled IPSEC and NetLabel
configurations to enable use of SO_PEERSEC for TCP and SCTP
sockets can be found in the SELinux Notebook [3] and the
selinux-testsuite [4].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2c7946a7bf45ae86736ab3b43d0085e43947945c

[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d452930fd3b9031e59abfeddb2fa383f1403d61a

[3] https://github.com/SELinuxProject/selinux-notebook

[4] https://github.com/SELinuxProject/selinux-testsuite

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:18:46 +02:00
Stephen Smalley e6f90c3fb2 socket.7, unix.7: Add initial description for SO_PEERSEC
SO_PEERSEC was introduced for AF_UNIX stream sockets connected via
connect(2) in Linux 2.6.2 [1] and later augmented to support
AF_UNIX stream and datagram sockets created via socketpair(2) in
Linux 4.18 [2].  Document SO_PEERSEC in the socket.7 and unix.7
man pages following the example of the existing SO_PEERCRED
descriptions.  SO_PEERSEC is also supported on AF_INET sockets
when using labeled IPSEC or NetLabel but defer adding a
description of that support to a separate patch.

The module-independent description of the security context
returned by SO_PEERSEC is from Simon McVittie.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=da6e57a2e6bd7939f610d957afacaf6a131e75ed

[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0b811db2cb2aabc910e53d34ebb95a15997c33e7

Reviewed-by: Serge Hallyn <serge@hallyn.com>
Cowritten-by: Simon McVittie <smcv@collabora.com>
Signed-off-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:18:46 +02:00
Michael Kerrisk 65c0f42710 sigevent.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:07:26 +02:00
Michael Kerrisk 0b62a2e3bd sigevent.7: Note that 'sigev_notify_thread_id' is Linux-specific
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 10:02:51 +02:00
Michael Kerrisk efbe7900b9 system_data_types.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 09:59:36 +02:00
Michael Kerrisk 6b7bf192b9 system_data_types.7: Minor tweaks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-19 00:16:50 +02:00
Michael Kerrisk 126e68fb73 system_data_types.7: Defer to aio(7) for further information about 'struct aiocb'
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 23:26:29 +02:00
Alejandro Colomar def0975720 system_data_types.7: Document aiocb
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 23:25:19 +02:00
Alejandro Colomar b4a5c62b3b system_data_types.7: srcfix: cosmetic: Visually separate types
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 23:13:36 +02:00
Michael Kerrisk 66c2f0b251 system_data_types.7: Add reference to sigevent(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 23:08:28 +02:00
Alejandro Colomar bcae58d752 system_data_types.7: Document sigevent
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 23:05:49 +02:00
Alejandro Colomar 8d1c20e01e system_data_types.7: ffix
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:49:47 +02:00
Alejandro Colomar 6fdfb077b8 system_data_types.7: Document regmatch_t
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:42:50 +02:00
Alejandro Colomar f33cc31420 system_data_types.7: ffix
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:41:38 +02:00
Alejandro Colomar 924dea4c9c system_data_types.7: srcfix: Add FIXME notes
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:31:46 +02:00
Alejandro Colomar 1415a39e39 system_data_types.7: Document regoff_t
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:29:27 +02:00
Alejandro Colomar 515348d543 system_data_types.7: Document ptrdiff_t
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:19:07 +02:00
Alejandro Colomar dd06f85245 system_data_types.7: wfix: sort referenced types
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:16:09 +02:00
Alejandro Colomar b6d3f94f29 system_data_types.7: srcfix: Remove TODO comment
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:15:38 +02:00
Michael Kerrisk c72ab20dc8 system_data_types.7: Add read(2) and write(2) to "See also" for size_t
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:08:02 +02:00
Alejandro Colomar eb3f724506 system_data_types.7: Document size_t
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-18 22:06:50 +02:00
Michael Kerrisk 3006c18803 feature_test_macros.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-17 22:54:01 +02:00
Michael Kerrisk 9f2a6007d1 intro.2, intro.3, feature_test_macros.7, standards.7: SEE ALSO: add system_data_types(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-17 22:54:01 +02:00
Michael Kerrisk 866c73c89f system_data_types.7: Add SEE ALSO references to feature_test_macros(7) and standards(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-17 22:54:01 +02:00
Alejandro Colomar cb7fd5031a system_data_types.7: Add a new page to document system data types
The initial version documents sigval, ssize_t, suseconds_t,
time_t, timer_t, timespec, and timeval.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-17 22:37:57 +02:00
Michael Kerrisk 15e2ed1500 man-pages.7: Add some more requests re code examples
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-15 10:44:00 +02:00
Michael Kerrisk 6e68441741 man-pages.7: Soften the statement that ideal programs should be short
Sometimes, a longer program is needed. See
https://twitter.com/shuveb/status/1305689727715086337.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-15 10:43:20 +02:00
Michael Kerrisk 1aaa7bcd6a fanotify.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-15 07:39:27 +02:00
Alejandro Colomar 8eb90116f1 add_key.2, clock_getres.2, clone.2, futex.2, getdents.2, getpid.2, getrlimit.2, ioctl_ns.2, kcmp.2, keyctl.2, memfd_create.2, request_key.2, stat.2, timer_create.2, wait.2, clock_getcpuclockid.3, dl_iterate_phdr.3, getgrent_r.3, getpwent_r.3, getpwnam.3, posix_spawn.3, pthread_getcpuclockid.3, strcat.3, feature_test_macros.7, user_namespaces.7: Switch printf() casts to use [u]intmax_t + %ju / %jd
Let's move to the 21st century. Instead of casting system data
types to long/long long/etc. in printf() calls, instead cast to
intmax_t or uintmax_t, the largest available signed/unsigned
integer types.

[mtk: rewrote commit message]

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-15 07:39:19 +02:00
Alejandro Colomar adb2084109 rtld-audit.7: Use "%u" rather than "%d" when printing 'unsigned int' values
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-13 08:07:05 +02:00
Alejandro Colomar dc97703b4a eventfd.2, mprotect.2, pidfd_open.2, spu_run.2, timer_create.2, bswap.3, dl_iterate_phdr.3, endian.3, pthread_attr_init.3, pthread_getattr_np.3, vcs.4, rtld-audit.7: In printf(): s/0x%/%#/ except when followed by X instead of x
Use printf()'s '#' flag character to prepend the string "0x".

However, when the number is printed in uppercase, and the prefix
is in lowercase, the string "0x" needs to be manually written.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-12 08:38:20 +02:00
Alejandro Colomar ae85f653e4 msgctl.2, outb.2, abs.3, dl_iterate_phdr.3, drand48.3, drand48_r.3, encrypt.3, ffs.3, lrint.3, lround.3, ntp_gettime.3, printf.3, random.3, scalbln.3, scanf.3, strtol.3, strtoul.3, utmp.5, feature_test_macros.7, rtld-audit.7: Omit 'int' keyword for 'short', 'long' and 'long long' types, both signed and 'unsigned'
For consistency.

The types are written both with and without the redundant 'int' keyword
all over the man-pages.  However, the most used form, by far, is the one
without 'int'.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-12 08:37:41 +02:00
Alejandro Colomar b9bf902972 unix.7: Use sizeof() to get buffer size (instead of hardcoding macro name)
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-11 11:33:28 +02:00
Alejandro Colomar b8c40f8946 aio.7: Use perror() directly
Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-11 08:42:46 +02:00
Michael Kerrisk 288d42bc37 rtnetlink.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-11 07:42:55 +02:00
Michael Kerrisk 50dc2db4eb rtnetlink.7: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-11 07:32:56 +02:00
Michael Kerrisk 1bad27850d rtnetlink.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-11 07:31:50 +02:00
Michael Kerrisk a6c679521b locale.7: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-11 07:24:36 +02:00
Michael Kerrisk f9a5e57925 pthreads.7: Explicitly note that pthreads APIs return an errno-style value on error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-07 11:11:30 +02:00
Alejandro Colomar dc0bba35e7 user_namespaces.7: Remove unneeded cast
Casting `void *` to `struct child_args *` is already done implicitly.
Explicitly casting can silence warnings when mistakes are made, so it's
better to remove those casts when possible.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-06 14:58:13 +02:00
Alejandro Colomar 44ab56cd6e sock_diag.7: Remove unneeded casts
The type `struct sockaddr_nl *` is implicitly casted to `void *`.
Explicitly casting can silence warnings when mistakes are made, so it's
better to remove those casts when possible.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-06 14:57:29 +02:00
Alejandro Colomar 209e118e30 fanotify.7: Pass array to read(2) directly instead of a pointer to it
It doesn't make any sense to pass a pointer to the array to
read(2).

It might make sense to pass a pointer to the first element of the
array, but that is already implicitly done when passing the array,
which decays to that pointer, so it's simpler to pass the array.

And anyway, the cast was unneeded, as any pointer is implicitly
cast to `void *`.

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-05 17:43:55 +02:00
Michael Kerrisk 88893a773c sprof.1, eventfd.2, execve.2, futex.2, getdents.2, mprotect.2, open_by_handle_at.2, recvmmsg.2, sched_setaffinity.2, CPU_SET.3, backtrace.3, bsearch.3, dl_iterate_phdr.3, dlinfo.3, duplocale.3, encrypt.3, envz_add.3, fopencookie.3, getaddrinfo.3, getaddrinfo_a.3, getdate.3, getgrent_r.3, getgrouplist.3, getifaddrs.3, getprotoent_r.3, getservent_r.3, hsearch.3, mallinfo.3, malloc_info.3, mbstowcs.3, mtrace.3, pthread_create.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, qsort.3, rand.3, strcat.3, strtok.3, tsearch.3, wordexp.3, core.5, aio.7, inotify.7, sock_diag.7, unix.7, user_namespaces.7: Use C99 style to declare loop counter variables
Rather than:

    sometype x;

    for (x = ....; ...)

use

    for (sometype x = ...; ...)

This brings the declaration and use closer together (thus aiding
readability) and also clearly indicates the scope of the loop
counter variable.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-05 17:20:12 +02:00
Michael Kerrisk 48d0510307 getgrouplist.3, insque.3, malloc_info.3, pthread_create.3, tsearch.3, aio.7: Use C99-style declarations for readability
Rather than writing things such as:

    struct sometype *x;
    ...
    x = malloc(sizeof(*x));

let's use C99 style so that the type info is in the same line as
the allocation:

    struct sometype *x = malloc(sizeof(*x));

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-05 16:34:34 +02:00
Alejandro Colomar a899cafef4 aio.7: Use sizeof consistently
Use ``sizeof`` consistently through all the examples in the following
way:

- Use the name of the variable instead of its type as argument for
  ``sizeof``.

	Rationale:
	https://www.kernel.org/doc/html/v5.8/process/coding-style.html#allocating-memory

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-09-05 14:49:42 +02:00