]> git.ipfire.org Git - thirdparty/man-pages.git/log
thirdparty/man-pages.git
13 months agoChanges: Ready for 6.04.01 man-pages-6.04.y man-pages-6.04.01
Alejandro Colomar [Mon, 3 Apr 2023 01:19:29 +0000 (03:19 +0200)] 
Changes: Ready for 6.04.01

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agocmd.mk, dist.mk: Keep file modes in the tarball
Alejandro Colomar [Mon, 3 Apr 2023 01:13:23 +0000 (03:13 +0200)] 
cmd.mk, dist.mk: Keep file modes in the tarball

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoChanges: 6.04 documented also LANDLOCK_ACCESS_FS_TRUNCATE
Alejandro Colomar [Mon, 3 Apr 2023 00:56:17 +0000 (02:56 +0200)] 
Changes: 6.04 documented also LANDLOCK_ACCESS_FS_TRUNCATE

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agolsm: Released 6.04
Alejandro Colomar [Mon, 3 Apr 2023 00:31:12 +0000 (02:31 +0200)] 
lsm: Released 6.04

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoChanges: Ready for 6.04 man-pages-6.04
Alejandro Colomar [Mon, 3 Apr 2023 00:20:31 +0000 (02:20 +0200)] 
Changes: Ready for 6.04

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agodifftime.3: Don't suggest redefining a reserved identifier
Alejandro Colomar [Sun, 2 Apr 2023 23:39:18 +0000 (01:39 +0200)] 
difftime.3: Don't suggest redefining a reserved identifier

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agogetopt.3: Remove const from argv
Alejandro Colomar [Sun, 2 Apr 2023 23:37:43 +0000 (01:37 +0200)] 
getopt.3: Remove const from argv

It is unnecessary to let readers believe it's const.  Keep it as a
detail in VERSIONS, which will only be found by those who need it.  It
is better to believe it's non-const, and rarely will one need to know
that it isn't true.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoman2/: Remove repetitive documentation of [s]size_t
Alejandro Colomar [Sun, 2 Apr 2023 23:20:30 +0000 (01:20 +0200)] 
man2/: Remove repetitive documentation of [s]size_t

We already have an entire page for the types.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoman2/, sockaddr.3type: Move text to sockaddr.3type
Alejandro Colomar [Sun, 2 Apr 2023 23:11:40 +0000 (01:11 +0200)] 
man2/, sockaddr.3type: Move text to sockaddr.3type

Move text about socklen_t to its own page, and remove repetitive
references to read accept(2) (except from the type page itself).

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoepoll_ctl.2: ffix
Alejandro Colomar [Sun, 2 Apr 2023 22:57:36 +0000 (00:57 +0200)] 
epoll_ctl.2: ffix

Reported-by: `make check-catman`
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoman*/: ffix
Alejandro Colomar [Sun, 2 Apr 2023 22:52:26 +0000 (00:52 +0200)] 
man*/: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoscripts/LinuxManBook/: Make the title consistent with the name of the project
Alejandro Colomar [Sun, 2 Apr 2023 18:16:37 +0000 (20:16 +0200)] 
scripts/LinuxManBook/: Make the title consistent with the name of the project

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months ago*.mk: Simplify build tree
Alejandro Colomar [Sun, 2 Apr 2023 13:30:34 +0000 (15:30 +0200)] 
*.mk: Simplify build tree

Reuse $_MANDIR (.tmp/man/) for most stuff we build (with the exception
of `make dist`).

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoverbose.mk: Fix warning from GNU Make 4.4
Alejandro Colomar [Sun, 2 Apr 2023 13:03:54 +0000 (15:03 +0200)] 
verbose.mk: Fix warning from GNU Make 4.4

While '$(V).SILENT:' is a common idiom in make, it may be more explicit
to put '.SILENT:' inside a conditional.  Since we already used the
conditional for something else, it's not a big change.  As a nice side
effect, vim now recognizes it and highlights it as a special target.

With the old code, GNU Make 4.4 reported a warning about undefined
variables:

lib/verbose.mk:18: warning: undefined variable 'V'

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agolandlock.7: Fix warnings
Alejandro Colomar [Sun, 2 Apr 2023 01:32:44 +0000 (03:32 +0200)] 
landlock.7: Fix warnings

Reported-by: `make lint check`
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agolint-man.mk: Fix previous commit
Alejandro Colomar [Sun, 2 Apr 2023 01:27:07 +0000 (03:27 +0200)] 
lint-man.mk: Fix previous commit

I should have removed this in the previous commit, but somehow I forgot,
and my initial tests didn't reveal the bug.  After trying to check a
specific page as a contributor would do, I noticed the problem.

Fixes: aa344d4ba28c ("*.mk, CONTRIBUTING, INSTALL: lint, build, check: Reorganize some targets")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months ago*.mk, CONTRIBUTING, INSTALL: lint, build, check: Reorganize some targets
Alejandro Colomar [Sun, 2 Apr 2023 00:54:16 +0000 (02:54 +0200)] 
*.mk, CONTRIBUTING, INSTALL: lint, build, check: Reorganize some targets

Some targets which were under lint-* were really building cat pages, so
let's call it build-catman, since it's what it is.  As part of the
build, it will report warnings, of course, as any other build system, so
nothing really changed, except for the target names, and the path in the
build tree where the cat pages (and intermediate files) are placed,
which is now directly under <.tmp/man/*>.

Some other targets were checking that the cat pages were correct after
the build, so those targets have been moved to check-* targets.

Document that contributors should run both the 'lint' and 'check'
targets to check the correctness of their patches.

`make all`, a.k.a. `make build`, now builds _all_ that can be built,
including cat pages, and C programs.

Implementation detail: $LINTMAN has been renamed, since now it's used
also for things that are not linters.  Call it $NONSO_MAN, since it's a
list of the non-'.so' man pages, which are the ones we want to lint,
build, and check.

Future directions:

I plan to implement 'build-html' using groff(1), which will reuse part
of the build-catman pipeline.  That will produce much higher quality
HTML manual pages.

Cc: G. Branden Robinson <g.branden.robinson@gmail.com>
Cc: Elliott Hughes <enh@google.com>
Cc: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoproc.5: NAME: Add "system information, and sysctl"
наб [Fri, 31 Mar 2023 22:04:52 +0000 (00:04 +0200)] 
proc.5: NAME: Add "system information, and sysctl"

procfs hosts a whole host of information about the system, as well as
sysctls; proc(5) hosts a description of a lot of sysctls, and at present
there's no way to find that out.

Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Cc: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agouser_namespaces.7: Add note about PR_SET_DUMPABLE on nested userns
Rodrigo Campos [Sat, 1 Apr 2023 12:59:26 +0000 (14:59 +0200)] 
user_namespaces.7: Add note about PR_SET_DUMPABLE on nested userns

In order to create a nested user namespace, we need to re-set the
PR_SET_DUMPABLE attribute after switching the effective UID/GID. Clarify
this in the section about nested user namespaces.

Having this note would have saved me some time debugging.

Signed-off-by: Rodrigo Campos <rodrigo@sdfg.com.ar>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoprintf.3: Fix wording for the 0 flag with given precision
Vincent Lefevre [Fri, 31 Mar 2023 14:33:32 +0000 (16:33 +0200)] 
printf.3: Fix wording for the 0 flag with given precision

When a precision is given, the 0 flag is ignored only for integer
conversions, not for all numeric conversions.

Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoprctl.2: ffix
Alejandro Colomar [Sat, 1 Apr 2023 14:18:44 +0000 (16:18 +0200)] 
prctl.2: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agomount_setattr.2: ffix
Patrick Reader [Fri, 31 Mar 2023 22:51:39 +0000 (00:51 +0200)] 
mount_setattr.2: ffix

Signed-off-by: Patrick Reader <_@pxeger.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoproc.5: Fix caps needed to read map_files contents
Younes Manton [Tue, 17 Jan 2023 18:03:36 +0000 (10:03 -0800)] 
proc.5: Fix caps needed to read map_files contents

imachug@yandex.ru testing CRIU noticed that the documentation for proc's
map_files directory with respect to CAP_CHECKPOINT_RESTORE and
namespaces appears to be wrong. The text reads:

> since Linux 5.9, the reading process must have
> either CAP_SYS_ADMIN or CAP_CHECKPOINT_RESTORE in the user
> namespace where it resides.

The reporter noted that the user actually needs the capabilities in the
initial user namespace, not in the namespace the process resides in.  As
far as I can tell this appears to be the case.

The text was introduced in 167f94b707148bcd46fe39c7d4ebfada9eed88f6
and refers to kernel commit 12886f8ab10ce6a09af1d92535d49c81aaa215a8.

The code and message in the kernel commit refer to the initial user
namespace.

An example program and shell session verifying the existing behaviour
follows:

$ uname -r
5.15.0-52-generic

$ ./test.sh
+ make rmf
cc rmf.c -o rmf
+ sudo setcap cap_checkpoint_restore-eip ./rmf
+ ./rmf
19582: =
Can't read map_files/ entry: Operation not permitted
+ sudo setcap cap_checkpoint_restore+eip ./rmf
+ ./rmf
19588: cap_checkpoint_restore=ep
+ unshare --user ./rmf
19591: cap_checkpoint_restore=ep
Can't read map_files/ entry: Operation not permitted

$ cat rmf.c

int main(int argc, char **argv)
{
    DIR *mfd;
    struct dirent *mfe;
    struct stat mfstat;
    int ret;

    system("getpcaps $PPID");

    chdir("/proc/self/map_files");
    mfd = opendir(".");
    do {
        mfe = readdir(mfd);
    } while (!strcmp(mfe->d_name, ".") || !strcmp(mfe->d_name, ".."));
    if (ret = stat(mfe->d_name, &mfstat))
        perror("Can't read map_files/ entry");
    closedir(mfd);

    return ret;
}

Signed-off-by: Younes Manton <younes.m@gmail.com>
Cc: <imachug@yandex.ru>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agolandlock.7: Document Landlock ABI v3 (file truncation; Linux 6.2)
Günther Noack [Fri, 24 Mar 2023 17:24:18 +0000 (18:24 +0100)] 
landlock.7: Document Landlock ABI v3 (file truncation; Linux 6.2)

https://git.kernel.org/torvalds/c/299e2b1967578b1442128ba8b3e86ed3427d3651

Signed-off-by: Günther Noack <gnoack3000@gmail.com>
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agolandlock.7: Document Landlock ABI v2 (file reparenting; Linux 5.19)
Günther Noack [Fri, 24 Mar 2023 17:24:17 +0000 (18:24 +0100)] 
landlock.7: Document Landlock ABI v2 (file reparenting; Linux 5.19)

* Add the description for LANDLOCK_ACCESS_FS_REFER,
  in line with recent update to the uapi headers:
  https://lore.kernel.org/linux-security-module/20230202204623.10345-1-gnoack3000@gmail.com/T/
* VERSIONS: Add a table of Landlock versions and their changes.
  Briefly talk about how to probe ABI levels and warn users about the
  special semantics of the LANDLOCK_ACCESS_FS_REFER right.
* Add LANDLOCK_ACCESS_FS_REFER to the code example.

Code review threads for the "refer" feature:
* https://git.kernel.org/torvalds/c/cb44e4f061e16be65b8a16505e121490c66d30d0
* https://lore.kernel.org/all/20230221165205.4231-1-gnoack3000@gmail.com/ (documentation update)

Signed-off-by: Günther Noack <gnoack3000@gmail.com>
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agosymlink.7: cross-link to proc.5 for fs.protected_symlinks
наб [Mon, 27 Mar 2023 12:29:33 +0000 (14:29 +0200)] 
symlink.7: cross-link to proc.5 for fs.protected_symlinks

This is on by default in Debian, maybe the next reader won't spend an
hour tracing the kernel

Fixes: e8ff4f53ab9a7cbd ("Remove information migrated to inode(7) page")
Closes: https://bugs.debian.org/1033477
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Cc: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoman3type/: tfix
Wu Zhenyu [Thu, 30 Mar 2023 17:02:07 +0000 (01:02 +0800)] 
man3type/: tfix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoclock_getres.2: tfix
Jakub Wilk [Fri, 31 Mar 2023 18:53:37 +0000 (20:53 +0200)] 
clock_getres.2: tfix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agomknod.2: ffix
Jakub Wilk [Fri, 31 Mar 2023 18:56:45 +0000 (20:56 +0200)] 
mknod.2: ffix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoproc.5: Document KPF_PGTABLE for /proc/kpageflags
Marco Bonelli [Fri, 17 Jun 2022 12:22:44 +0000 (14:22 +0200)] 
proc.5: Document KPF_PGTABLE for /proc/kpageflags

KPG_PGTABLE (bit 26) was introduced in Linux v4.18 (commit
1d40a5ea01d53251c23c7be541d3f4a656cfc537).

Signed-off-by: Marco Bonelli <marco@mebeim.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
13 months agoman*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections
Alejandro Colomar [Fri, 17 Mar 2023 16:08:01 +0000 (17:08 +0100)] 
man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections

-  Add a new HISTORY section that covers the history of an API, both
   regarding implementations and regarding old standards.  This was
   previously covered in VERSIONS, and in some cases in STANDARDS.

-  Repurpose VERSIONS to cover differing implementations in _current_
   systems.

-  STANDARDS is reduced to only cover current versions of standards.
   That basically means only C11 (C99 has been superseeded by C11; C17
   is just a bugfix of C11, so not really a new version), and
   POSIX.1-2008 (*-2001 was superseeded by *-2008; *-2017 was just a
   bugfix for *-2008).  The section also mentions for example 'Linux',
   'GNU' or 'BSD' when a non-standard API is Linux- or GNU-only or if
   it's (de-facto) standard in the BSDs.

-  In some cases content that should go into one of these sections was
   in NOTES.  Move it from there to where it corresponds.

-  In the SYNOPSIS, I added [[deprecated]] in some functions that I
   found are deprecated by the relevant standards.

-  A few other related changes...

Cc: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman*/: Replace links to <sources.redhat.com>
Yedidyah Bar David [Tue, 21 Mar 2023 10:43:06 +0000 (12:43 +0200)] 
man*/: Replace links to <sources.redhat.com>

<sources.redhat.com/bugzilla> seems broken right now.

Apparently it was replaced, quite a long time ago --based on what I can
find on the net-- with <www.sourceware.org/bugzilla>, which does work.

This patch was created with:

$ find man* -type f \
| xargs grep -l 'sources.redhat.com/bugzilla' \
| xargs sed -i 's;http://sources.redhat.com/bugzilla/;https://www.sourceware.org/bugzilla/;g'

Verified with:

$ git diff | sed -n 's;^+.*\(https://www.sourceware.org/bugzilla/show_bug.cgi?id=[0-9]*\).*;\1;p' > URLs
$ mkdir test
$ cd test
$ wget -i ../URLs

Signed-off-by: Yedidyah Bar David <didi@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoCONTRIBUTING: Recommend make(1)'s -W, rather than actually touching the file
Alejandro Colomar [Sun, 19 Mar 2023 15:41:17 +0000 (16:41 +0100)] 
CONTRIBUTING: Recommend make(1)'s -W, rather than actually touching the file

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agotimer_settime.2: SYNOPSIS: Put timer_gettime() first
Alejandro Colomar [Sat, 18 Mar 2023 13:52:36 +0000 (14:52 +0100)] 
timer_settime.2: SYNOPSIS: Put timer_gettime() first

This matches the order in getitimer(2), and so makes it easier to
compare them.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoarc4random.3: Simplify STANDARDS; add HISTORY
Alejandro Colomar [Sat, 18 Mar 2023 01:21:46 +0000 (02:21 +0100)] 
arc4random.3: Simplify STANDARDS; add HISTORY

Data copied from libbsd's page.

Reported-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agobind.2: NOTES: Remove section
Alejandro Colomar [Sat, 18 Mar 2023 00:57:32 +0000 (01:57 +0100)] 
bind.2: NOTES: Remove section

'socklen_t' now has its own manual page.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman*/: tfix
Tom Schwindl [Fri, 17 Mar 2023 23:16:40 +0000 (23:16 +0000)] 
man*/: tfix

Signed-off-by: Tom Schwindl <schwindl@posteo.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman2/, man3/, man-pages.7: Move VERSIONS next to STANDARDS
Alejandro Colomar [Fri, 17 Mar 2023 14:00:52 +0000 (15:00 +0100)] 
man2/, man3/, man-pages.7: Move VERSIONS next to STANDARDS

VERSIONS and STANDARDS are closely related (and often the distinction is
not so clear).  Now that we're going to add another section, HISTORY,
that is related to both, it makes sense to have the three together.

As a curiosity, the list in man-pages(7) that detailed what each section
should contain had them by accident(?) in the order that we're moving
to, instead of the order that was used elsewhere.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agofeature_test_macros.7: STANDARDS: Some ftm are specific to glibc, not Linux
Alejandro Colomar [Fri, 17 Mar 2023 14:31:02 +0000 (15:31 +0100)] 
feature_test_macros.7: STANDARDS: Some ftm are specific to glibc, not Linux

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoinode.7: STANDARDS: Remove bogus recommendation
Alejandro Colomar [Fri, 17 Mar 2023 14:14:41 +0000 (15:14 +0100)] 
inode.7: STANDARDS: Remove bogus recommendation

'blkcnt_t' is defined in <sys/types.h>, per POSIX.1-2001, as
blkcnt_t(3type) documents.  Also, it doesn't need any ftm(7) to be
defined, AFAICS:

    $ cat blkcnt_t.c
    #include <sys/types.h>

    int main(void) {
        blkcnt_t x;

        return x = 0;
    }
    $ cc -Wall -Wextra blkcnt_t.c
    $

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agocapabilities.7: ffix
Alejandro Colomar [Fri, 17 Mar 2023 14:08:33 +0000 (15:08 +0100)] 
capabilities.7: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agohier.7: ffix
Alejandro Colomar [Fri, 17 Mar 2023 14:06:02 +0000 (15:06 +0100)] 
hier.7: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoip.7: Fix IP_MULTICAST_ALL description
Christoph Lameter [Wed, 15 Mar 2023 23:43:58 +0000 (00:43 +0100)] 
ip.7: Fix IP_MULTICAST_ALL description

INADDR_ANY has nothing to do with the IP_MULTICAST_ALL option.
It does not matter if the interface is bound to all interfaces
or a particular interface for the functionality of IP_MULTICAST_ALL.

Multicast datagrams are addressed to a multicast IP address and will enter
the network stack via a particular interface. The application can choose
from which interface it will receive multicast data by binding the socket
to an IP address. It can then use the IP_MULTICAST_ALL option to
restrict the multicast groups that the IP stack will deliver via the
socket.

Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agosuffixes.7: ffix
Alejandro Colomar [Fri, 17 Mar 2023 13:06:03 +0000 (14:06 +0100)] 
suffixes.7: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agosuffixes.7: Add .shtml
Alejandro Colomar [Fri, 17 Mar 2023 13:05:38 +0000 (14:05 +0100)] 
suffixes.7: Add .shtml

Link: <https://stackoverflow.com/questions/519619/what-is-the-purpose-and-uniqueness-shtml>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoarc4random.3, man-pages.7: ffix
Alejandro Colomar [Wed, 15 Mar 2023 11:50:22 +0000 (12:50 +0100)] 
arc4random.3, man-pages.7: ffix

Reported-by: Jakub Wilk <jwilk@jwilk.net>
Cc: Tom Schwindl <schwindl@posteo.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agostandards.7: ffix
Oskari Pirhonen [Mon, 13 Mar 2023 03:00:41 +0000 (22:00 -0500)] 
standards.7: ffix

Fix indentation of the LFS entry.

Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoRevert "Many pages: Remove references to C89"
Alejandro Colomar [Mon, 13 Mar 2023 12:02:26 +0000 (13:02 +0100)] 
Revert "Many pages: Remove references to C89"

This reverts commit 72b349dd8c209d7375d4d4f76e2315943d654ee9.

This removal caused inconveniences to some programmers.  We've agreed to
keep the information about C89, since there's an easy way to keep it
correct by checking against a plain-text copy of the standard itself:

    $ stdc89()
      {
          grep "[[:alpha:]] \**\b$1([[:alnum:]*,. ]*);" /path/to/c89-draft.txt;
      }
    $ stdc89 printf
         int printf(const char *format, ...);
         int printf(const char *format, ...);

We will also do a split of the information in STANDARDS, since now it's
a mix of what a proper STANDARDS section would be plus a HISTORY section
commonly-found in other manual pages.  C89 will go into HISTORY.

Link: <https://lore.kernel.org/linux-man/b73a9636-1a17-36f3-3718-d9ca3b9293ed@gmail.com/T/>
Link: <https://port70.net/~nsz/c/c89/c89-draft.txt>
Reported-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Reported-by: Matt Jolly <Matt.Jolly@footclan.ninja>
Cc: Brian Inglis <Brian.Inglis@Shaw.ca>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agosession-keyring.7: ffix
Alejandro Colomar [Sun, 12 Mar 2023 12:17:54 +0000 (13:17 +0100)] 
session-keyring.7: ffix

Add a man-page reference at the first occurence of PAM.

Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agocharsets.7: „German“ quotations are not old-style, but rather standard
Alejandro Colomar [Sun, 12 Mar 2023 12:14:15 +0000 (13:14 +0100)] 
charsets.7: „German“ quotations are not old-style, but rather standard

Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman*/: Fix ISO -> ISO/IEC where appropriate
Alejandro Colomar [Sun, 12 Mar 2023 12:11:12 +0000 (13:11 +0100)] 
man*/: Fix ISO -> ISO/IEC where appropriate

Link: <https://www.iso.org>
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months ago.gitignore, *.mk, README, RELEASE: Make $builddir a hidden dir
Alejandro Colomar [Sun, 12 Mar 2023 11:35:38 +0000 (12:35 +0100)] 
.gitignore, *.mk, README, RELEASE: Make $builddir a hidden dir

Use <.tmp> instead of <tmp>.  This makes it easier to ignore it in
things like recursive searches.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman7/: ffix
Alejandro Colomar [Sun, 12 Mar 2023 11:00:54 +0000 (12:00 +0100)] 
man7/: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months ago*.mk: Remove unnecessary '.' after directory names (but keep the '/')
Alejandro Colomar [Sat, 11 Mar 2023 23:57:00 +0000 (00:57 +0100)] 
*.mk: Remove unnecessary '.' after directory names (but keep the '/')

I used it for some reason I don't remember, probably because I did
something wrong, and didn't know how to do it right.  I've tried now
without it, and it's working, so let's just remove it.

While we don't want trailing slashes in directory variables, we want
them in targets, so we can distinguish directory targets.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoboot.7: ffix
Alejandro Colomar [Sat, 11 Mar 2023 23:40:08 +0000 (00:40 +0100)] 
boot.7: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoboot.7: wfix + ffix
Alejandro Colomar [Sat, 11 Mar 2023 23:37:23 +0000 (00:37 +0100)] 
boot.7: wfix + ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman7/: ffix
Alejandro Colomar [Sat, 11 Mar 2023 23:18:56 +0000 (00:18 +0100)] 
man7/: ffix

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoCONTRIBUTING: Use make(1)'s '-t' to avoid linting everything
Alejandro Colomar [Sat, 11 Mar 2023 15:25:21 +0000 (16:25 +0100)] 
CONTRIBUTING: Use make(1)'s '-t' to avoid linting everything

Suggested-by: Paul Smith <psmith@gnu.org>
Cc: Dmitry Goncharov <dgoncharov@users.sf.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months ago*.mk: Prefix recipes that create directories with '+'
Alejandro Colomar [Sat, 11 Mar 2023 14:48:07 +0000 (15:48 +0100)] 
*.mk: Prefix recipes that create directories with '+'

This will allow running using make(1)'s '-t'.

Reported-by: Paul Smith <psmith@gnu.org>
Cc: Dmitry Goncharov <dgoncharov@users.sf.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoldconfig.8: tfix
Samanta Navarro [Sat, 11 Mar 2023 11:59:54 +0000 (11:59 +0000)] 
ldconfig.8: tfix

Typo found with codespell.

Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoINSTALL, Makefile: Document available variables.
Alejandro Colomar [Sat, 11 Mar 2023 13:30:49 +0000 (14:30 +0100)] 
INSTALL, Makefile: Document available variables.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agobuild-src.mk, cmd.mk: Use pkgconf(1) instead of pkg-config(1)
Alejandro Colomar [Sat, 11 Mar 2023 13:18:06 +0000 (14:18 +0100)] 
build-src.mk, cmd.mk: Use pkgconf(1) instead of pkg-config(1)

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agobuild-html.mk: Don't ignore $(htmlext)
Alejandro Colomar [Sat, 11 Mar 2023 12:38:41 +0000 (13:38 +0100)] 
build-html.mk: Don't ignore $(htmlext)

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agostandards.7: ffix
Jakub Wilk [Fri, 10 Mar 2023 13:49:59 +0000 (14:49 +0100)] 
standards.7: ffix

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agolint-man.mk: lint-man-groff-eqn: Fix error detection
Alejandro Colomar [Fri, 10 Mar 2023 12:21:12 +0000 (13:21 +0100)] 
lint-man.mk: lint-man-groff-eqn: Fix error detection

eqn(1) could theoretically write _only_ newlines to standard error.
That's unlikely, but I'm still worried that someone (even me) might copy
this trick around, and use it in situations where that might actually
happen.  Let's be more precise, and fail when there's literally anything
on standard error.

Reported-by: Ralph Corderoy <ralph@inputplus.co.uk>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agolint-man.mk: lint-man-groff-eqn: Fail if eqn(1) writes to stderr
Alejandro Colomar [Fri, 10 Mar 2023 11:25:57 +0000 (12:25 +0100)] 
lint-man.mk: lint-man-groff-eqn: Fail if eqn(1) writes to stderr

eqn(1) still exits with 0 after reporting errors.  Let's grep stderr,
and if there's anything, fail.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: Delete files on error
Alejandro Colomar [Fri, 10 Mar 2023 11:18:29 +0000 (12:18 +0100)] 
Makefile, lint-man.mk: Delete files on error

Without .DELETE_ON_ERROR, if a command fails, but has written to a file
(e.g., with '>'), the file will still exist, and successive make(1)
invocations will think it previously succeeded.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: lint-man-groff-preconv: Add preconv(1) to the groff(1) pipeline
Alejandro Colomar [Fri, 10 Mar 2023 11:18:29 +0000 (12:18 +0100)] 
Makefile, lint-man.mk: lint-man-groff-preconv: Add preconv(1) to the groff(1) pipeline

Without it, some pages fail in 'lint-man-groff-eqn', and would should
weird characters.

Suggested-by: Ralph Corderoy <ralph@inputplus.co.uk>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoposix_memalign.3: SYNOPSIS: Mark functions as [[deprecated]]
Alejandro Colomar [Fri, 10 Mar 2023 00:41:50 +0000 (01:41 +0100)] 
posix_memalign.3: SYNOPSIS: Mark functions as [[deprecated]]

These functions are declared as obsolete in the same page.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: lint-man-groff-col, lint-man-groff-grep: Split targets from...
Alejandro Colomar [Thu, 9 Mar 2023 17:47:13 +0000 (18:47 +0100)] 
Makefile, lint-man.mk: lint-man-groff-col, lint-man-groff-grep: Split targets from lint-man-groff

Allow running col(1) and grep(1) separately, which allows more granular
testing, and also inspecting the output of col(1), which can be useful
for debugging the pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: lint-man-groff-grotty: Split target from lint-man-groff
Alejandro Colomar [Thu, 9 Mar 2023 17:34:31 +0000 (18:34 +0100)] 
Makefile, lint-man.mk: lint-man-groff-grotty: Split target from lint-man-groff

Allow running grotty(1) separately, which allows more granular testing,
and also inspecting the output of grotty(1), which can be useful for
debugging the pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: lint-man-groff-troff: Split target from lint-man-groff
Alejandro Colomar [Thu, 9 Mar 2023 17:18:24 +0000 (18:18 +0100)] 
Makefile, lint-man.mk: lint-man-groff-troff: Split target from lint-man-groff

Allow running troff(1) separately, which allows more granular testing,
and also inspecting the output of troff(1), which can be useful for
debugging the pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: lint-man-groff-eqn: Split target from lint-man-groff
Alejandro Colomar [Thu, 9 Mar 2023 17:10:09 +0000 (18:10 +0100)] 
Makefile, lint-man.mk: lint-man-groff-eqn: Split target from lint-man-groff

Allow running eqn(1) separately, which allows more granular testing, and
also inspecting the output of eqn(1), which can be useful for debugging
the pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile, lint-man.mk: lint-man-groff-tbl: Split target from lint-man-groff
Alejandro Colomar [Thu, 9 Mar 2023 16:58:44 +0000 (17:58 +0100)] 
Makefile, lint-man.mk: lint-man-groff-tbl: Split target from lint-man-groff

Allow running tbl(1) separately, which has several benefits:

-  More granular testing.
-  Allows inspecting the output of tbl(1), which can be useful for
   debugging the pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agolint-man.mk: make-lint-tbl: ffix
Alejandro Colomar [Thu, 9 Mar 2023 16:54:04 +0000 (17:54 +0100)] 
lint-man.mk: make-lint-tbl: ffix

Print 'LINT (tbl comment)' to not confuse users to think that we run
tbl(1) at all.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agolint-man.mk: lint-man-mandoc: Silence warnings about '\\'
Alejandro Colomar [Thu, 9 Mar 2023 16:04:05 +0000 (17:04 +0100)] 
lint-man.mk: lint-man-mandoc: Silence warnings about '\\'

There are false positives in tzdb pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agolint-man.mk: lint-man-mandoc: Silence warnings about missing date
Alejandro Colomar [Thu, 9 Mar 2023 15:59:50 +0000 (16:59 +0100)] 
lint-man.mk: lint-man-mandoc: Silence warnings about missing date

tzdb pages have no date it them.  Don't warn about that.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agotzfile.5, tzselect.8, zdump.8, zic.8: sync pages from tzdb
Alejandro Colomar [Thu, 9 Mar 2023 00:20:24 +0000 (01:20 +0100)] 
tzfile.5, tzselect.8, zdump.8, zic.8: sync pages from tzdb

Cc: Paul Eggert <eggert@cs.ucla.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agosuffixes.7: Add .jsx and .tsx
Alejandro Colomar [Thu, 9 Mar 2023 13:15:07 +0000 (14:15 +0100)] 
suffixes.7: Add .jsx and .tsx

Cc: Timo Stark <t.stark@nginx.com>
Cc: Andrew Clayton <andrew@digital-domain.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoCONTRIBUTING: tfix
Tom Schwindl [Thu, 9 Mar 2023 07:39:00 +0000 (07:39 +0000)] 
CONTRIBUTING: tfix

Signed-off-by: Tom Schwindl <schwindl@posteo.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman*/: ffix
Tom Schwindl [Wed, 8 Mar 2023 21:01:11 +0000 (21:01 +0000)] 
man*/: ffix

Signed-off-by: Tom Schwindl <schwindl@posteo.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoINSTALL, cmd.mk, install-man.mk: Support installing compressed pages
Alejandro Colomar [Wed, 8 Mar 2023 22:41:11 +0000 (23:41 +0100)] 
INSTALL, cmd.mk, install-man.mk: Support installing compressed pages

Distributions usually install compressed (.gz) pages to reduce space.
Let's support this in our build system, as a command-line variable "Z",
which is empty by default, but can be set to a file extension to append
to the page names (and the appropriate compression program will be
used).  For now, the only compression supported is ".gz".

Example:

    $ make install Z=.gz

This can be combined with LINK_PAGES, to produce compressed pages and
use symbolic links for the link pages:

    $ make install Z=.gz LINK_PAGES=symlink

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agocmd.mk, install-man.mk: Allow installing link pages as symlinks
Alejandro Colomar [Wed, 8 Mar 2023 01:02:31 +0000 (02:02 +0100)] 
cmd.mk, install-man.mk: Allow installing link pages as symlinks

We keep them as .so "includes" in our source code, but if some
distribution wants to have them as symlinks in their filesystem, make it
easy for them to install as such, by specifying 'LINK_PAGES=symlink'.

Example:

    $ make install LINK_PAGES=symlink

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoCONTRIBUTING: Fix typo, there is one active maintainer
Rodrigo Campos [Wed, 8 Mar 2023 15:22:18 +0000 (16:22 +0100)] 
CONTRIBUTING: Fix typo, there is one active maintainer

On commit "CONTRIBUTING, README, lsm: Remove mtk as maintainer"
(06e72cb1) we changed to mail only one maintainer, but the doc still
says "both maintainers".

When submitting a patch, I was confused by that fact and thought Michael
address was missing.  But after checking, it seems we just need to send
it to Alejandro, so clarify the text to match that.

Signed-off-by: Rodrigo Campos <rodrigo@sdfg.com.ar>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agotzfile.5, tzselect.8: sync from tzdb upstream
Paul Eggert [Wed, 8 Mar 2023 05:11:38 +0000 (21:11 -0800)] 
tzfile.5, tzselect.8: sync from tzdb upstream

This makes tzfile.5 and tzselect.8 a copy of the tzdb develoment
version (commit 12b48faf10c265ee3ea1aad8cdb5c8239eea65a0), except that
man-pages boilerplate surrounds the copyright notice, and the .TH line
uses man-pages format.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agostring_copying.7: Modify implementation of stpecpy()
Alejandro Colomar [Wed, 8 Mar 2023 12:29:02 +0000 (13:29 +0100)] 
string_copying.7: Modify implementation of stpecpy()

-  Don't crash on invalid input.  That should be done in a wrapper, if
   wanted.

-  Accept NULL as input, since that allows chaining with stpeprintf().

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman3/: srcfix (\" t comments)
Alejandro Colomar [Wed, 8 Mar 2023 00:12:41 +0000 (01:12 +0100)] 
man3/: srcfix (\" t comments)

Add missing or remove redundant \" t comments (for tbl(1)).

Reported-by: mandoc(1) (make lint-man-mandoc)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agostring_copying.7: srcfix (unmatched RE)
Alejandro Colomar [Wed, 8 Mar 2023 00:09:01 +0000 (01:09 +0100)] 
string_copying.7: srcfix (unmatched RE)

Reported-by: mandoc(1) (make lint-man-mandoc)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman*/: srcfix (IP)
Alejandro Colomar [Tue, 7 Mar 2023 23:37:28 +0000 (00:37 +0100)] 
man*/: srcfix (IP)

Two consecutive IPs without text don't make sense, since they are
paragraph separators.  The reason we needed it was that PD 0 was
misplaced.

This extra IP was also causing another problem: we needed to specify
again the indentation of the outer list.

Reported-by: mandoc(1) (make lint-man-mandoc)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoman*/: ffix (semantic newlines; commas)
Alejandro Colomar [Tue, 7 Mar 2023 23:31:26 +0000 (00:31 +0100)] 
man*/: ffix (semantic newlines; commas)

Reported-by: mandoc(1) (make lint-man-mandoc)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoMakefile: help: Document lint-c-cppcheck
Alejandro Colomar [Tue, 7 Mar 2023 23:24:13 +0000 (00:24 +0100)] 
Makefile: help: Document lint-c-cppcheck

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoudp.7: Fix man page reference (section number)
Alejandro Colomar [Mon, 6 Mar 2023 13:36:24 +0000 (14:36 +0100)] 
udp.7: Fix man page reference (section number)

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoudp.7: add UDP_GRO
Willem de Bruijn [Thu, 2 Mar 2023 15:48:08 +0000 (10:48 -0500)] 
udp.7: add UDP_GRO

UDP_GRO was added in commit e20cf8d3f1f7
("udp: implement GRO for plain UDP sockets.")

    $ git describe --contains e20cf8d3f1f7
    linux/v5.0-rc1~129^2~379^2~8

Kernel source has example code in tools/testing/selftests/net/udpgro*

Per https://www.kernel.org/doc/man-pages/patches.html,
"Describe how you obtained the information in your patch":
I reviewed the relevant UDP_GRO patches.

Signed-off-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Cc: <pabeni@redhat.com>
Cc: <netdev@vger.kernel.org>
[ alx: srcfix ]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoudp.7: add UDP_SEGMENT
Willem de Bruijn [Thu, 2 Mar 2023 15:48:07 +0000 (10:48 -0500)] 
udp.7: add UDP_SEGMENT

UDP_SEGMENT was added in commit bec1f6f69736
("udp: generate gso with UDP_SEGMENT")

    $ git describe --contains bec1f6f69736
    linux/v4.18-rc1~114^2~377^2~8

Kernel source has example code in tools/testing/selftests/net/udpgso*

Per https://www.kernel.org/doc/man-pages/patches.html,
"Describe how you obtained the information in your patch":
I am the author of the above commit and follow-ons.

Signed-off-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Cc: <pabeni@redhat.com>
Cc: <netdev@vger.kernel.org>
[ alx: srcfix + use interval notation ]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agorecv.2: Mention SOCK_SEQPACKET in MSG_TRUNC flag description
Vladislav Ivanishin [Sun, 12 Feb 2023 13:38:04 +0000 (16:38 +0300)] 
recv.2: Mention SOCK_SEQPACKET in MSG_TRUNC flag description

unix_seqpacket_recvmsg() calls unix_dgram_recvmsg() which handles
MSG_TRUNC. This has been the case since the handling was added in
9f6f9af7694ede6314bed281eec74d588ba9474f; see net/unix/af_unix.c:

static int unix_seqpacket_recvmsg([...])
{
        [...]
return unix_dgram_recvmsg(iocb, sock, msg, size, flags);
}

The sequential-packet socket type seems to have been left out from the
description by an oversight.

Signed-off-by: Vladislav Ivanishin <vlad@ispras.ru>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoinstall-man.mk: Update copyright year
Alejandro Colomar [Sun, 5 Mar 2023 01:13:47 +0000 (02:13 +0100)] 
install-man.mk: Update copyright year

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoinstall-man.mk, src.mk: Respect user-specified man dirs
Alejandro Colomar [Sat, 4 Mar 2023 20:50:57 +0000 (21:50 +0100)] 
install-man.mk, src.mk: Respect user-specified man dirs

If a user specifies man3dir=/.../man3c, respect it and install there.
Currently, we were transforming link pages to use that dir name, but the
install location itself was still being calculated, which generated
inconsistently installed pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoinstall-man.mk: Fix link pages when installing in different mandirs
Alejandro Colomar [Sat, 4 Mar 2023 20:03:24 +0000 (21:03 +0100)] 
install-man.mk: Fix link pages when installing in different mandirs

If downstream wants to put pages in different places (e.g., Debian uses
man2/ and man3/, rather than man2type/ and man3const/, man3head/, and
man3type/), make it easy for them.  Link pages need to be fixed
according to the dirname where the pages are actually being installed.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoinstall-man.mk: Add missing variable $man3constext
Alejandro Colomar [Sat, 4 Mar 2023 20:00:51 +0000 (21:00 +0100)] 
install-man.mk: Add missing variable $man3constext

Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 months agoclone.2: Note EINVAL when exit_signal + bad flags
Jack Pearson [Tue, 28 Feb 2023 23:42:46 +0000 (15:42 -0800)] 
clone.2: Note EINVAL when exit_signal + bad flags

Document that Linux will report EINVAL when exit_signal is specified and
either CLONE_THREAD or CLONE_PARENT is specified.

From clone3_args_valid in Linux:
```
if ((kargs->flags & (CLONE_THREAD | CLONE_PARENT)) &&
    kargs->exit_signal)
return false;
```

I have verified that this happens on my kernel with a small program:

```
 #include <stdio.h>
 #include <linux/sched.h>
 #include <signal.h>
 #include <sys/syscall.h>
 #include <unistd.h>

int main(void)
{
struct clone_args ca = {
.flags = CLONE_THREAD | CLONE_SIGHAND | CLONE_VM,
.exit_signal = SIGCHLD, // comment me out to fix error
.set_tid_size = 0,
};
syscall(SYS_clone3, &ca, sizeof(struct clone_args));
perror("");
}
```

And I have verified that this doesn't happen with normal `clone` through
the glibc helper:

```
 #define _GNU_SOURCE

 #include <sched.h>
 #include <signal.h>
 #include <stdio.h>
 #include <sys/mman.h>

int do_nothing(void *_) { return 0; }

int main(void)
{
        void *map = mmap(NULL, 0x10000, PROT_READ | PROT_WRITE,
                 MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
void *stack_top = map + 0x10000 - 1;
clone(do_nothing, stack_top,
      CLONE_THREAD | CLONE_VM | CLONE_SIGHAND | SIGCHLD, NULL);
perror("");
}
```

Signed-off-by: Jack Pearson <jack@pearson.onl>
Cc: "Carlos O'Donell" <carlos@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>