| Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
Cc: "G. Branden Robinson" <branden@debian.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>
|
|
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>
Cc: "G. Branden Robinson" <branden@debian.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>
|
|
The "+1" is wrong, since the kernel already increments the last_id.
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Josef Bacik <josef@toxicpanda.com>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Message-ID: <20241113-main-v1-1-a6b738d56e55@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Improve description of %a format.
The description of the %a/%A specifiers in the printf(3) man page
could stand some improvement. In particular, it is not clear from the
current document what base is used for the "p±d" part of the format.
It can be inferred from the nature of %a that the base should be a power
of two. And it can be further inferred from the nature of hexadecimal
floating-point literals in C (as specified by C99 and later) that the
base must exactly be the number two, but it would be helpful for the
printf(3) man page to state this explicitly. My first expectation when
reading the man page was that the exponent would be taken in base 16;
after experimentation my second thought was that it would be base
FLT_RADIX (which is 2 on IEEE 754 floating-point systems, but 16 on
S/390). Only by going back to the standard [1] could I determine that
the exponent in p-notation must always be taken from a base of 2.
Link: [1] POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/printf.html>
Cc: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Ken Pizzini <ken@gnu.org>
Message-ID: <b932f13642502e063ef139d57b8f3c496023bf4a.1731707666.git.ken@gnu.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Improve terminology in %a description
The term "decimal point" does not technically apply when using bases
other than 10; the more generic term is "radix point". Update the
description of the a/A conversion specifier (i.e., for hexadecimal
floating point output) in printf(3) to use this terminology.
I do note that POSIX.1-2024 [1] does use the term "decimal-point
character" here, but I still maintain that using "radix point" is a
better term for that object in the %a description. (Confusingly, POSIX
does refer to "radix character" in the descriptions of %f and %e, where
reference to "decimal" instead of "radix" would actually make sense.)
Link: [1] <https://pubs.opengroup.org/onlinepubs/9799919799/functions/printf.html>
Signed-off-by: Ken Pizzini <ken@gnu.org>
Message-ID: <db91cc6f-93cc-4e99-806c-7a8b86232848@vagg4fs7.msa.explicate.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
nmemb is a pointer, so it needs to be dereferenced to calculate the size
of the array.
Reported-by: Martin Uecker <uecker@tugraz.at>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Antti Antinoja <antti@c1.fi>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
struct ifa_cacheinfo contains the address's creation time, update time,
preferred lifetime remaining, and valid lifetime remaining.
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/if_addr.h?h=v6.11#n60>
Cc: <netdev@vger.kernel.org>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Message-ID: <20241111062205.207027-1-alexhenrie24@gmail.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a4609387859f0281951f5e476d9f76d7fb9ab321>
Cc: Brian Geffon <bgeffon@google.com>
Cc: <linux-mm@kvack.org>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Message-ID: <20241111061139.206404-1-alexhenrie24@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 082547cb6fbb ("share/mk/: Reduce the work of 'make && make install'")
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>
|
|
between patch revisions
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
a patch
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is in preparation of a split that will happen soon.
The file has grown too much, and I will split it in smaller ones that
cover different aspects of patches.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
EADDRNOTAVAIL is not a socket specific error
Message-ID: <eee2fe5c6c3d6203e1e528a998b0de2c.philipp@bureaucracy.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Clarify the conditions for getting the -EXDEV and -ENODEV errors.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-ID: <20241105144939.181820-1-amir73il@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Jona Christopher Sahnwaldt <jcsahnwaldt@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
within man/
I changed the behavior at some point to trim the dirname(1) for every
file. However, that was mainly due to the inconvenience of not having a
man/ directory. Also, I haven't been consistent with that behavior, and
have been manually adding back the dirname(1), so let's bring back the
old behavior --which is BTW still what the comment says it does--.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Setting it to true is equivalent to "shallow", but set it explicitly.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add some spaces for readability and consistency.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
We want to enable this warning again in the future, but for now it has
too many false positives.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
-readability-avoid-nested-conditional-operator
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>
|
|
Adding braces unnecessarily adds noise and thus hurts readability.
Ignore advice.
===
In src/bin/mansect line 23:
-e '(?s)^\.SH ('"$s"')$(?:(?!^\.(lf 1|TH|SH) ).)*';
^-- SC2250 (style): Prefer putting braces around variable references even when not strictly required.
===
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This triggers false positives with trivial PCRE2 regexes.
===
In src/bin/mansect line 23:
-e '(?s)^\.SH ('"$s"')$(?:(?!^\.(lf 1|TH|SH) ).)*';
^----------------------------^ SC2016 (info): Expressions don't expand in single quotes, use double quotes for that.
===
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
We don't want to support arbitrary manual-page file names.
===
In src/bin/mansect line 17:
find -H "$@" -not -type d \
^-----------------------^ SC2038 (warning): Use -print0/-0 or -exec + to allow for non-alphanumeric filenames.
===
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is more readable than nested command substitution. We already
require bash(1) for ${!#}, so we can abuse it a little bit more.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is significantly more readable.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
program, and add a manual page
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Run man(1) transparently, and let it report the error.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
pcregrep(1)
pcregrep(1) is obsolete.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Remove the man_section() function, and call the mansect(1) program
instead.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Preprocess with preconv(1). This doesn't process the pages in a
significant way, and has the benefit that it writes the name of the
pages in the output.
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: Colin Watson <cjwatson@debian.org>
Cc: <groff@gnu.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
SIGFPE has comment "Floating-point exception", which corresponds to
the FPE acronym. But this is misleading as this signal may also be
generated by an integer division by 0.
Change it to "Erroneous arithmetic operation" from POSIX.
Note: the GNU C Library manual says "fatal arithmetic error".
Link: <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html>
Link: <https://www.gnu.org/software/libc/manual/html_node/Program-Error-Signals.html>
Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is useful for maintainers.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
features
Link: <https://lwn.net/Articles/989380/>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Günther Noack <gnoack@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
dup2(2) could return ENOMEM under extreme condition. For example, when
sysctl fs.nr_open=2147483584, and RLIMIT_NOFILE is also 2147483584.
The following program fails with ENOMEM:
int
main(void)
{
if (dup2(0, 2000000000) == -1)
err(1, "dup2");
return 0;
}
This ENOMEM comes from an allocation error here:
<https://elixir.bootlin.com/linux/v6.1/source/mm/util.c#L596>
ENOMEM is already documented for open(2).
Signed-off-by: Levi Zim <rsworktech@outlook.com>
[alx: tweak commit message]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
When looking through the errors of socket(2) I noticed that it specifies
the selected underlying protocol may extend the potential errors
returned. For example, using AF_PACKET and SOCK_RAW can return EPERM if
the user does not have CAP_NET_RAW or uid 0 (this is all fully
documented).
However, AF_PACKET and SOCK_RAW extend the potential errors returned
from bind(2) as well. For example, calling bind(2) with an invalid
sll_ifindex set on the sock_addr passed in will return ENODEV.
While this possibility is documented in the raw(7) manual page, the
bind(2) manual page does not mention that its potential set of errors
can be extended by the underlying protocol. This patch simply
duplicates the relevant language from the socket(2) manual page to the
bind(2) manual page.
It is possible further extensions for send(2), recv(2), setsockopt(2),
etc. are also undocumented, but I have not yet verified this.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <lacitlat2jwybavkgkmmsxfbzcbz532uihejn5k2boe2x5eyyy@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Rewrite man page cross references inside tbl(1) text blocks to use
man(7) macros instead of troff(1) font selection escape sequences.
$ cat fix-man-page-refs-in-tbl-tables-1.sed
# Rewrite man page cross references inside tbl(1) text blocks to use
# man(7) macros instead of troff(1) font selection escape sequences.
/^\.\\"/b
# Case: (handled in commit 9d21f97766, 2024-07-27)
# T{
# See \fBchown\fP(2) for
# T}
/T{$/,/^T}/s/ \\fB\([^\\]*\)\\fP\(([0-9][a-z]*)\) /\
.BR \1 \2\
/
# Case:
# T{
# the map that is loaded by the utility \fBmapscrn\fP(8).
# T}
/T{$/,/^T}/s/ \\fB\([^\\]*\)\\fP\(([0-9][a-z]*)\)\([^0-9a-z]\+\)$/\
.BR \1 \2\3/
# Case:
# T{
# by \fBxterm\fP(1)'s \fBhpLowerleftBugCompat\fP resource).
# T}
/T{$/,/^T}/s/ \\fB\([^\\]*\)\\fP\(([0-9][a-z]*)\)\([^ ]\+\) \(.*\)/\
.BR \1 \2\3\
\4/
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032603.khxdcqiqc2pxooky@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Migrate man page cross references in "SEE ALSO" section from using font
selection escape sequences to font alternation macros to set man page
cross references.
This is an oddball case where `\-` appears in the man page title and,
for no obvious reason, a nonbreaking space escape sequence was applied
between list items. (I can _guess_ why: someone was trying to defeat
line adjustment, and didn't notice that they were trying to do so right
before a paragraph break, so adjustment wouldn't have happened anyway.)
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032556.mmrwd27rpr3zzb5s@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Migrate man page cross references in table rows from using font
selection escape sequences to font alternation macros to set man page
cross references.
These are a handful of cases that made a sed(1)-scripted migration
ordering-dependent with its substitution ('s') commands.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032548.olkeoqjwpj76h42b@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Migrate man page cross references in unfilled examples from using font
selection escape sequences to font alternation macros to set man page
cross references.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032530.wrvbtb4wisgnkcns@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Set init(1) man page cross references like all the others in the page.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032523.qsfzdca46pcr524f@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Convert from unfilled text using `nf` and `fi` requests to `IP` macro
calls and tbl(1) tables.
This change increases the item indentation slightly, as I elected not to
specify one in the `IP` calls. The content still fits easily in an
80-column terminal.
The reason for this change is to make the man page cross references
susceptible to scripted rewriting (and ultimately to make them
hyperlinkable). See, e.g.,
<https://lore.kernel.org/linux-man/20240831182027.b6pduwkthk5b3tcf@illithid/>.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032513.afty634vpnhe24zi@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Use *roff requests to shut off adjustment and hyphenation for the
rightmost column of the table, which uses text blocks. (In man pages,
use of such requests _outside_ of tbl(1) text blocks remains discouraged
by groff(1) and mandoc(1) developers.)
Also break filled input lines less aggressively.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032505.ralmc2yuwd4psgos@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Put a paragraph break above the table to ensure separation from the
preceding paragraph with the man(7) macros from groff >= 1.23 and
forthcoming mandoc(1) release.
Draw a horizontal rule under the column headings.
Link: <https://cvsweb.bsd.lv/mandoc/man_term.c?rev=1.241&content-type=text/x-cvsweb-markup>
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240901032453.3dmhjz7urk2saizq@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This generates patch sets as threads, with a Message-ID pre-set for the
first mail.
Cc: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Let the table columns breathe again.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240831182057.u6mza33uhz55j3xd@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Explicitly set the width of certain table columns so that they don't
change or cause "can't break line" warnings from troff(1) when the rows
are converted to use text blocks.
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240831182045.kvhjjxbztnhudjga@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Prepare for `MR` macro migration.
Migrate table entries from using font selection escape sequences to font
alternation macros to set man page cross references.
This change was automatically driven by the following sed(1) script.
$ cat fix-man-page-refs-in-tbl-tables-2.sed
# Rewrite man page cross references on tbl(1) rows that
# precede text blocks to themselves use text blocks,
# and convert them to use man(7) macros
# instead of troff(1) font selection escape sequences
# (which cannot be done outside a text block).
/^\.\\"/b
/^\\fB[^\\]*\\fP([0-9][a-z]*).*T{/s/\\fB\([^\\]*\)\\fP\(([0-9][a-z]*)\)\(.*\)/T{\
.BR \1 \2\
T}\3/
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240831182027.b6pduwkthk5b3tcf@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
NetBSD has tzalloc(3), which returns NULL to report invalid tme zones.
Cc: Paul Eggert <eggert@cs.ucla.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This example documents how to detect some corner cases of mktime(3),
such as DST transitions and other jumps in the calendar.
Link: <https://www.redhat.com/en/blog/brief-history-mktime>
Cc: DJ Delorie <dj@redhat.com>
Cc: Carlos O'Donell <carlos@redhat.com>
Cc: Paul Eggert <eggert@cs.ucla.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Handling of "invalid" values for tm_isdst is not clearly specified
in any standard, and implementations vary as to how they react when you
(for example) pass tm_isdst=1 at a time when DST is not in effect.
Add a note about this, and a suggestion for a workaround.
I go into further detail about this in the link below.
Link: <https://www.redhat.com/en/blog/brief-history-mktime>
Cc: Paul Eggert <eggert@cs.ucla.edu>
Cc: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: DJ Delorie <dj@redhat.com>
Message-ID: <xncylqiznb.fsf@greed.delorie.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
See Linux commit 46c4c9d1beb7f5b4cec4dd90e7728720583ee348
("pipe: increase minimum default pipe size to 2 pages").
Cc: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Message-ID: <20240829204448.2027276-2-kstewart@efficios.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The default capacity of pipes is two pages for users exceeding the
pipe-user-pages-soft limit. Before Linux 5.14, it was only one page.
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Message-ID: <20240829154304.2010305-2-kstewart@efficios.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
First added in glibc 2.36, backported upstream to glibc 2.34,
so mention 2.34.1 for the first version.
Signed-off-by: Florian Weimer <fweimer@redhat.com>
Message-ID: <87o75chpwb.fsf@oldenburg.str.redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The manual pages in this project had historically used the 5th argument
to TH, with the string "Linux Programmer's Manual". This was showed as
the center-top title of the pages. This was incidentally consistent
with the UNIX Programmer's Manual.
A few years ago, I removed the 5th argument to TH to use the default
string, to follow conventions. At the same time, I put the project name
and version in the 4th argument to TH: "Linux man-pages X.Y".
When we added the scripts written by Deri to produce a PDF book, the
title of the book was "The Linux Manpage Book", and the front page said
"GNU/Linux\nTHE MAN PAGES BOOK". For consistency with the project name,
I changed those some time ago to be title: "The Linux man-pages Book"
and front: "GNU/Linux\nTHE MAN-PAGES BOOK".
However, for consistency with the UNIX Programmer's Manual, and with the
old title used within the project, I'm now (partially) restoring the
title of the book and its front page to be both:
"GNU/Linux Programmer's Manual".
(It's not fully restorative, because it has GNU/Linux where the old
title had just Linux, but half of our documentation is for glibc, so I
think it's deserved.)
(I was never convinced by the old front text: why should it have the
word "book"?)
Cc: Douglas McIlroy <douglas.mcilroy@dartmouth.edu>
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: Deri James <deri@chuzzlewit.myzen.co.uk>
Cc: "Michael T. Kerrisk" <mtk.manpages@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://git.kernel.org/torvalds/c/0ef625bba6fb>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Message-ID: <20240827102518.43332-2-xry111@xry111.site>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This diagnostic is triggered by valid calls to printf(3).
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This example demonstrates the use of off_out, which the tee(2) example
doesn't use.
Here's a run of the program:
$ gcc -Wall -Wextra splice.c
$ ./a.out
New offset is 22
$ echo $?
0
$ hd out
00000000 00 00 00 00 00 00 00 00 00 00 48 65 6c 6c 6f 2c |..........Hello,|
00000010 20 77 6f 72 6c 64 | world|
00000016
Link: <https://lore.kernel.org/linux-man/4xw464u2munxbgujopgfggxvnvgxa2b5lh35eriaeziapaa4uq@z6jmdim6f5mo/T/#t>
Co-developed-by: Absee Seeab <doesnt.look.like.temp.mail@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://lore.kernel.org/linux-man/4xw464u2munxbgujopgfggxvnvgxa2b5lh35eriaeziapaa4uq@z6jmdim6f5mo/T/#t>
Reported-by: Absee Seeab <doesnt.look.like.temp.mail@gmail.com>
Co-developed-by: Absee Seeab <doesnt.look.like.temp.mail@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The example program in ctime(3) triggers that diagnostic due to a
compile-time check of the signedness of time_t. The code is legitimate.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
-1 is a valid successful time_t, for one second before the Epoch. And
mktime(3) is allowed (like most libc calls) to set errno on success.
This makes it impossible to determine errors from the return value or
errno.
ISO C specifies that tp->tm_wday is unmodified after a failed call, and
puts an example where this is used to determine errors. It is indeed
the only way to check for errors from this call.
Document this detail in the RETURN VALUE section, add a CAVEATS section
that warns about this, and write an example program that shows how to
properly call this function.
Most code I've been able to find in several search engines either
doesn't check for errors after mktime(3), or checks them incorrectly, so
this documentation should help fix those.
This is guaranteed since ISO C23 and POSIX.1-2024. Prior to those
standards, there was no standard way to check for errors. However,
there are no known implementations that do not conform to this.
Link: <https://lore.kernel.org/linux-man/20240823131024.GD2713@cventin.lip.ens-lyon.fr/T/#t>
Link: <https://lore.kernel.org/linux-man/6un6baaq5tez23irtycuvzqtuh7a4sdrf2px7tnyb3y6iqoxmq@2ofln4cd27ep/T/#t>
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3147.txt>
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3148.doc>
Link: <https://austingroupbugs.net/view.php?id=1614>
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#subsubsection.7.29.2.3>
Reported-by: Paul Eggert <eggert@cs.ucla.edu>
Cc: Vincent Lefevre <vincent@vinc17.net>
Cc: DJ Delorie <dj@redhat.com>
Cc: Carlos O'Donell <carlos@redhat.com>
Cc: Xi Ruoyao <xry111@xry111.site>
Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Cc: "Robert C. Seacord" <rcseacord@gmail.com>
Cc: Jens Gustedt <jens.gustedt@inria.fr>
Cc: Robert Elz <kre@munnari.oz.au>
Cc: Andrew Josey <ajosey@opengroup.org>
Cc: Geoff Clare <gwc@opengroup.org>
Cc: Hans Åberg <haberg-1@telia.com>
Cc: GNU C Library <libc-alpha@sourceware.org>
Cc: Austin Group <austin-group-l@opengroup.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>
|
|
keyctl(2)
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>
|
|
keyctl(2)
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>
|
|
from keyctl(2)
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>
|
|
keyctl(2)
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>
|
|
from keyctl(2)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
KEYCTL_NEGATE.2const, KEYCTL_REJECT.2const: Split KEYCTL_INSTANTIATE*, KEYCTL_NEGATE, KEYCTL_REJECT from keyctl(2)
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
KEYCTL_JOIN_SESSION_KEYRING from keyctl(2)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
keyctl(2)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
There's no point documenting this syscall at any point in time,
because it changed constantly. A post-mortem summary I believe to be
comprehensive is included below.
The #include <sys/kdaemon.h> was removed in glibc 2.23:
commit eed3e1eb79bcfa9b52609fd875fa2d522e2d6bce
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon Dec 14 22:52:15 2015 +0000
Make obsolete syscall wrappers into compat symbols (bug 18472).
* bdflush: in Linux 2.6, does nothing if present.
[...]
generated for such aliases. Those five syscalls are then made into
compat symbols (obsoleted in glibc 2.23, so future ports won't have
these symbols at all), with the header <sys/kdaemon.h> declaring
bdflush being removed. When we move to 3.2 as minimum kernel version,
the same can be done for nfsservctl (removed in Linux 3.1) as well.
[...]
Appears in 1.1.3
(func=0 turns the calling process into the bdflush daemon,
func=1 return sync_old_buffers();,
func>=2 is parameters):
Author: Linus Torvalds <torvalds@linuxfoundation.org>
Import 1.1.3
+/* This is the interface to bdflush. As we get more sophisticated, we can
+ * pass tuning parameters to this "process", to adjust how it behaves. If you
+ * invoke this again after you have done this once, you would simply modify
+ * the tuning parameters. We would want to verify each parameter, however,
+ * to make sure that it is reasonable. */
+
+asmlinkage int sys_bdflush(int func, int data)
+{
bdflush() is just a kernel thread, and func 0 is just return 0; since 1.3.50:
Author: Linus Torvalds <torvalds@linuxfoundation.org>
Import 1.3.50
- /* Basically func 0 means start, 1 means read param 1, 2 means write param 1, etc */
+ /* Basically func 1 means read param 1, 2 means write param 1, etc */
if (func >= 2) {
i = (func-2) >> 1;
if (i < 0 || i >= N_PARAM)
@@ -1930,13 +1845,32 @@ asmlinkage int sys_bdflush(int func, long data)
bdf_prm.data[i] = data;
return 0;
};
+
+ /* Having func 0 used to launch the actual bdflush and then never
+ return (unless explicitly killed). We return zero here to
+ remain semi-compatible with present update(8) programs. */
+
+ return 0;
+}
+
+/* This is the actual bdflush daemon itself. It used to be started from
+ * the syscall above, but now we launch it ourselves internally with
+ * kernel_thread(...) directly after the first thread in init/main.c */
+
+int bdflush(void * unused) {
func 1 is actually exit(0) since 2.3.23pre1:
Author: Linus Torvalds <torvalds@linuxfoundation.org>
Import 2.3.23pre1
if (func == 1) {
+ /* do_exit directly and let kupdate to do its work alone. */
+ do_exit(0);
+#if 0 /* left here as it's the only example of lazy-mm-stuff used from
+ a syscall that doesn't care about the current mm context. */
fund!=0 is a return 0 since 2.5.12:
Author: Andrew Morton <akpm@zip.com.au>
Date: Mon Apr 29 23:52:10 2002 -0700
[PATCH] writeback from address spaces
[ I reversed the order in which writeback walks the superblock's
dirty inodes. It sped up dbench's unlink phase greatly. I'm
such a sleaze ]
The core writeback patch. Switches file writeback from the dirty
buffer LRU over to address_space.dirty_pages.
- The buffer LRU is removed
- The buffer hash is removed (uses blockdev pagecache lookups)
- The bdflush and kupdate functions are implemented against
address_spaces, via pdflush.
[...]
Deprecated since 2.5.52:
Author: Andrew Morton <akpm@digeo.com>
Date: Sat Dec 14 03:16:29 2002 -0800
[PATCH] deprecate use of bdflush()
Patch from Robert Love <rml@tech9.net>
We can never get rid of it if we do not deprecate it - so do so and
print a stern warning to those who still run bdflush daemons.
Removed outright in 5.15-rc1:
commit b48c7236b13cb5ef1b5fdf744aa8841df0f7b43a
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Tue Jun 29 15:11:44 2021 -0500
exit/bdflush: Remove the deprecated bdflush system call
The bdflush system call has been deprecated for a very long time.
Recently Michael Schmitz tested[1] and found that the last known
caller of of the bdflush system call is unaffected by it's removal.
Since the code is not needed delete it.
[1] https://lkml.kernel.org/r/36123b5d-daa0-6c2b-f2d4-a942f069fd54@gmail.com
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <ynknns52cczu2bxtazbmub3xxe62a2hajkod2qephnby5dqt7o@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Song Liu <songliubraving@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: John Fastabend <john.fastabend@gmail.com
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "Borislav Petkov (AMD)" <bp@alien8.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
Cc: Deepak Gupta <debug@rivosinc.com>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Message-ID: <20240611112158.40795-10-jolsa@kernel.org>
[alx: minor tweaks]
Acked-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 1838a55edd6c47cb ("regex.3: Desoupify regexec() description")
Signed-off-by: Dirk Gouders <dirk@gouders.net>
Message-ID: <20240813185011.3806-1-dirk@gouders.net>
Reviewed-by: наб <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This prevents rows breaking when they could just go further to the right
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <qruxkxy2wtmmaohagimcanhyoyfvmtzn3zmbasxqsgn5tvjfgc@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Morten Welinder <mwelinder@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The current "If x is 0" condition is a bit misleading because "is"
is not the equality test (just like when saying "x is NaN") and 0
as a FP number stands for +0, while this condition should apply to
both -0 and +0.
Replace this condition by "If x is +0 or -0".
Replace "Nan" by "NaN" (typography used everywhere else).
Cc: Dave Kemper <saint.snit@gmail.com>
Cc: "G. Branden Robinson" <branden@debian.org>
Cc: Damian McGuckin <damianm@esi.com.au>
Cc: John Gardner <gardnerjohng@gmail.com>
Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
Message-ID: <20240808115610.GC2669@cventin.lip.ens-lyon.fr>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This patch clears up the wording of the first part of the BUGS section
of the sigaction(2) manual page. Currently, it is very unclear when
exactly the bug can occur, and there is no example, which I aim to
fix. The text of the patch is partially based on the BUGS section of
the signal(2) manual page.
I also attach a C program that, when run on an x86 Linux computer,
shows that my example behaves like I say it does. The code runs the
int instruction for each value from 0 to 255 with all registers set to
0 to show that all fields of the siginfo_t besides si_signo and
si_code equal zero. The program is based on the attachment to bug
205831 on the kernel bugtracker which first dealt with this issue,
which you can find here:
<https://bugzilla.kernel.org/show_bug.cgi?id=205831>. This is the code
of the test program:
#define CR "\n\t"
#define _GNU_SOURCE 1
#include <stdbool.h>
#include <signal.h>
#include <stdint.h>
#include <stdio.h>
static siginfo_t siginfo;
void
handler(int sig, siginfo_t *info, void *ucontext)
{
ucontext_t *uc = (ucontext_t*) ucontext;
const uint8_t *pc = (const uint8_t*) uc->uc_mcontext.gregs[REG_RIP];
siginfo = *info;
// skip the faulting instruction
if(*pc == 0xCC || *pc == 0xF1)
uc->uc_mcontext.gregs[REG_RIP] += 1;
else if(*pc == 0xCD)
uc->uc_mcontext.gregs[REG_RIP] += 2;
else
; //assume the PC has already been advanced over the fault
}
static __attribute__((noinline)) void
call_int(unsigned char argument)
{
asm volatile(
"leaq 1f(%%rip), %%rcx"
CR "addq %%rcx, %%rax"
CR "xor %%rbx, %%rbx"
CR "xor %%rcx, %%rcx"
CR "xor %%rdx, %%rdx"
CR "xor %%rsi, %%rsi"
CR "xor %%rdi, %%rdi"
CR "xor %%rbp, %%rbp"
CR "xor %%r8, %%r8"
CR "xor %%r9, %%r8"
CR "xor %%r10, %%r10"
CR "xor %%r11, %%r11"
CR "xor %%r12, %%r12"
CR "xor %%r13, %%r13"
CR "xor %%r14, %%r14"
CR "xor %%r15, %%r15"
CR "call *%%rax"
CR "jmp 2f"
CR ".p2align 3"
"\n1:"
CR ".irp i,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
CR ".irp j,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
CR "xor %%rax, %%rax"
CR ".byte 0xCD,(\\i*16 + \\j)"
CR "ret"
CR ".p2align 3"
CR ".endr"
CR ".endr"
"\n2:"
:
: "a" (argument * 8)
: "rbx", "rcx", "rdx", "rsi", "rdi",
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
);
}
int
main(void)
{
struct sigaction sa = { 0 };
sa.sa_sigaction = &handler;
sa.sa_flags = SA_SIGINFO | SA_RESTART;
sigaction(SIGSEGV, &sa, 0);
sigaction(SIGTRAP, &sa, 0);
for(int i = 0; i < 256; i++) {
call_int(i);
bool others_zeroed = (
siginfo.si_errno == 0 &&
siginfo.si_pid == 0 &&
siginfo.si_uid == 0 &&
siginfo.si_status == 0 &&
siginfo.si_utime == 0 &&
siginfo.si_stime == 0 &&
siginfo.si_value.sival_ptr == 0 &&
siginfo.si_value.sival_int == 0 &&
siginfo.si_int == 0 &&
siginfo.si_ptr == 0 &&
siginfo.si_overrun == 0 &&
siginfo.si_timerid == 0 &&
siginfo.si_addr == 0 &&
siginfo.si_band == 0 &&
siginfo.si_fd == 0 &&
siginfo.si_addr_lsb == 0 &&
siginfo.si_lower == 0 &&
siginfo.si_upper == 0 &&
siginfo.si_pkey == 0 &&
siginfo.si_call_addr == 0 &&
siginfo.si_syscall == 0 &&
siginfo.si_arch == 0
);
printf("int $0x%02x: sig=%2d code=%04x others_zeroed=%i\n",
i,
siginfo.si_signo,
siginfo.si_code,
others_zeroed
);
}
return 0;
}
Link: <https://bugzilla.kernel.org/show_bug.cgi?id=205831>
Cc: Zack Weinberg <zackw@panix.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Mikołaj Kołek <kolek.mikolaj@gmail.com>
Message-ID: <CAHGiy69OQ78x42+6iE7HqAiOaPCscn8fs=VNaxFMNSR7Q9R-mw@mail.gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Vincent Lefevre <vincent@vinc17.net>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
For the moment, the edge-triggered epoll generates an event for each
receipt of a chunk of data, that is to say, epoll_wait() will return
and tell us a monitored file descriptor is ready whenever there is a
new activity on that FD since we were last informed about that FD.
This is not a real _edge_ implementation for epoll, but it's been
working this way for years and plenty of projects are relying on it
to eliminate the overhead of one system call of read(2) per wakeup event.
There are several renowned open-source projects relying on this feature
for notification function (with eventfd): register eventfd with EPOLLET
and avoid calling read(2) on the eventfd when there is wakeup event (eventfd being written).
Examples: nginx [1], netty [2], tokio [3], libevent [4], ect. [5]
These projects are widely used in today's Internet infrastructures.
Thus, changing this behavior of epoll ET will fundamentally break them
and cause a significant negative impact.
Linux has changed it for pipe before [6], breaking some Android libraries,
which had got "reverted" somehow. [7] [8]
Nevertheless, the paragraph in the manual pages describing this
characteristic of epoll ET seems ambiguous, I think a more explict
sentence should be used to clarify it. We're improving the notification
mechanism for libuv recently by exploiting this feature with eventfd,
which brings us a significant performance boost. [9]
Therefore, we (as well as the maintainers of nginx, netty, tokio, etc.)
would have a sense of security to build an enhanced notification function
based on this feature if there is a guarantee of retaining this implementation
of epoll ET for the backward compatibility in the man pages.
[1]: https://github.com/nginx/nginx/blob/efc6a217b92985a1ee211b6bb7337cd2f62deb90/src/event/modules/ngx_epoll_module.c#L386-L457
[2]: https://github.com/netty/netty/pull/9192
[3]: https://github.com/tokio-rs/mio/blob/309daae21ecb1d46203a7dbc0cf4c80310240cba/src/sys/unix/waker.rs#L111-L143
[4]: https://github.com/libevent/libevent/blob/525f5d0a14c9c103be750f2ca175328c25505ea4/event.c#L2597-L2614
[5]: https://github.com/libuv/libuv/pull/4400#issuecomment-2123798748
[6]: https://lkml.iu.edu/hypermail/linux/kernel/2010.1/04363.html
[7]: https://github.com/torvalds/linux/commit/3a34b13a88caeb2800ab44a4918f230041b37dd9
[8]: https://github.com/torvalds/linux/commit/3b844826b6c6affa80755254da322b017358a2f4
[9]: https://github.com/libuv/libuv/pull/4400#issuecomment-2103232402
Signed-off-by: Andy Pan <i@andypan.me>
Cc: <linux-api@vger.kernel.org>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Message-ID: <20240801-epoll-et-desc-v5-1-7fcb9260a3b2@andypan.me>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Landlock ABI 5 restricts ioctl(2) on device files.
Closes: <https://github.com/landlock-lsm/linux/issues/39>
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Günther Noack <gnoack@google.com>
Message-ID: <20240723101917.90918-3-gnoack@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Landlock ABI 4 restricts bind(2) and connect(2) on TCP port numbers.
The intent is to bring the man pages mostly in line with the kernel
documentation again. I intentionally did not add networking support to the
usage example in landlock.7 - I feel that in the long run, we would be better
advised to maintain longer example code in the kernel samples.
Closes: <https://github.com/landlock-lsm/linux/issues/32>
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Günther Noack <gnoack@google.com>
Message-ID: <20240723101917.90918-2-gnoack@google.com>
Co-developed-by: Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
Signed-off-by: Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Migrate table entries from using font selection escape sequences to font
alternation macros to set man page cross references.
This change was automatically driven by the following sed(1) script.
$ cat fix-syscall-table-2.sed
\# Rewrite man page cross references on tbl(1) rows that precede text
\# blocks to themselves use text blocks, and convert them to use man(7)
\# macros instead of troff(1) font selection escape sequences (which
\# cannot be done outside a text block).
/^\.\\"/b
/^\\fB[^\\]*\\fP([0-9][a-z]*).*T{/s/\\fB\([^\\]*\)\\fP\(([0-9][a-z]*)\)\(.*\)/T{\
.BR \1 \2\
T}\3/
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240727192752.hxxo4nl52qyskb2u@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Migrate table entries from using font selection escape sequences to font
alternation macros to set man page cross references.
This change was automatically driven by the following sed(1) script.
$ cat fix-syscall-table-1.sed
\# Rewrite man page cross references inside tbl(1) text blocks to use
\# man(7) macros instead of troff(1) font selection escape sequences.
/^\.\\"/b
/T{$/,/^T}/s/ \\fB\([a-z0-9_][a-z0-9_]*\)\\fP\(([0-9][a-z]*)\) /\
.BR \1 \2\
/
Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-ID: <20240727192745.lt2oo34hw3limkls@illithid>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Keith Thompson <Keith.S.Thompson@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document RWF_ATOMIC for asynchronous I/O.
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <dchinner@redhat.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Message-ID: <20240722095723.597846-4-john.g.garry@oracle.com>
[alx: wfix; ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add RWF_ATOMIC flag description for pwritev2().
Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
[jpg: complete rewrite]
Signed-off-by: John Garry <john.g.garry@oracle.com>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <dchinner@redhat.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Message-ID: <20240722095723.597846-3-john.g.garry@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
[alx: semantic newlines; srcfix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add the text to the statx man page.
Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <dchinner@redhat.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Message-ID: <20240722095723.597846-2-john.g.garry@oracle.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
These are not bugs at all. It's a good API.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
We already document that it's a BSD function, not in any standard.
No need to worry programmers much more than that.
We have STANDARDS for that.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This documents a missing reason for why EINVAL might be returned.
The documented behavior exists since the first version of Landlock.
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Günther Noack <gnoack@google.com>
Message-ID: <20240719133801.3541732-5-gnoack@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This updates the documentation for struct landlock_ruleset_attr
in line with the changed kernel documentation (see link below).
Link: <https://lore.kernel.org/all/20240711165456.2148590-2-gnoack@google.com/>
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Günther Noack <gnoack@google.com>
Message-ID: <20240719133801.3541732-4-gnoack@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
* Various wording fixes
* List the same error code multiple times,
if it can happen for multiple reasons.
Reviewed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Günther Noack <gnoack@google.com>
Message-ID: <20240719133801.3541732-3-gnoack@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Message-ID: <20240713181548.38002-3-cel@kernel.org>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: <linux-fsdevel@vger.kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Message-ID: <20240713181548.38002-4-cel@kernel.org>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: <linux-fsdevel@vger.kernel.org>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Message-ID: <20240713181548.38002-2-cel@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: Christian Brauner <brauner@kernel.org>
Cc: Miklos Szeredi <mszeredi@redhat.com>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <kernel-team@fb.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Message-ID: <2d72a44fa49f47bd7258d7efb931926b26de4004.1720549824.git.josef@toxicpanda.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document the PR_RISCV_SET_ICACHE_FLUSH_CTX flag for prctl(2) that is
supported as of Linux 6.10.
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
Message-ID: <20240709-fencei_prctl-v5-1-a0391069f746@rivosinc.com>
[alx: ffix + consistent line breaks]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Those write(2) calls are unimportant, and we don't want to check errors.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: gcc(1) (`make build-ex-cc`)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: gcc(1) (`make build-ex-cc`)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: gcc(1) (`make build-ex-cc`)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
GCC now enables -Wunused-result by default.
Reported-by: gcc(1) (`make build-ex-cc`)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Distros expect 'make' to build only what they need. While we want to
build more stuff upstream, for various reasons (mainly, for extra
diagnostics), packagers only want what they'll use, and don't want to
waste CPU time with that.
Also, distros expect 'make install' to only install what they'll use,
which is just the manual pages.
For that, repurpose the build and install targets to do precisely that,
and add build-all and install-all targets that do all that can be done.
Reported-by: Sam James <sam@gentoo.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: liba2i.git 791f163b1a72 (2024-07-18, "share/mk/: Reduce the work of 'make && make install'")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Some distros patch GCC to have that definition built in. Redefining it
ourselves would result in a redefinition, and consequently a diagnostic.
Reported-by: Sam James <sam@gentoo.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: liba2i.git 31bfd8f14a11 (2024-07-17, "share/mk/: CPPFLAGS: Only define _FORTIFY_SOURCE if it's not already defined")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Standard behavior is that setting these variables should append, not
overwrite.
Add variables to allow overwriting, with a trailing '_'.
While at it, put CPPFLAGS after CFLAGS consistently (previously, there
was a mix).
Link: <https://lists.gnu.org/archive/html/help-make/2024-07/msg00001.html>
Reported-by: Sam James <sam@gentoo.org>
Reported-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Suggested-by: Sébastien Hinderer <Sebastien.Hinderer@inria.fr>
Suggested-by: Paul Smith <psmith@gnu.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: liba2i.git 5613b2846104 (2024-07-16, "share/mk/, share/tests/: Refactor *FLAGS and LDLIBS variables")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: liba2i.git 828dd1d21b30 (2024-07-15, "share/mk/: CPPFLAGS: -D_FORTIFY_SOURCE=2")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Mention -1 return code on failure for landlock_add_rule(2),
landlock_create_ruleset(2) and landlock_restrict_self(2).
Although it's a common rule to return -1 on error, it's better to be
explicit (as the other man pages are).
Fixes: a01d04a69 ("landlock_add_rule.2: Document new syscall")
Fixes: ca5163697 ("landlock_create_ruleset.2: Document new syscall")
Fixes: 3f7e4f808 ("landlock_restrict_self.2: Document new syscall")
Reviewed-by: Günther Noack <gnoack@google.com>
Cc: Mickaël Salaün <mic@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: <linux-security-module@vger.kernel.org>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
Message-ID: <20240712172246.151258-2-pvorel@suse.cz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Follow the pattern to replace "to indicate the cause of the error"
with "to indicate the error".
Suggested-by: Alejandro Colomar <alx@kernel.org>
Acked-by: Günther Noack <gnoack@google.com>
Cc: Mickaël Salaün <mic@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
Message-ID: <20240712172246.151258-1-pvorel@suse.cz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Every system I looked at already had FNM_CASEFOLD,
so calling it "GNU" is misleading at best;
Solaris (and the illumos gate) call it FNM_IGNORECASE
but also provide FNM_CASEFOLD as an alias.
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <2lnvud6qnttulm34ns3lsrafguzrdjdgnnnp4yrlsdl6c2yoef@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Ma Xinjian <maxj.fnst@fujitsu.com>
Message-ID: <20240710081926.10913-1-maxj.fnst@fujitsu.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <z3bixugjnrhlcli53tmdogma7op7uwstwlitgl7u4mmyqfs3pc@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: Christian Brauner <brauner@kernel.org>
Cc: Miklos Szeredi <mszeredi@redhat.com>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <kernel-team@fb.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Message-ID: <5b4a8408a21970d0ee4bea5cee4c74cb39851c0d.1720549824.git.josef@toxicpanda.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <atyx4os7275jhfsrnblyr6ykxwghjzdpdnvnrvxcskei7kbb6n@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fix a copy-paste error in SYNOPSIS:
FIONREAD was mentioned twice,
but another IOCTL was missing.
Fixes: c6267fb68309 ("ioctl_tty.2, FIONREAD.2const, TIOC{IN,OUT}Q.2const, TCFLSH.2const, TIOCSERGETLSR.2const: Split from ioctl_tty(2)")
Signed-off-by: Günther Noack <gnoack@google.com>
Message-ID: <20240705142844.1142998-1-gnoack@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Ma Xinjian <maxj.fnst@fujitsu.com>
Message-ID: <20240704064108.27257-1-maxj.fnst@fujitsu.com>
[alx: Remove comment]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
riscv_flush_icache() has been present in syscall.2, but had no page for
itself. Add the page for this syscall.
The syscall is named riscv_flush_icache(), but the glibc function is
named __riscv_flush_icache(). To handle this, name the syscall page
riscv_flush_icache.2 and point to the libc page __riscv_flush_icache.3.
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
Message-ID: <20240701-flush_icache-v2-1-15f7a35a0d13@rivosinc.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
use of mmap
After calling perf_event_open() with cpus == -1 and the inherit bit,
using mmap on the perf file descriptor to create a ring-buffer fails
with EINVAL. This behavior wasn't previously documented in the man
page and is caused by the following lines in the perf_mmap function in
<kernel/events/core.c>:
/*
* Don't allow mmap() of inherited per-task counters. This would
* create a performance issue due to all children writing to the
* same rb.
*/
if (event->cpu == -1 && event->attr.inherit)
return -EINVAL;
Signed-off-by: Mikołaj Kołek <kolek.mikolaj@gmail.com>
Message-ID: <CAHGiy6-nx0PwBi6xwoG8PN5qND-krGh_rvpfmVc31-QSv04C6g@mail.gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: ce23e8188f8f ("fmod.3: Add example section")
Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=219017>
Reported-by: Benjamin Otte <otte@gnome.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
As it stands, this is worse than useless
(defined as: I had to test it explicitly against strfmon() and look at
POSIX myself to make sure the manual wasn't lying to me
https://101010.pl/@nabijaczleweli/112694726416515899):
No-one cares if some compiler doesn't understand something from 1994.
(Careful readers will note it's been 30 years.)
"SUSv2 doesn't have this, SUSv3 does" is reefer-induced:
this figures in SUSv1 (XPG Issue 4 Version 2)
and the CHANGE HISTORY clearly notes ' was added in i4, not i4v2.
It's important that these aren't actually grouped by the thousand,
but, instead, by "what the locale says".
Each locale has two groupings: monetary and non-monetary,
and it's paramount to indicate which is which
(hi_IN is 3,2... monetary and 3... non-monetary;
mjw_IN is 3,2... both).
It waxes poetic for way too long about "how to set a locale".
Also replace "The Single UNIX Specification adds" with "POSIX adds".
The SUS is, on a good day, a profile of POSIX you pay 300$ for.
Maybe you could swing this back when it was an "extension"
(so, only required in the SUS profile)
but it's just shaded CX ("this is intentionally different from C")
in Issue 8. It's really irrelevant here.
Also add this to HISTORY
(and call it something sane there;
the Proper nomenclature is absolutely meaningless to normal people).
The most important bit for every HISTORY reader is the 1994 date.
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <o2vchme4dchemjo4diziac5rlmhtsaze2yi72fzo5r67umlwny@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This mirrors str[n]casecmp and is much more useful,
but more importantly these didn't crosslink at all.
The RETURN VALUE section is now copied from strncasecmp.3.
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-ID: <wr4xqnhilpx7yszqxcggo7scpt3bnrfha3ohfs6uxwibhfafel@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document the new statx.stx_subvol field.
This would be clearer if we had a proper API for walking subvolumes that
we could refer to, but that's still coming.
Link: https://lore.kernel.org/linux-fsdevel/20240308022914.196982-1-kent.overstreet@linux.dev/
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
[jpg: mention supported FSes and formatting improvements]
Signed-off-by: John Garry <john.g.garry@oracle.com>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: <linux-fsdevel@vger.kernel.org>
Message-ID: <20240620130017.2686511-1-john.g.garry@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Put the subsection title in the .SS line.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Linux 6.8 added STATX_MNT_ID_UNIQUE support.
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=98d2b43081972>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Miklos Szeredi <mszeredi@redhat.com>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <kernel-team@fb.com>
Message-ID: <a45b2623a25357f33978b49963dad5f99b984386.1719341580.git.josef@toxicpanda.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|