]> git.ipfire.org Git - thirdparty/man-pages.git/log
thirdparty/man-pages.git
5 years agoMerge branch 'master' of ra.kernel.org:/pub/scm/docs/man-pages/man-pages
Michael Kerrisk [Wed, 9 Jan 2019 18:01:44 +0000 (07:01 +1300)] 
Merge branch 'master' of ra.kernel.org:/pub/scm/docs/man-pages/man-pages

5 years agoerrno.3: Mention that errno(1) is part of the 'moreutils' package
Michael Kerrisk [Sat, 5 Jan 2019 20:21:02 +0000 (21:21 +0100)] 
errno.3: Mention that errno(1) is part of the 'moreutils' package

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoopen.2: Minor fixes to Eugene's patch
Michael Kerrisk [Wed, 9 Jan 2019 17:38:52 +0000 (06:38 +1300)] 
open.2: Minor fixes to Eugene's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoopen.2: Mention presence of unused O_RSYNC definition
Eugene Syromiatnikov [Fri, 4 Jan 2019 17:24:33 +0000 (18:24 +0100)] 
open.2: Mention presence of unused O_RSYNC definition

O_RSYNC is defined in <asm/fcntl.h> on HP PA-RISC, but is not
used anyway.

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoopen.2: tfix
Michael Kerrisk [Wed, 9 Jan 2019 17:34:38 +0000 (06:34 +1300)] 
open.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoopen.2: Minor fixes to Eugene's patch
Michael Kerrisk [Wed, 9 Jan 2019 17:32:39 +0000 (06:32 +1300)] 
open.2: Minor fixes to Eugene's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoopen.2: Document FASYNC usage in Linux UAPI headers
Eugene Syromiatnikov [Fri, 4 Jan 2019 17:24:29 +0000 (18:24 +0100)] 
open.2: Document FASYNC usage in Linux UAPI headers

Linux's <asm/fcntl.h> defines FASYNC instead of O_ASYNC; document
this peculiarity.

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agorename.2: tfix
Michael Kerrisk [Wed, 9 Jan 2019 17:25:18 +0000 (06:25 +1300)] 
rename.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agorename.2: Some additional notes regarding RENAME_WHITEOUT
Eugene Syromiatnikov [Fri, 4 Jan 2019 15:35:45 +0000 (16:35 +0100)] 
rename.2: Some additional notes regarding RENAME_WHITEOUT

Add a note regarding other implementations of whiteout inodes
and update filesystem support information.

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetgid.2, getpid.2, getuid.2, pipe.2: Remove mention of other syscalls that use secon...
Michael Kerrisk [Wed, 9 Jan 2019 17:21:17 +0000 (06:21 +1300)] 
getgid.2, getpid.2, getuid.2, pipe.2: Remove mention of other syscalls that use second retval register

This information is already summarized in syscall(2), so there's
no need to repeat it in each page.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: tfix
Michael Kerrisk [Wed, 9 Jan 2019 17:16:24 +0000 (06:16 +1300)] 
syscall.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: tfix
Michael Kerrisk [Wed, 9 Jan 2019 17:09:01 +0000 (06:09 +1300)] 
syscall.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: ffix
Michael Kerrisk [Wed, 9 Jan 2019 17:08:08 +0000 (06:08 +1300)] 
syscall.2: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: Rework table to render within 80 columns
Michael Kerrisk [Wed, 9 Jan 2019 17:06:20 +0000 (06:06 +1300)] 
syscall.2: Rework table to render within 80 columns

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetgid.2, getpid.2, getuid.2, pipe.2, syscall.2: Minor tweaks to Eugene's patch
Michael Kerrisk [Wed, 9 Jan 2019 06:10:30 +0000 (19:10 +1300)] 
getgid.2, getpid.2, getuid.2, pipe.2, syscall.2: Minor tweaks to Eugene's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetgid.2, getpid.2, getuid.2, pipe.2, syscall.2: Describe 2nd return value peculiarity
Eugene Syromiatnikov [Fri, 4 Jan 2019 15:08:06 +0000 (16:08 +0100)] 
getgid.2, getpid.2, getuid.2, pipe.2, syscall.2: Describe 2nd return value peculiarity

Some architectures (ab)use second return value register for additional
return value in some system calls. Let's describe this.

Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: ffix
Eugene Syromiatnikov [Fri, 4 Jan 2019 15:10:11 +0000 (16:10 +0100)] 
syscall.2: ffix

Add missing .RE.

Fixes: 2ad7b4c46c0a92ae ("syscall.2: Elaborate x32 ABI specifics")
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoerrno.3: Mention that errno(1) is part of the 'moreutils' package
Michael Kerrisk [Sat, 5 Jan 2019 20:21:02 +0000 (21:21 +0100)] 
errno.3: Mention that errno(1) is part of the 'moreutils' package

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agounix.7: wfix
Michael Kerrisk [Sun, 23 Dec 2018 18:02:41 +0000 (19:02 +0100)] 
unix.7: wfix

Reported-by: Felipe Gasper <felipe@felipegasper.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agounix.7: Clarify that SO_PASSCRED behavior
Michael Kerrisk [Sun, 23 Dec 2018 17:55:33 +0000 (18:55 +0100)] 
unix.7: Clarify that SO_PASSCRED behavior

Clarify that SO_PASSCRED results in SCM_CREDENTIALS data in each
subsequently received message.

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

Reported-by: Felipe Gasper <felipe@felipegasper.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agounix.7: Rework SO_PEERCRED text for greater clarity
Michael Kerrisk [Sun, 23 Dec 2018 17:24:06 +0000 (18:24 +0100)] 
unix.7: Rework SO_PEERCRED text for greater clarity

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agounix.7: Explicitly note that SO_PASSCRED provides SCM_CREDENTIALS messages
Michael Kerrisk [Sun, 23 Dec 2018 17:17:06 +0000 (18:17 +0100)] 
unix.7: Explicitly note that SO_PASSCRED provides SCM_CREDENTIALS messages

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agounix.7: wfix
Michael Kerrisk [Sun, 23 Dec 2018 17:11:54 +0000 (18:11 +0100)] 
unix.7: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agounix.7: Improve wording describing socket option argument/return values
Michael Kerrisk [Sun, 23 Dec 2018 17:10:25 +0000 (18:10 +0100)] 
unix.7: Improve wording describing socket option argument/return values

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoselect.2: wfix
Michael Kerrisk [Sun, 23 Dec 2018 17:01:19 +0000 (18:01 +0100)] 
select.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agowrite.2: RETURN VALUE: clarify details of partial write and
Michael Kerrisk [Sun, 23 Dec 2018 16:50:02 +0000 (17:50 +0100)] 
write.2: RETURN VALUE: clarify details of partial write and

As reported by Nadav Har'El in
https://bugzilla.kernel.org/show_bug.cgi?id=197961

    The write(2) manual page has this paragraph:

    "On  success,  the  number  of bytes written is returned
    (zero indicates nothing was written).  It is not an error
    if  this  number  is  smaller than the number of bytes
    requested; this may happen for example because the disk
    device was filled.  See also NOTES."

    I find a few problems with this paragraph:

    1. It's not clear what "See also NOTES." refers to (does it
       refer to anything?). What in the NOTES is relevant here?

    2. The paragraph seems to suggest that write(2) of a
       non-empty buffer may sometimes return even 0 in case of an
       error like the device being filled. I think this is wrong
       - if there was an error after already writing some number
       of bytes, this non-zero number is returned. But if there's
       an error before writing any bytes, -1 will be returned
       (and the error reason in errno) - 0 will not be returned
       unless the given count is 0 (that case is explained in the
       following paragraph).

    3. The paragraph doesn't explain what a user should do
       after a short write (i.e., write(2) returning less than
       count). How would the user know why there was an error, or
       if there even was one? I think users should be told what
       to do next because this information is part of how to use
       this API correctly. I think users should be told to retry
       the rest of the write (i.e., write(fd, buf+ret, count-ret)
       and this will either succeed in writing some more data if
       the error reason was solved, or the second write will
       return -1 and the error reason in errno.

Reported-by: Nadav Har'El <nyh@math.technion.ac.il>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetxattr.2, removexattr.2, setxattr.2: ERRORS: replace ENOATTR with ENODATA
Michael Kerrisk [Sun, 23 Dec 2018 16:36:18 +0000 (17:36 +0100)] 
getxattr.2, removexattr.2, setxattr.2: ERRORS: replace ENOATTR with ENODATA

ENOATTR is not a standard error code, but rather one that is
defined in 'libattr' as a synonym for ENODATA. The manual pages
should use the error code actually returned by the kernel APIs.

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

Reported-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Reviewed-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agonamespaces.7: tfix
Radostin Stoyanov [Tue, 18 Dec 2018 14:32:10 +0000 (14:32 +0000)] 
namespaces.7: tfix

Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agomount.2: wfix (clarify effect of unbindable propagation type)
Michael Kerrisk [Fri, 14 Dec 2018 10:35:40 +0000 (11:35 +0100)] 
mount.2: wfix (clarify effect of unbindable propagation type)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: Refer to mount(2) for explanation of mount vs superblock options
Michael Kerrisk [Fri, 14 Dec 2018 08:11:29 +0000 (09:11 +0100)] 
proc.5: Refer to mount(2) for explanation of mount vs superblock options

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: Fix wrong retval register number in alpha architecture
snyh [Sat, 8 Dec 2018 13:44:15 +0000 (14:44 +0100)] 
syscall.2: Fix wrong retval register number in alpha architecture

alpha use v0 e.g. $0 as the return value register both in
syscall ABI and C ABI.

see also
https://github.com/torvalds/linux/blob/master/arch/alpha/kernel/entry.S#L479

The normal Alpha C ABI use a0~a5 to pass arguments and use v0 as
the return value register. See here
https://www2.cs.arizona.edu/projects/alto/Doc/local/alpha.register.html

The syscall ABI use v0 as the trap number, a0~a5 to pass arguments
and use a3 as a indicator (bool type) whether has a error occurred.

We can also see the libc's syscall wrapper implements at
https://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/alpha/syscall.S.html
The v0 is the normal used as return register, and we can see the
return processing doesn't do anything about a0 which is the wrong
register of currently syscall(2) description.

p.s. I found this wrong description because I'm porting Go gc to
a new CPU architecture which is similar to Alpha, And I use the
wrong register at first, then I have inspect the kernel code and
objdump to ensure the right syscall ABI.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoperf_event_open.2: Fix wording in multiplexing description
Vince Weaver [Mon, 3 Dec 2018 20:23:42 +0000 (15:23 -0500)] 
perf_event_open.2: Fix wording in multiplexing description

Back in 2014 (37bee118ad692e120559c71bc2b2428d31637c5e) the text
describing when multiplexing happens was changed in a confusing way.
This is an attempt to clarify things a bit.

Signed-off-by: Vince Weaver <vincent.weaver@maine.edu>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agomadvise.2: Minor tweaks to Michal Hocko's patch
Michael Kerrisk [Sat, 1 Dec 2018 08:53:19 +0000 (09:53 +0100)] 
madvise.2: Minor tweaks to Michal Hocko's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agomadvise.2: MADV_FREE clarify swapless behavior
Michal Hocko [Thu, 29 Nov 2018 18:10:48 +0000 (19:10 +0100)] 
madvise.2: MADV_FREE clarify swapless behavior

Since 93e06c7a6453 ("mm: enable MADV_FREE for swapless system") we
handle MADV_FREE on a swapless system the same way as with the
swap available. Clarify that fact in the man page.

Reported-by: Niklas Hambüchen <mail@nh2.me>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agotcp.7: wfix
Konst Mayer [Fri, 30 Nov 2018 10:05:23 +0000 (17:05 +0700)] 
tcp.7: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoaccept.2, copy_file_range.2, eventfd.2, inotify_init.2, pipe.2, readahead.2, signalfd...
Michael Kerrisk [Sat, 1 Dec 2018 08:42:01 +0000 (09:42 +0100)] 
accept.2, copy_file_range.2, eventfd.2, inotify_init.2, pipe.2, readahead.2, signalfd.2, socket.2, timerfd_create.2: Clarify the distinction between "file descriptor" and "file description"

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoeventfd.2: Move text noting that eventfd() creates a FD earlier in the page
Michael Kerrisk [Sat, 1 Dec 2018 08:30:07 +0000 (09:30 +0100)] 
eventfd.2: Move text noting that eventfd() creates a FD earlier in the page

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoclone.2: srcfix
Michael Kerrisk [Sat, 1 Dec 2018 08:21:05 +0000 (09:21 +0100)] 
clone.2: srcfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoioctl_console.2, ctime.3: tfix
Michael Kerrisk [Tue, 27 Nov 2018 17:26:19 +0000 (18:26 +0100)] 
ioctl_console.2, ctime.3: tfix

Reported-by: Anatoly Borodin <anatoly.borodin@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoptrace.2: Do not say that PTRACE_O_TRACESYSGOOD may not work
Dmitry V. Levin [Mon, 26 Nov 2018 21:18:47 +0000 (00:18 +0300)] 
ptrace.2: Do not say that PTRACE_O_TRACESYSGOOD may not work

Remove the old statement that PTRACE_O_TRACESYSGOOD may not work
on all architectures.  As far as I can tell, all kernel code
properly tests PT_TRACESYSGOOD flag and sets the 7th bit in the
exit code passed to ptrace_notify().

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: wfix
Michael Kerrisk [Sat, 24 Nov 2018 19:54:48 +0000 (20:54 +0100)] 
prctl.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: Explain the circumstances in which the parent-death signal is sent
Michael Kerrisk [Sat, 24 Nov 2018 11:48:35 +0000 (12:48 +0100)] 
prctl.2: Explain the circumstances in which the parent-death signal is sent

To test the behavior documented by this patch, the following
demos employ the program shown at the foot of this commit message.

First, show that the pdeath signal is sent when the parent
terminates:

$ ./pdeath_signal 0 10 4
Parent (18595) about to sleep for 4 seconds
Child about to set PR_SET_PDEATHSIG
Child about to sleep
Parent (18595) terminating
*********** Child (18596) got signal; si_pid = 18595; si_uid = 1000
            Parent PID is now 1403
$ Child about to exit

But the signal is not sent if the parent terminates before the
child uses PR_SET_PDEATHSIG:

$ ./pdeath_signal 2 10  0
Parent (18707) about to sleep for 0 seconds
Parent (18707) terminating
Child about to sleep 2 seconds before setting PR_SET_PDEATHSIG
$ Child about to set PR_SET_PDEATHSIG
Child about to sleep
Child about to exit

Demonstrate that the pdeath signal is sent on termination of each
ancestor subreaper process:

$ ./pdeath_signal 2 10 3 7 6 5
18786 marked itself as a subreaper
18786 subreaper about to sleep 7 seconds
18787 marked itself as a subreaper
18787 subreaper about to sleep 6 seconds
18788 marked itself as a subreaper
18788 subreaper about to sleep 5 seconds
Parent (18789) about to sleep for 3 seconds
Child about to sleep 2 seconds before setting PR_SET_PDEATHSIG
Child about to set PR_SET_PDEATHSIG
Child about to sleep
Parent (18789) terminating
*********** Child (18790) got signal; si_pid = 18789; si_uid = 1000
            Parent PID is now 18788
18788 subreaper about to terminate
*********** Child (18790) got signal; si_pid = 18788; si_uid = 1000
            Parent PID is now 18787
18787 subreaper about to terminate
*********** Child (18790) got signal; si_pid = 18787; si_uid = 1000
            Parent PID is now 18786
18786 subreaper about to terminate
*********** Child (18790) got signal; si_pid = 18786; si_uid = 1000
            Parent PID is now 1403
$ Child about to exit

But in the case where some subreapers terminate before they
have a chance to adopt the child, the terminations of those
subreapers do not result in a signal for the child:

$ ./pdeath_signal 2 10 3 5 6 7
18836 marked itself as a subreaper
18836 subreaper about to sleep 5 seconds
18837 marked itself as a subreaper
18837 subreaper about to sleep 6 seconds
18838 marked itself as a subreaper
18838 subreaper about to sleep 7 seconds
Parent (18839) about to sleep for 3 seconds
Child about to sleep 2 seconds before setting PR_SET_PDEATHSIG
Child about to set PR_SET_PDEATHSIG
Child about to sleep
Parent (18839) terminating
*********** Child (18840) got signal; si_pid = 18839; si_uid = 1000
            Parent PID is now 18838
18836 subreaper about to terminate
$ 18837 subreaper about to terminate
18838 subreaper about to terminate
*********** Child (18840) got signal; si_pid = 18838; si_uid = 1000
            Parent PID is now 1403
Child about to exit

============================

/* pdeath_signal.c */

                        } while (0)

static void
handler(int sig, siginfo_t *si, void *ucontext)
{
    printf("*********** Child (%ld) got signal; si_pid = %d; si_uid = %d\n",
            (long) getpid(), si->si_pid, si->si_uid);
    printf("            Parent PID is now %ld\n", (long) getppid());
}

int
main(int argc, char *argv[])
{
    struct sigaction sa;
    int childPreSleep, childPostSleep, parentSleep;

    if (argc < 2) {
        fprintf(stderr, "Usage: %s child-pre-sleep "
                "[child-post-sleep [parent-sleep [subreaper-sleep...]]]\n",
                argv[0]);
        exit(EXIT_FAILURE);
    }

    childPreSleep = atoi(argv[1]);
    if (argc > 2)
        childPostSleep = atoi(argv[2]);
    if (argc > 3)
        parentSleep = atoi(argv[3]);

    /* Optionally create a series of subreapers */

    if (argc > 4) {
        for (int sr = 4; sr < argc; sr++) {
            if (prctl(PR_SET_CHILD_SUBREAPER, 1) == -1)
                errExit("prctl");
            printf("%ld marked itself as a subreaper\n", (long) getpid());
            switch (fork()) {
            case -1:
                errExit("fork");
            case 0:
                break;
            default:
                printf("%ld subreaper about to sleep %s seconds\n",
                        (long) getpid(), argv[sr]);
                sleep(atoi(argv[sr]));
                printf("%ld subreaper about to terminate\n", (long) getpid());
                exit(EXIT_SUCCESS);
            }
        }
    }

    switch (fork()) {
    case -1:
        errExit("fork");

    case 0:
        sa.sa_flags = SA_SIGINFO;
        sigemptyset(&sa.sa_mask);
        sa.sa_sigaction = handler;
        if (sigaction(SIGUSR1, &sa, NULL) == -1)
            errExit("sigaction");

        if (childPreSleep > 0) {
            printf("Child about to sleep %d seconds before setting "
                    "PR_SET_PDEATHSIG\n", childPreSleep);
            sleep(childPreSleep);
        }

        printf("Child about to set PR_SET_PDEATHSIG\n");
        if (prctl(PR_SET_PDEATHSIG, SIGUSR1) == -1)
            errExit("prctl");

        printf("Child about to sleep\n");
        for (int j = 0; j < childPostSleep; j++)
            sleep(1);

        printf("Child about to exit\n");
        exit(EXIT_SUCCESS);

    default:
        printf("Parent (%ld) about to sleep for %d seconds\n",
                (long) getpid(), parentSleep);
        sleep(parentSleep);
        printf("Parent (%ld) terminating\n", (long) getpid());
        exit(EXIT_SUCCESS);
    }
}

Reported-by: Jann Horn <jann@thejh.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: tfix
Michael Kerrisk [Sat, 24 Nov 2018 11:44:27 +0000 (12:44 +0100)] 
prctl.2: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: wfix
Michael Kerrisk [Sat, 24 Nov 2018 10:25:28 +0000 (11:25 +0100)] 
prctl.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: ffix
Michael Kerrisk [Sat, 24 Nov 2018 10:23:51 +0000 (11:23 +0100)] 
prctl.2: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: wfix
Michael Kerrisk [Sat, 24 Nov 2018 10:22:47 +0000 (11:22 +0100)] 
prctl.2: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: Add additional info on PR_SET_PDEATHSIG
Michael Kerrisk [Sat, 24 Nov 2018 09:56:25 +0000 (10:56 +0100)] 
prctl.2: Add additional info on PR_SET_PDEATHSIG

The signal is process directed and the siginfo_t->si_pid
filed contains the PID of the terminating parent.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: Rework the PR_SET_PDEATHSIG description a little, for easier readability
Michael Kerrisk [Sat, 24 Nov 2018 09:47:21 +0000 (10:47 +0100)] 
prctl.2: Rework the PR_SET_PDEATHSIG description a little, for easier readability

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: ffix
Michael Kerrisk [Sat, 24 Nov 2018 09:38:07 +0000 (10:38 +0100)] 
prctl.2: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoptrace.2: BUGS: ptrace() may set errno to zero
Jann Horn [Fri, 22 Jun 2018 15:44:41 +0000 (17:44 +0200)] 
ptrace.2: BUGS: ptrace() may set errno to zero

ptrace() with requests PTRACE_PEEKTEXT, PTRACE_PEEKDATA and
PTRACE_PEEKUSER can set errno to zero. AFAICS this is for a good
reason (so that you can tell the difference between a successful
PEEK with a result of -1 and a failed PEEK, even if you forget to
clear errno yourself), but it technically violates the rules
described in the errno.3 manpage.

glibc snippet from sysdeps/unix/sysv/linux/ptrace.c:

  res = INLINE_SYSCALL (ptrace, 4, request, pid, addr, data);
  if (res >= 0 && request > 0 && request < 4)
    {
      __set_errno (0);
      return ret;
    }

reproducer:

$ cat ptrace_test.c
char foobar_data[4] = "ABCD";
int main(void) {
  pid_t child = fork();
  if (child == -1) err(1, "fork");
  if (child == 0) {
    if (prctl(PR_SET_PDEATHSIG, SIGKILL)) err(1, "prctl");
    while (1) sleep(1);
  }
  int status;
  if (ptrace(PTRACE_ATTACH, child, NULL, NULL)) err(1, "attach");
  if (waitpid(child, &status, 0) != child) err(1, "wait");
  errno = EINVAL;
  unsigned int res = ptrace(PTRACE_PEEKDATA, child, foobar_data, NULL);
  printf("errno after PEEKDATA: %d\n", errno);
  printf("PEEKDATA result: 0x%x\n", res);
}
$ gcc -o ptrace_test ptrace_test.c -Wall
$ ./ptrace_test
errno after PEEKDATA: 0
PEEKDATA result: 0x44434241

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoclone.2: Pending CLONE_NEWPID prevents thread creation
Jann Horn [Fri, 22 Jun 2018 15:14:41 +0000 (17:14 +0200)] 
clone.2: Pending CLONE_NEWPID prevents thread creation

See copy_process() in kernel/fork.c:

if (clone_flags & CLONE_THREAD) {
if ((clone_flags & (CLONE_NEWUSER | CLONE_NEWPID)) ||
    (task_active_pid_ns(current) !=
current->nsproxy->pid_ns_for_children))
return ERR_PTR(-EINVAL);
}

current->nsproxy->pid_ns_for_children is where unshare(CLONE_NEWPID)
stashes the pending namespace.

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agofanotify.7: wfix
Anthony Iliopoulos [Tue, 20 Nov 2018 16:54:31 +0000 (17:54 +0100)] 
fanotify.7: wfix

Use "FAN_OPEN_PERM" consistently rather than "FAN_PERM_OPEN".

Signed-off-by: Anthony Iliopoulos <ailiopoulos@suse.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosystem.3: Note that system() can fail for the same reasons as fork(2)
Michael Kerrisk [Sat, 24 Nov 2018 07:02:01 +0000 (08:02 +0100)] 
system.3: Note that system() can fail for the same reasons as fork(2)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosystem.3: ffix
Michael Kerrisk [Sat, 24 Nov 2018 07:00:34 +0000 (08:00 +0100)] 
system.3: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosystem.3: Mention that 'errno' is set on error
Arkadiusz Drabczyk [Tue, 18 Sep 2018 21:59:17 +0000 (23:59 +0200)] 
system.3: Mention that 'errno' is set on error

Corresponding system.3p already mentions that.
Tested with glibc and musl.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: Minor clean-ups for Alan Jenkins' patch
Michael Kerrisk [Tue, 20 Nov 2018 13:35:49 +0000 (14:35 +0100)] 
proc.5: Minor clean-ups for Alan Jenkins' patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: wfix
Michael Kerrisk [Tue, 20 Nov 2018 13:32:42 +0000 (14:32 +0100)] 
proc.5: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: Vmalloc information is no longer calculated (Linux 4.4)
Alan Jenkins [Mon, 19 Nov 2018 14:31:31 +0000 (14:31 +0000)] 
proc.5: Vmalloc information is no longer calculated (Linux 4.4)

See Linux commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0,
"mm: get rid of 'vmalloc_info' from /proc/meminfo".

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agopid_namespaces.7: Clarify the semantics for the adoption of orphaned processes
Michael Kerrisk [Mon, 19 Nov 2018 15:23:28 +0000 (16:23 +0100)] 
pid_namespaces.7: Clarify the semantics for the adoption of orphaned processes

Because of setns() semantics, the parent of a process may reside
in the outer PID namespace. If that parent terminates, then the
child is adopted by the "init" in the outer PID namespace (rather
than the "init" of the PID namespace of the child).

Thus, in a scenario such as the following, if process M
terminates, P is adopted by the init process in the initial
PID namespace, and if P terminates, Q is adopted by the init
process in the inner PID namespace.

    +---------------------------------------------+
    | Initial PID NS                              |
    |                           +---------------+ |
    |  +-+                      | inner PID NS  | |
    |  |1|                      |               | |
    |  +-+                      |    +-+        | |
    |                           |    |1|        | |
    |                           |    +-+        | |
    |                           |               | |
    |  +-+   setns(), fork()    |    +-+        | |
    |  |M|----------------------+--> |P|        | |
    |  +-+                      |    +-+        | |
    |                           |     | fork()  | |
    |                           |     v         | |
    |                           |    +-+        | |
    |                           |    |Q|        | |
    |                           |    +-+        | |
    |                           +---------------+ |
    +---------------------------------------------+

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoclone.2, prctl.2, st.4, proc.5: Change references to '2.6.0-test*' series kernels...
Michael Kerrisk [Mon, 19 Nov 2018 12:06:53 +0000 (13:06 +0100)] 
clone.2, prctl.2, st.4, proc.5: Change references to '2.6.0-test*' series kernels to just '2.6.0'

The extra detail has little of noting with -test 2.6.0
added a particular feature has little value these days,
and is likely to confuse some readers who don't know
(and probably don't care) about the historical details.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetgroups.2: Note that a process can drop all groups with: setgroups(0, NULL)
Michael Kerrisk [Mon, 19 Nov 2018 11:34:36 +0000 (12:34 +0100)] 
getgroups.2: Note that a process can drop all groups with: setgroups(0, NULL)

Checking the FreeBSD source code, there's explicit support for
this to accommodate non-BSD systems (such as Linux).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: Unify signal lists into a signal table that embeds standards info
Michael Kerrisk [Sat, 17 Nov 2018 09:10:30 +0000 (10:10 +0100)] 
signal.7: Unify signal lists into a signal table that embeds standards info

Having the signals listed in three different tables reduces
readability, and would require more table splits if future
standards specify other signals.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: Insert standards info into tables
Michael Kerrisk [Sat, 17 Nov 2018 08:58:37 +0000 (09:58 +0100)] 
signal.7: Insert standards info into tables

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: Place signal numbers in a separate table
Michael Kerrisk [Sat, 17 Nov 2018 08:29:46 +0000 (09:29 +0100)] 
signal.7: Place signal numbers in a separate table

The current tables of signal information are unwieldy,
as they try to cram in too much information.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: ffix
Michael Kerrisk [Sat, 17 Nov 2018 07:59:02 +0000 (08:59 +0100)] 
signal.7: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agofutex.2: Make the example use C11 atomics rather than GCC builtins
Benjamin Peterson [Wed, 14 Nov 2018 06:53:41 +0000 (22:53 -0800)] 
futex.2: Make the example use C11 atomics rather than GCC builtins

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agogetaddrinfo.3: Fix off-by-one error in example client program
Michael Kerrisk [Sat, 17 Nov 2018 07:11:07 +0000 (08:11 +0100)] 
getaddrinfo.3: Fix off-by-one error in example client program

Reported-by: Eric Sanchis <eric.sanchis@iut-rodez.fr>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agopthread_rwlockattr_setkind_np.3: tfix
Michael Kerrisk [Sat, 17 Nov 2018 06:41:18 +0000 (07:41 +0100)] 
pthread_rwlockattr_setkind_np.3: tfix

Reported-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agopthread_rwlockattr_setkind_np.3: Remove bug notes
Carlos O'Donell [Thu, 15 Nov 2018 15:03:41 +0000 (10:03 -0500)] 
pthread_rwlockattr_setkind_np.3: Remove bug notes

The notes in pthread_rwlockattr_setkind_np.3 imply there is a bug
in glibc's implementation of PTHREAD_RWLOCK_PREFER_WRITER_NP (a
non-portable constant anyway), but this is not true. The
implementation of PTHREAD_RWLOCK_PREFER_WRITER_NP is made almost
impossible by the POSIX standard requirement that reader locks be
allowed to be recursive, and that requirement makes writer
preference deadlock without an impossibly complex requirement that
we track all reader locks. Therefore the only sensible solution
was to add PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP and
disallow recursive reader locks if you want writer preference.

This patch removes the bug description and documents the current
state and recommendations for glibc. I have also updated bug 7057
with this information, answering Steven Munroe's almost 10 year
old question :-) I hope Steven is enjoying his much earned
retirement.

Should we move the glibc discussion to some footnote? Some libc
may be able to implement the requirement to avoid deadlocks in the
future, but I doubt it (fundamental CS stuff).

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoioctl_userfaultfd.2, madvise.2, memfd_create.2, migrate_pages.2, mmap.2, shmget.2...
Mike Rapoport [Fri, 16 Nov 2018 21:14:56 +0000 (13:14 -0800)] 
ioctl_userfaultfd.2, madvise.2, memfd_create.2, migrate_pages.2, mmap.2, shmget.2, subpage_prot.2, userfaultfd.2, malloc.3, proc.5, sysfs.5, tmpfs.5: Update paths for in-kernel memory management documentation files

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agocapabilities.7: Update URL for libcap tarballs
Michael Kerrisk [Sat, 17 Nov 2018 06:03:07 +0000 (07:03 +0100)] 
capabilities.7: Update URL for libcap tarballs

The previous location does not seem to be getting updated.
(For example, at the time of this commit, libcap-2.26
had been out for two months, but was not present at
http://www.kernel.org/pub/linux/libs/security/linux-privs.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: Note libcap(3) APIs for operating on ambient capability set
Michael Kerrisk [Fri, 16 Nov 2018 20:45:10 +0000 (21:45 +0100)] 
prctl.2: Note libcap(3) APIs for operating on ambient capability set

(However, the libcap APIs do not yet seem to have
manual pages...)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoprctl.2: Mention libcap APIs for operating on capability bounding set
Michael Kerrisk [Fri, 16 Nov 2018 20:32:45 +0000 (21:32 +0100)] 
prctl.2: Mention libcap APIs for operating on capability bounding set

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscalls.2: Update syscall list for Linux 4.18
Michael Kerrisk [Sun, 11 Nov 2018 07:02:31 +0000 (08:02 +0100)] 
syscalls.2: Update syscall list for Linux 4.18

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosystem.3: Use '(char *) NULL' rather than '(char *) 0'
Michael Kerrisk [Sat, 10 Nov 2018 06:15:40 +0000 (07:15 +0100)] 
system.3: Use '(char *) NULL' rather than '(char *) 0'

Reported-by: Jonny Grant <jg@jguk.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoioctl_userfaultfd.2, userfaultfd.2: wfix
Anthony Iliopoulos [Fri, 9 Nov 2018 16:23:59 +0000 (16:23 +0000)] 
ioctl_userfaultfd.2, userfaultfd.2: wfix

Use "UFFDIO_ZEROPAGE" consistently rather than "UFFDIO_ZERO".

Signed-off-by: Anthony Iliopoulos <ailiopoulos@suse.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosystem.3: ffix
Michael Kerrisk [Fri, 9 Nov 2018 22:17:15 +0000 (23:17 +0100)] 
system.3: ffix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosystem.3: wfix
Michael Kerrisk [Fri, 9 Nov 2018 22:14:27 +0000 (23:14 +0100)] 
system.3: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agouser_namespaces.7: tfix
Jakub Wilk [Fri, 9 Nov 2018 08:25:15 +0000 (09:25 +0100)] 
user_namespaces.7: tfix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agopivot_root.2: Minor fixes to Elvira Khabirova's patch
Michael Kerrisk [Fri, 9 Nov 2018 07:54:20 +0000 (08:54 +0100)] 
pivot_root.2: Minor fixes to Elvira Khabirova's patch

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agopivot_root.2: Explain the initramfs case and point to switch_root(8).
Elvira Khabirova [Sun, 30 Sep 2018 15:24:23 +0000 (17:24 +0200)] 
pivot_root.2: Explain the initramfs case and point to switch_root(8).

Based on text from Documentation/filesystems/ramfs-rootfs-initramfs.txt.

Signed-off-by: Elvira Khabirova <lineprinter@altlinux.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoresolver.3: Add documentation of res_nclose()
Michael Becker [Fri, 9 Nov 2018 07:47:33 +0000 (08:47 +0100)] 
resolver.3: Add documentation of res_nclose()

I found the neccessary information in the glibc sources.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agostrfry.3: Remove incorrect reference to rand(3)
Keith Thompson [Fri, 9 Nov 2018 03:55:55 +0000 (04:55 +0100)] 
strfry.3: Remove incorrect reference to rand(3)

The strfry(3) function does not use rand(). The original version
from 1995 did, but it was changed to use a different PRNG in glibc
commit 4770745624b7f7f25623f1f10d46a4c4d6aec25c, 1996-12-04.

This C program demonstrates the behavior. By not calling srand(),
it gets the same values for successive calls to rand(), but
strfry() returns a different value each time the program is run.
If strfry() called srand(), it would alter the sequence of numbers
return by rand().

int main(void) {
    printf("%d\n", rand());
    char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
    puts(strfry(alphabet));
    printf("%d\n", rand());
}

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: tfix
Michael Kerrisk [Fri, 9 Nov 2018 03:48:59 +0000 (04:48 +0100)] 
signal.7: tfix

Reported-by: Helge Deller <deller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: Reorder the architectures in the signal number lists
Michael Kerrisk [Wed, 7 Nov 2018 20:41:34 +0000 (21:41 +0100)] 
signal.7: Reorder the architectures in the signal number lists

x86 and ARM are the most common architectures, but currently
are in the second subfield in the signal number lists.
Instead, swap that info with subfield 1, so the most
common architectures are first in the list.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosignal.7: Add signal numbers for parisc
Helge Deller [Wed, 7 Nov 2018 06:58:55 +0000 (07:58 +0100)] 
signal.7: Add signal numbers for parisc

This patch adds the signal numbers for parisc to the signal(7) man page.

Those parisc-specific values for the various signals are valid since the
Linux kernel upstream commit ("parisc: Reduce SIGRTMIN from 37 to 32 to
behave like other Linux architectures") during development of kernel 3.18:
http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1f25df2eff5b25f52c139d3ff31bc883eee9a0ab

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscalls.2: parisc Linux does not any longer emulate HP-UX
Helge Deller [Tue, 6 Nov 2018 21:27:23 +0000 (22:27 +0100)] 
syscalls.2: parisc Linux does not any longer emulate HP-UX

Initially it was planned that the parisc linux port would natively
support 32-bit HP-UX binaries, but this compatibility was never
reached and finally dropped with Linux kernel 3.14.

With that background, drop parisc from the list of of platforms
which supports it's proprietary operating-system.

Additional notes from mtk:

The most relevant commit from the Linux 3.14 change log was:

[[
commit f5a408d53edef3af07ac7697b8bc54a755628450
Author: Guy Martin <gmsoft@tuxicoman.be>
Date:   Thu Jan 16 17:17:53 2014 +0100

    parisc: Make EWOULDBLOCK be equal to EAGAIN on parisc

    On Linux, only parisc uses a different value for EWOULDBLOCK which
    causes a lot of troubles for applications not checking for both values.
    Since the hpux compat is long dead, make EWOULDBLOCK behave the same as
    all other architectures.
]]

Additional notes from Helge:

The patch above is the initial and most important one with which
we stopped the HP-UX compatibility.

Then, with this commit in kernel 3.18 there is no way back:
"parisc: Reduce SIGRTMIN from 37 to 32 to behave like
other Linux architectures"
commit 1f25df2eff5b25f52c139d3ff31bc883eee9a0ab

And in kernel 4.0 we finally dropped the HP-UX compat layer
from Linux kernel source code with the commit series
"parisc: hpux - Drop support for HP-UX binaries":
commit 04c1614977168fb8f002e2d81f704eeabe0c5ebd

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agosyscall.2: parisc needs care with syscall parameters
Helge Deller [Tue, 6 Nov 2018 21:39:59 +0000 (22:39 +0100)] 
syscall.2: parisc needs care with syscall parameters

On parisc one needs to take care of the 32-bit calling conventions
with 64-bit syscall parameters on a 32-bit kernel. So on parisc we
suffer from the same issues like ARM, PowerPC and Xtensa.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agocgroups.7: Minor fix: bump kernel version to 4.19 in a couple of points
Michael Kerrisk [Wed, 7 Nov 2018 20:14:57 +0000 (21:14 +0100)] 
cgroups.7: Minor fix: bump kernel version to 4.19 in a couple of points

The stated points still hold true as at Linux 4.1.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoio_submit.2: tfix
Josh Gao [Tue, 6 Nov 2018 22:51:38 +0000 (23:51 +0100)] 
io_submit.2: tfix

Signed-off-by: Josh Gao <jmgao@google.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoiconv.1: SEE ALSO: add uconv(1)
Marko Myllynen [Mon, 5 Nov 2018 20:15:23 +0000 (22:15 +0200)] 
iconv.1: SEE ALSO: add uconv(1)

Refer to uconv(1) in iconv(1) manual page, it is helpful
transliterating e.g. Cyrillic to Latin:

echo <some-cyrillic-text> | uconv -f UTF-8 -t UTF-8 -x cyrillic-latin

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: ffix: break /proc/[pid]/task text into smaller paragraphs
Michael Kerrisk [Mon, 5 Nov 2018 20:57:20 +0000 (21:57 +0100)] 
proc.5: ffix: break /proc/[pid]/task text into smaller paragraphs

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: srcfix
Michael Kerrisk [Mon, 5 Nov 2018 20:22:19 +0000 (21:22 +0100)] 
proc.5: srcfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: tfix
Michael Kerrisk [Mon, 5 Nov 2018 20:21:50 +0000 (21:21 +0100)] 
proc.5: tfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: Minor reworking of description of /proc/[tid] directories
Michael Kerrisk [Mon, 5 Nov 2018 20:14:25 +0000 (21:14 +0100)] 
proc.5: Minor reworking of description of /proc/[tid] directories

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agoproc.5: wfix
Michael Kerrisk [Mon, 5 Nov 2018 20:02:18 +0000 (21:02 +0100)] 
proc.5: wfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agorename.2: tfix
Michael Kerrisk [Mon, 5 Nov 2018 19:37:20 +0000 (20:37 +0100)] 
rename.2: tfix

Reported-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agorename.2: wfix: s/shmem/tmpfs/ in discussion of RENAME_NOREPLACE
Michael Kerrisk [Mon, 5 Nov 2018 16:37:39 +0000 (17:37 +0100)] 
rename.2: wfix: s/shmem/tmpfs/ in discussion of RENAME_NOREPLACE

Reported-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agorename.2: XFS support for RENAME_NOREPLACE was added in Linux 4.0
Michael Kerrisk [Mon, 5 Nov 2018 16:33:10 +0000 (17:33 +0100)] 
rename.2: XFS support for RENAME_NOREPLACE was added in Linux 4.0

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
5 years agorename.2: Rework list of supported filesystems for RENAME_NOREPLACE
Michael Kerrisk [Mon, 5 Nov 2018 16:24:19 +0000 (17:24 +0100)] 
rename.2: Rework list of supported filesystems for RENAME_NOREPLACE

There was probably a little too much detail in
Lukas Werkmeister's patch. Simplify, by removing a few
file systems, and arrange the information as a bulleted
list for easier readability.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>