| Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Use 2 grep(1) filters instead of 1, to be able to filter better
before the multiline pcregrep(1) filter, which is considerably
slower.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
positives
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
In definitions of the form
typedef struct foo {...} foo;
grepc_type_typedef_struct_union_enum() is already finding it.
Remove the duplicate here.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
struct|union|enum keyword
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
In typedefs of the form 'typedef struct foo foo;', don't print the
structure twice.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
If we use different regex types within the program, then users
can't use regex patterns in the identifier due to
incompatibilities. Let's use Perl regex everywhere we can, so
that users can consistently use Perl regex patterns in the
identifier. Example:
$ grepc (vf|as)printf;
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Allow one single argument only.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
I forgot to do it right after releasing man-pages-6.15.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Scripted change:
$ ~/src/linux/linux/v6.17/scripts/bpf_doc.py \
| rst2man \
>man7/bpf-helpers.7;
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This work is incomplete, but waiting until all pages have been updated
would unnecessarily delay publishing these changes, which are already
useful.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This function was marked as legacy in POSIX.1-2001 and has been removed
from many systems, including glibc.
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <5924c3b09d8e373be6ac1b5ca663b8ad7d106d93.1750306917.git.collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
As documented in the STANDARDS section, gettimeofday(2) was deprecated
in POSIX.1-2008 and removed in POSIX.1-2024. Mark it and
settimeofday(2) with [[deprecated]], and mention clock_settime(2) as a
modern and standardized alternative to settimeofday(2).
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <2d37d5a9251af3c1d25cf8e73e3585a9955d5772.1750373011.git.collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The FreeBSD implementation of ptsname_r(2) returns -1 on error and sets
errno, instead of just returning the errno. Document this issue for
programs written with portability in mind.
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <37f138bc5c5e6604f0a0afcc531694387d2cc424.1749792527.git.collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <2d55b75480ae862a622ac46e7e6c7628f6efc45d.1747519811.git.collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <bae6bc16f9ab6bd3e5c30dc8e11bd83566b06a6f.1747519811.git.collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <883d4a9b8cfb757a080710cf0133be5d0e12adce.1747515178.git.collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
POSIX.1-2024 encourages implementations to disallow new-line characters,
but Linux doesn't follow that.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
POSIX.1-2024 now mandates a behavior different from what Linux (and many
other implementations) does. It requires that we report EINPROGRESS for
what now is EINTR.
There are no plans to conform to POSIX.1-2024 within the Linux kernel,
so document this divergence. Keep POSIX.1-2008 as the standard to
which we conform in STANDARDS.
Link: <https://sourceware.org/bugzilla/show_bug.cgi?id=14627>
Link: <https://pubs.opengroup.org/onlinepubs/9799919799/functions/close.html>
Cc: Jan Kara <jack@suse.cz>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Rich Felker <dalias@libc.org>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <linux-api@vger.kernel.org>
Cc: <libc-alpha@sourceware.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
doesn't support it
Fixes: 265b9898dfe2 (2025-05-09; "man/man2/: VERSIONS: POSIX.1-2024 specifies *_CLOFORK, but Linux doesn't support it")
Link: <https://lore.kernel.org/all/20200515160342.GE23230@ZenIV.linux.org.uk/>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 4131356cdab8 (2023-03-30; "man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Alejandro Colomar <alx@kernel.org>
Cc: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Suggested-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Co-authored-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Those flags were added in Linux 6.9 (see [1]), and are documented
in [2].
The text added is a modified version of [3], removing some repetition
and adapting from markdown to mandoc.
[1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e1fb1dc08e73>
[2]: <https://github.com/brauner/man-pages-md/blob/main/pidfd_send_signal.md>
[3]: <https://github.com/brauner/man-pages-md/pull/2>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Message-ID: <20251008020031.1215030-4-kolyshkin@gmail.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
PIDFD_THREAD flag for pidfd_open(2) was added in Linux 6.9 (see [1]).
Add a TODO to describe the nuances of using poll/epoll/select
with a pidfd referring to a process vs a thread.
[1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=64bef697d33b>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Message-ID: <20251013191049.193375-2-kolyshkin@gmail.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document TCP_SAVE_SYN and TCP_SAVED_SYN options based on git commit
linux.git cd8ae85299d5 (2015-05-05; "tcp: provide SYN headers for
passive connections") which introduced it.
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cd8ae85299d54155702a56811b2e035e63064d3d>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: ValdikSS <iam@valdikss.org.ru>
Message-ID: <20251015214826.70750-1-iam@valdikss.org.ru>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This behavior can be seen with the following example program:
$ cat main.c
#include <dirent.h>
#include <err.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
int
main(int argc, char *argv[argc+1])
{
DIR *d;
if (argc < 2)
errx(EXIT_FAILURE, "argc < 2");
d = opendir(argv[1]);
if (d == NULL)
err(EXIT_FAILURE, "opendir");
closedir(d);
exit(EXIT_SUCCESS);
}
$ cc -Wall -Wextra main.c
$ ./a.out $(printf '%0999d')
a.out: opendir: File name too long
Signed-off-by: Collin Funk <collin.funk1@gmail.com>
Message-ID: <4266061219d7406c0aa737f8d52108fea7e0f7fb.1760689006.git.collin.funk1@gmail.com>
[jwilk: simpler reproducer]
Cc: Jakub Wilk <jwilk@jwilk.net>
[alx: Fix style in the reproducer program]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Rename uimaxabs(3) => umaxabs(3). And add a link page.
Keep a link with the old name, so that programmers looking for the old
name are redirected to the new name, so they find what they need.
I've removed documentation for uimaxabs(3), instead of keeping
information in HISTORY, as it has only existed for one glibc version,
to avoid programmers being confused by the old name.
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3577.txt>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The "old" implementation led to priority inversion and was more or less
easy to trigger. It seems that after the rewrite the issue disappeared
especially since the old workaround does not apply anymore.
Add a note mentioning the old problem and why the issue is not gone
since the rewrite in glibc 2.25 but harder to trigger.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: André Almeida <andrealmeid@igalia.com>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Waiman Long <longman@redhat.com>
Message-ID: <20250915141305.906440-6-bigeasy@linutronix.de>
[alx: wfix, srcfix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Carlos O'Donell says based on the context, it should be the former link
from that day.
Update the link accordingly.
Cc: Carlos O'Donell <carlos@redhat.com>
Link: <https://lore.kernel.org/all/710e8f05-b0b3-489a-9e89-8967cf6a9e70@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Message-ID: <20250915141305.906440-5-bigeasy@linutronix.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The section refers to .txt files but they have been moved/ renamed to
.rst some time ago. The mentioned sched-rt-group is inconvenient as
people always complained about CONFIG_RT_GROUP_SCHED.
Everything that describes CFS is not wrong but the kernel the kernel
switched to the Earliest Virtual Deadline First (EEVDF) scheduler.
Instead of updating the file links below (and adding new ones), replace
them with a link to the automatically created scheduler documetation
from that folder. This also has some EEVDF bits. :)
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: André Almeida <andrealmeid@igalia.com>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Waiman Long <longman@redhat.com>
Message-ID: <20250915141305.906440-4-bigeasy@linutronix.de>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Update the outdated information:
- The PREEMPT_RT patch is merged. The patch continues to exist (as of
now) but is not mandatory.
- The patch can be still downloaded but most people use the git tree
these days. Add a reference to it.
- CONFIG_PREEMPT_DESKTOP was never thing as far as I remember. It was
always CONFIG_PREEMPT and its description referred to "low latency
desktop".
- Within the PREEMPT-RT patch there was a brief window which introduced
PREEMPT_RT_BASE and PREEMPT_RT_FULL. I am going to ignore this.
- The introduction of PREEMPT_LAZY in 6.13 moved PREEMPT_RT from a
preemption model to an option.
- The mentioned wiki is deprecated. Update the URL to the new one.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: André Almeida <andrealmeid@igalia.com>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Waiman Long <longman@redhat.com>
Message-ID: <20250915141305.906440-3-bigeasy@linutronix.de>
[alx: minor tweaks]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: André Almeida <andrealmeid@igalia.com>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Valentin Schneider <vschneid@redhat.com>
Cc: Waiman Long <longman@redhat.com>
Message-ID: <20250915141305.906440-2-bigeasy@linutronix.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Available since Linux 6.9 [1]. Documented in [2] (added by [3]).
[1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=83b290c9e3b5d95891f>
[2]: <https://github.com/brauner/man-pages-md/blob/main/clone.md>
[3]: <https://github.com/brauner/man-pages-md/pull/4>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Message-ID: <20251008020031.1215030-2-kolyshkin@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add a brief explanation of the RTAX_* attributes that can be used in
RTA_METRICS.
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Message-ID: <67e7f52aad3d777ef1075eca902d0d235e0d3753.1759950455.git.gnault@redhat.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Move getc(3) to a separate manual page, documenting the bugs
of this API, and recommending fgetc(3) instead. While the
relevant standards (ISO C and POSIX) don't deprecate this
API, let's deprecate it here.
Cc: <onf@disroot.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Stop meddling with adjustment.
A lengthy comment in groff's man(7) package explains why attempts to
meddle with text alignment and adjustment with the `ad` and `na`
requests--outside of tbl(1) text blocks--exhibits contempt for reader
preferences and often comes to grief anyway.
.\" Resetting the adjustment mode is a complicated dance.
.\" 1. Man pages sometimes disable adjustment--when they do, they
.\" often forget to put it back the way it was.
.\" 2. When they do remember to put it back, they often fail to do
.\" so correctly because of the `ad` request's quirky semantics
.\" starting from Seventh Edition Unix troff/nroff. Briefly, the
.\" `ad` request without arguments turns adjustment back on after
.\" an `na` even if the previous adjustment mode was `l` (align to
.\" the left with NO adjustment).
.\" 3. The default adjustment mode historically has not been
.\" predictable; it can depend on nroff vs. troff mode and on the
.\" vendor of the *roff system in use.
.\" 4. It's possible (and portable) to obtain the previous adjustment
.\" mode via the `.j` register so that it can be saved prior to
.\" meddling and restored later, but in practice man page authors
.\" neglect to do so.
.\" 5. groff man(7)'s `AD` string isn't supported everywhere.
.\" 6. We want user preferences, if expressed, to override the page
.\" author's.
.\" 7. Even if we didn't want (6), one page author's can override
.\" another's when formatting multiple man(7) documents in
.\" sequence[.]
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215811.3a6ughmxcskgae3s@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add missing `x` column modifier to the descriptive column of the "VT100
console sequences not implemented on the Linux console" table, making it
format like all the other tables in this man page.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215801.yt57b4zbpsvctl5h@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Spell out column heading as "parmeter"; "param" is a false economy given
that one of the entries in the same column is "100..107" (only one en
shorter).
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215752.upezzr4gubzveiwe@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Use a more idiomatic means (than numeral-width horizontal motion escape
sequences `\0`) of setting table entries that are indented with respect
to other entries in the same column.
Use table region continuation (`.T&`) and the `A` column classifier.
See tbl(1).
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215742.w44sai53jje46m6h@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Put lengthy table entries into tbl(1) text blocks, so that they don't
cause output lines to overset.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215733.k3dgj5mafiysxa7z@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Consistently put inter-paragraph space before tables.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215724.7gms7w7zosrlg44n@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
extension controls.
Link: <https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Functions-using-CSI-_-ordered-by-the-final-character_s_>
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20251009215712.zhmxvmbtx72tk4yg@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Message-ID: <20250925135215.1648059-1-kele@cs.columbia.edu>
Acked-by: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
CAP_SYS_PTRACE is required (via ptrace_may_access) for accessing various
things in /proc, so include it in the CAP_SYS_PTRACE bullet list.
Also, add a hint that other things throughout the kernel may check this
via ptrace_may_access().
Signed-off-by: Jonathon Reinhart <jrreinhart@google.com>
Message-ID: <20250924152313.1902586-1-jrreinhart@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Use the dummy character to avoid a table entry consisting only of '=',
which would be interpreted as a table delimiter. We previously had
a white space, but that was worse: it is not visible in the input, and
produces non-ignorable output.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Remove spaces before a tab (except in a few cases).
Reported-by: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Also remove it from "share/mk/build/catman/troff.xfail", as it doesn't
fail anymore.
Suggested-by: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
It was forcing some entries to go past the right margin.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Bjarni Ingi Gislason <bjarniig@simnet.is>
Suggested-by: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Back in 2019, the new mount API was merged[1]. David Howells then set
about writing man pages for these new APIs, and sent some patches back
in 2020[2].
Unfortunately, these patches were never merged, which meant that these
APIs were practically undocumented for many years -- arguably this has
been a contributing factor to the relatively slow adoption of these new
(far better) APIs. For instance, I have often discovered that many
folks are unaware of the read(2)-based message retrieval interface
provided by filesystem context file descriptors.
In 2024, Christian Brauner adapted David Howell's original man pages
into the easier-to-edit Markdown format and published them on GitHub[3].
These have been maintained since, including updated information on new
features added since David Howells's 2020 draft pages (such as
MOVE_MOUNT_BENEATH).
While this was a welcome improvement to the previous status quo (that
had lasted over 6 years), speaking personally my experience is that not
having access to these man pages from the terminal has been a fairly
common painpoint.
So, this is a modern version of the man pages for these APIs, in the
hopes that we can finally (6 years later) get proper documentation for
these APIs in the man-pages project.
One important thing to note is that most of these were re-written by me,
with very minimal copying from the versions available from Christian[2].
The reasons for this are two-fold:
- Both Howells's original version and Christian's maintained versions
contain crucial mistakes that I have been bitten by in the past (the
most obvious being that all of these APIs were merged in Linux 5.2,
but the man pages all claim they were merged in different versions.)
- As the man pages appear to have been written from Howells's
perspective while implementing them, some of the wording is a little
too tied to the implementation (or appears to describe features that
don't really exist in the merged versions of these APIs).
- The original versions of the man-pages lacked bigger-picture
explanations of the reasoning behind the API, which would make it
easier for readers to understand what operations are doing.
I decided that the best way to resolve these issues is to rewrite them
from the perspective of an actual user of these APIs (me), and check
that we do not repeat the mistakes I found in the originals. I have
also done my best to resolve the issues raised by Michael Kerrisk on the
original patchset sent by Howells[1].
In addition, I have also included a man page for open_tree_attr(2) (as a
subsection of the new open_tree(2) man page), which was merged in Linux
6.15.
[1]: <https://lore.kernel.org/all/20190507204921.GL23075@ZenIV.linux.org.uk/>
[2]: <https://lore.kernel.org/linux-man/159680892602.29015.6551860260436544999.stgit@warthog.procyon.org.uk/>
[3]: <https://github.com/brauner/man-pages-md>
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-Id: <20250925-new-mount-api-v5-0-028fb88023f2@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
attribute-parameter distinction
This was not particularly well documented in mount(8) nor mount(2), and
since this is a fairly notable aspect of the new mount API, we should
probably add some words about it.
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-8-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is a new API added in Linux 6.15, and is effectively just a minor
expansion of open_tree(2) in order to allow for MOUNT_ATTR_IDMAP to be
changed for an existing ID-mapped mount. glibc does not yet have a
wrapper for this.
While working on this man-page, I discovered a bug in open_tree_attr(2)
that accidentally permitted changing MOUNT_ATTR_IDMAP for extant
detached ID-mapped mount objects. This is definitely a bug, but there
is no need to add this to BUGS because the patch to fix this has already
been accepted (slated for 6.18, and will be backported to 6.15+).
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-7-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
[alx: amend some examples: s/open_tree/&_attr/]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is loosely based on the original documentation written by David
Howells and later maintained by Christian Brauner, but has been
rewritten to be more from a user perspective (as well as fixing a few
critical mistakes).
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-6-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is loosely based on the original documentation written by David
Howells and later maintained by Christian Brauner, but has been
rewritten to be more from a user perspective (as well as fixing a few
critical mistakes).
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-5-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is loosely based on the original documentation written by David
Howells and later maintained by Christian Brauner, but has been
rewritten to be more from a user perspective (as well as fixing a few
critical mistakes).
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-4-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is loosely based on the original documentation written by David
Howells and later maintained by Christian Brauner, but has been
rewritten to be more from a user perspective (as well as fixing a few
critical mistakes).
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-3-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
[alx: s/name/key/; ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is loosely based on the original documentation written by David
Howells and later maintained by Christian Brauner, but has been
rewritten to be more from a user perspective (as well as fixing a few
critical mistakes).
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-2-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is loosely based on the original documentation written by David
Howells and later maintained by Christian Brauner, but has been
rewritten to be more from a user perspective (as well as fixing a few
critical mistakes).
Co-authored-by: David Howells <dhowells@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Co-authored-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250925-new-mount-api-v5-1-028fb88023f2@cyphar.com>
Reviewed-by: Askar Safin <safinaskar@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Message-ID: <3589b9717dacf9e21bea9317da0840ad9095d7f1.1758570745.git.git@hypodyne.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Kele Huang <kele@cs.columbia.edu>
Message-ID: <20250922035934.446271-6-kele@cs.columbia.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Kele Huang <kele@cs.columbia.edu>
Message-ID: <20250922035934.446271-5-kele@cs.columbia.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Kele Huang <kele@cs.columbia.edu>
Message-ID: <20250922035934.446271-4-kele@cs.columbia.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Kele Huang <kele@cs.columbia.edu>
Message-ID: <20250922035934.446271-3-kele@cs.columbia.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Kele Huang <kele@cs.columbia.edu>
Message-ID: <20250922035934.446271-2-kele@cs.columbia.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Most of these have been reported by 'make lint-man-dash'. A couple of
them were found manually.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is too common, and I don't see a solution in many cases.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Peter Xu <peterx@redhat.com>
[gbr: style fixes]
Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
|
|
And fix related issues while at it.
Silence false positives with \&.
Reported-by: `make lint-man-semnl`
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
pcre2grep(1) doesn't have a -T flag, so we need to script a bit to do
something similar.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Write poems, not prose.
This only catches the most obvious issues, but at least that's
something.
We need pcre2grep(3) because it allows multiple patterns, whereas
grep(1) in -P mode only accepts one.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This will be used for adding diagnostics about semantic newlines.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
All of the other new mount API docs have this lead-in sentence in order
to make this set of APIs feel a little bit more cohesive. Despite being
a bit of a latecomer, mount_setattr(2) is definitely part of this family
of APIs and so deserves the same treatment.
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250919-new-mount-api-v4-8-1261201ab562@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Clang doesn't know [[gnu::nonnull]].
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This silences -Wunterminated-string-initialization.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This silences -Wunused-parameter.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3611.txt>
Link: <https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=60b0949c939013bd8275fd9e6227014096d7c264>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3617.txt>
Link: <https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=60b0949c939013bd8275fd9e6227014096d7c264>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add the missing dot before "br", so that the command is properly
executed instead of printing a spurious "br" in the output.
Fixes: ab08f6698e57 (2020-04-24; "rtnetlink.7: Minor consistency fixes")
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Message-ID: <901f3e9f201e9dad7af3456ec7e21e738dfbd899.1758208304.git.gnault@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
struct to new page mount_attr(2type)
As with open_how(2type), it makes sense to move this to a separate man
page. In addition, future man pages added in this patchset will want to
reference mount_attr(2type).
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Message-ID: <20250919-new-mount-api-v4-1-1261201ab562@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
I based these changes on kernel commits [1], [2]. Man-page wording
changes inspired by [3]. Rationale for the syscall itself is from [4].
[1] linux.git 9dfa23c8de925041b7b45637a1a80a98a22f19dd
("quota: Add mountpath based quota support")
[2] linux.git 64c2c2c62f92339b176ea24403d8db16db36f9e6
("quota: Change quotactl_path() systcall to an fd-based one")
[3] <https://lore.kernel.org/all/20210304123541.30749-4-s.hauer@pengutronix.de/>
[4] <https://lwn.net/Articles/859679/>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: trillian <trillian@r9.pm>
Message-ID: <d89a3f923f2954d161a8d60e3002e1496d3327d5.1757174497.git.trillian@r9.pm>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Update with missing si_code values from Linux v6.16's
"include/uapi/asm-generic/siginfo.h".
Signed-off-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
Message-ID: <20250909191357.44951-1-thiago.bauermann@linaro.org>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Within recipes, variables have delayed expansion, which means that we
can't use variables that we've undefined. That's why we need to use
a filter to get the regex file name from the rule prerequisites. This
trick was suggested by Philip.
Cc: Philip Guenther <guenther@gmail.com>
Cc: Paul Smith <psmith@gnu.org>
Cc: Martin Dorey <Martin.Dorey@hitachivantara.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Christoph Anton Mitterer <calestyo@scientia.org>
Suggested-by: Christoph Anton Mitterer <calestyo@scientia.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 73cb5f18348c (2014-03-03; "locale.5: Document LC_ADDRESS")
Link: <https://www.open-std.org/jtc1/sc22/wg20/docs/n972-14652ft.pdf>
Link: <https://www.cept.org/cept/cept-country-codes>
Reported-by: Christoph Anton Mitterer <calestyo@scientia.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
I've verified that the build system produces the same amount of files
with 'make -R -j24 -k lint build-all check'. This was just to make sure
there are no silent regressions.
$ diff -u \
<(find ~/src/linux/man-pages/man-pages/contrib/.tmp/ -type f \
| sed s/contrib/X/ \
| sort) \
<(find ~/src/linux/man-pages/man-pages/main/.tmp/ -type f \
| sed s/main/X/ \
| sort);
--- /dev/fd/63 2025-09-11 10:44:37.386884907 +0200
+++ /dev/fd/62 2025-09-11 10:44:37.386884907 +0200
@@ -3,7 +3,7 @@
/home/alx/src/linux/man-pages/man-pages/X/.tmp/fonts/devpdf/TinosR
/home/alx/src/linux/man-pages/man-pages/X/.tmp/fonts/devpdf/TinosR.afm
/home/alx/src/linux/man-pages/man-pages/X/.tmp/fonts/devpdf/download
-/home/alx/src/linux/man-pages/man-pages/X/.tmp/man-pages-6.15-85-gbd98df418.pdf
+/home/alx/src/linux/man-pages/man-pages/X/.tmp/man-pages-6.15-77-g1d0de88eb.pdf
/home/alx/src/linux/man-pages/man-pages/X/.tmp/man/man1/diffman-git.1
/home/alx/src/linux/man-pages/man-pages/X/.tmp/man/man1/diffman-git.1.cat
/home/alx/src/linux/man-pages/man-pages/X/.tmp/man/man1/diffman-git.1.cat.grep
The file contents are slightly different, but that's because for some
reason groff(1) is not reproducible; I've checked some samples, and the
differences seem trivial, and unrelated to these build-system changes.
I've reported to the groff@ mailing list the lack of reproducibility of
groff(1).
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This reduces differences between makefiles, and also makes each makefile
specify the file extension only once, which reduces mistakes.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is so that adding or removing an exception doesn't trigger a
rebuild of the entire project.
This also makes the different files more similar, which reduces
maintenance work.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This simplifies the Makefile by de-duplicating code, and at the same
time verifies that the autodetection of the language works well.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: iwyu(1)
Fixes: 0e7a39804a3c (2025-08-20; "man/: EXAMPLES: Use err(3) and errc(3bsd) instead of similar macros")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Most of these are false positives, in the sense that a line break is
escaped, and the matching quote is in the next source line.
However, let's remove those escaped line breaks, which make reading the
source more difficult. For this, rename some parameters to be shorter,
and allow some lines to go slightly past the 80-column right margin.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
There's also a domain error if z is a NaN, so let's simplify wording.
See the comments in the source code, which remind that POSIX doesn't
mandate some of this, so this is GNU-specific.
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Suggested-by: Adam Sampson <ats@offog.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add a description of the RWF_DONTCACHE IO flag, which tells the kernel
that any page cache instantiated by this IO, should be dropped when the
operation has completed.
Reported-by: Christoph Hellwig <hch@infradead.org>
Cc: "Darrick J. Wong" <djwong@kernel.org>
Cc: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Cc: linux-fsdevel@vger.kernel.org
Co-authored-by: Jens Axboe <axboe@kernel.dk>
[alx: editorial improvements; srcfix, ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: a82917ada050 (2025-03-30; "man/: srcfix (\fX => \f[X])")
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: d180b72135ab (2024-12-24; "man/man3/: Don't use 'length' to refer to buffer size")
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Be consistent with the lowercase used elsewhere in the document.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Suggested-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
There's a mix of uses of both spellings. Unify on the latter.
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
parameters
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Acked-by: "Carlos O'Donell" <carlos@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Here we fix the only remaining mention of "mountpoint"
in all man pages
Signed-off-by: Askar Safin <safinaskar@zohomail.com>
Message-ID: <20250826083227.2611457-3-safinaskar@zohomail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
My edit is based on experiments and reading Linux code.
Signed-off-by: Askar Safin <safinaskar@zohomail.com>
Message-ID: <20250826083227.2611457-2-safinaskar@zohomail.com>
Reviewed-by: Aleksa Sarai <cyphar@cyphar.com>
[alx: wfix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Based on the date in the comment, the here provided URLs should point to
the mails that the gmane URL no longer can.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Message-ID: <20250829160200.756194-4-bigeasy@linutronix.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
These cases were found with a script:
$ grep -rn -P '^[^. #][^:%#]*[a-z] *[a-z][^;=%:]*$'
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
File descriptors are commonly called 'fd'. 'fildes' is weird and
confusing.
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 2dcad3cde34e (2024-05-31; "PR_SET_SECUREBITS.2const: Tweak after split")
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 6cb4a1f5f444 (2024-05-31; "PR_SET_TSC.2const: Tweak after split")
Fixes: cd74efc37571 (2024-05-31; "PR_GET_TSC.2const: Tweak after split")
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: a82917ada050 (2025-03-30; "man/: srcfix (\fX => \f[X])")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
I don't see that dot in my system. Let's remove it, as it might
distract the reader.
$ sudo ls -l /proc/self/map_files/ | head -n3
total 0
lr-------- 1 root root 64 Aug 23 15:51 555ad39d6000-555ad39da000 -> /usr/bin/ls
lr-------- 1 root root 64 Aug 23 15:51 555ad39da000-555ad39f1000 -> /usr/bin/ls
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: `make lint-man-blank`
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: Ingo Schwarze <schwarze@openbsd.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
groff's CHECKSTYLE already warns about this, but it's imperfect, and it
doesn't work with mdoc(7). This linter is simpler, and works better.
Suggested-by: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prevent splitting 'uname -m', and use italics instead of quotes.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
On Fri, Aug 22, 2025 at 05:09:42PM +0200, Ingo Schwarze wrote:
> > .TS
> > l l l
> > ---
>
> That's terrible style.
>
> Using "-" in the tbl(7) layout only makes sense when the same layout
> line also contains at least one cell that receives data.
>
> A horizontal line that extends across the table as a whole
> should *not* get its own layout line but can be specified purely
> in the data section of the table. That's not only more robust,
> but also results in source code that is easier to read and maintain.
>
> The above is not just convention, but also makes sense logically
> and is related to the root cause of your earlier blank line woes.
> A table line that receives no data should not be specified in the
> layout because every layout line requires at least one data line,
> so a layout line receiving no data is an oxymoron, and that logical
> contradiction is precisely what causes the issue of needing a
> blank line in the first place.
>
> Note that in a layout line that only contains "-" for *some* cells,
> while at leat one cell receives data, the problem does not occur
> because the coressponding data line(s) do contain actual data
> for at least one cell, so they are not blank.
Reported-by: Ingo Schwarze <schwarze@openbsd.org>
Suggested-by: Ingo Schwarze <schwarze@openbsd.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This table format specification was bogus. It specified 4 columns, but
we were only using 3. Due to the commit in which that was introduced,
I suspect it was just a typo that went unnoticed.
Fixes: 0ab815e900ce (2021-01-06; "man-pages.7: ffix: don't fill text in tables")
Reported-by: Ingo Schwarze <schwarze@openbsd.org>
Suggested-by: Ingo Schwarze <schwarze@openbsd.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Current version says that pread(2) and pwrite(2) only ever existed in
avr32 and blackfin archs, which were removed from kernel.
This is not true. pread(2) and pwrite(2) are present in modern Linux
for all archs. They were merely renamed to pread64(2) and pwrite64(2)
in Linux 2.6, as explained in big table in this manual page.
Signed-off-by: Askar Safin <safinaskar@zohomail.com>
Message-ID: <20250819161000.768159-3-safinaskar@zohomail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
There is pre-existing logic that appears to be undocumented for an
mremap() shrink operation, where it turns out that the usual 'input
range must span a single mapping' requirement no longer applies.
In fact, it turns out that the input range specified by [old_address,
old_address + old_size) may span any number of mappings.
If shrinking in-place (that is, neither the MREMAP_FIXED nor
MREMAP_DONTUNMAP flags are specified), then the new span may also span
any number of VMAs - [old_address, old_address + new_size).
If shrinking and moving, the range specified by [old_address,
old_address + new_size) must span a single VMA.
There must be at least one VMA contained within the [old_address,
old_address + old_size) range, and old_address must be within the range
of a VMA.
Explicitly document this.
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Message-ID: <ab2264d8c29d103d400c028f0417cada002ffc11.1754924278.git.lorenzo.stoakes@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
array parameters
Fixes: d2c2db8830f8 (2025-03-14; "man/: SYNOPSIS: Use GNU forward-declarations of parameters for sizes of array parameters")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
These functions are quite portable. And if one doesn't have them for
some reason (but libbsd has been ported to many systems), one can write
them easily as macros, anyway.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The strftime example requires a format paramter. If you don't pass one,
it crashes. Check for the parameter.
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Message-ID: <20250818174553.70132-1-dave@treblig.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This allows comparing them with the precedence of operators.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3550.pdf#subsubsection.0.6.5.4.5>
Link: <https://thephd.dev/the-big-array-size-survey-for-c>
Link: <https://thephd.dev/the-big-array-size-survey-for-c-results>
Link: <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117025>
Link: <https://github.com/llvm/llvm-project/issues/102836>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Message-ID: <20250819071728.1431543-4-bigeasy@linutronix.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The PR_FUTEX_HASH prctl interface was updated shortly before the release
of v6.16. The changes are:
- The functionality was disabled in v6.16 and enabled v6.17-rc1 after
some updates address the performance concerns.
- The "IMMUTABLE" functionality was removed.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Message-ID: <20250819071728.1431543-2-bigeasy@linutronix.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Make the example check for an executable name on the command line
rather than segfaulting in the child.
Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
Message-ID: <20250818225910.101238-1-dave@treblig.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The .ru_maxrss member was documented as using "kilobytes" as its unit.
However, the value is actually in multiples of 1024 bytes, which is
correctly referred to as "kibibytes" (KiB) according to the IEC
standard.
Message-ID: <20250818075905.40146-1-himself65@outlook.com>
Cc: Collin Funk <collin.funk1@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
It doesn't provide any macros, as said later in the page. The
programmer must either define the macros itself, or use the raw values.
Fixes: e5a173829179 (2021-06-20; "syslog.2: Use syscall(SYS_...); for raw system calls")
Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=220273>
Reported-by: Nathaniel Manista <nathaniel@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=219335>
Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
Message-ID: <20250818042558.95341-1-alex.t.tran@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The current mallinfo2() example segfaults on 64bit Linux.
This happens because it builds a large 'alloc' array
on the stack, which is currently 2M entries, each of which
is a pointer, so hitting 16MB which is more than the default
Linux stack ulimit of 8MiB.
Reduce it.
Signed-off-by: "Dr. David Alan Gilbert" <dave@treblig.org>
Message-ID: <20250816204252.63616-1-dave@treblig.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document the new behaviour introduced in Linux 6.17 whereby it is now
possible to move multiple mappings in a single operation, as long as the
operation is purely a move, that is, old_size == new_size and
MREMAP_FIXED is specified.
This change also explains the limitations of this method and the
possibility of partial failure.
Finally, we pluralise language where it makes sense to so the documentation
does not contradict either this new capability nor the pre-existing edge
case.
Example code is enclosed below demonstrating the behaviour which is now
possible:
#define _GNU_SOURCE
#include <err.h>
#include <stddef.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <unistd.h>
int
main(void)
{
void *ptr, *tgt_ptr;
size_t page_size;
page_size = sysconf(_SC_PAGESIZE);
ptr = mmap(NULL, 10 * page_size, PROT_READ | PROT_WRITE,
MAP_ANON | MAP_PRIVATE, -1, 0);
if (ptr == MAP_FAILED)
err(EXIT_FAILURE, "mmap");
tgt_ptr = mmap(NULL, 10 * page_size, PROT_NONE,
MAP_ANON | MAP_PRIVATE, -1, 0);
if (tgt_ptr == MAP_FAILED)
err(EXIT_FAILURE, "mmap");
/* Unmap every other page. */
for (int i = 1; i < 10; i += 2)
munmap(ptr + i * page_size, page_size);
/* Now move all 5 distinct mappings to tgt_ptr. */
ptr = mremap(ptr, 10 * page_size, 10 * page_size,
MREMAP_MAYMOVE | MREMAP_FIXED, tgt_ptr);
if (ptr == MAP_FAILED)
err(EXIT_FAILURE, "mremap");
exit(EXIT_SUCCESS);
}
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Message-ID: <4e0c992a6374e417367475e3b3bbbc9d43380f4c.1754924278.git.lorenzo.stoakes@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
In preparation for discussing newly introduced mremap() behaviour to
permit the move of multiple mappings at once, add a section to the
this manual page to describe these operations in general.
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Message-ID: <0a5d0d6e9f75e8e2de05506f73c41b069d77de36.1754924278.git.lorenzo.stoakes@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Ian <ilc@ilcharle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Christopher Bazley <chris.bazley.wg14@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Askar Safin <safinaskar@zohomail.com>
Cc: Aleksa Sarai <cyphar@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Aleksa Sarai <cyphar@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
glibc 2.36 added syscall wrappers for the entire family of fd-based
mount syscalls, including mount_setattr(2). Thus it's no longer
necessary to instruct users to do raw syscall(2) operations.
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Cc: <linux-api@vger.kernel.org>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>
Cc: "Michael T. Kerrisk" <mtk.manpages@gmail.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Jan Kara <jack@suse.cz>
Cc: Askar Safin <safinaskar@zohomail.com>
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Christian Brauner <brauner@kernel.org>
Message-ID: <20250807-new-mount-api-v2-1-558a27b8068c@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Suggested-by: Aleksa Sarai <cyphar@cyphar.com>
Acked-by: Aleksa Sarai <cyphar@cyphar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|