| Age | Commit message (Collapse) | Author | Files | Lines |
|
The DESCRIPTION says:
If *sig* is 0, then no signal is sent, but existence and
permission checks are still performed; this can be used to
check for the existence of a process ID.
On the other hand, the `RETURN VALUE` section contradicted that.
On success (at least one signal was sent), zero is returned. On
error, -1 is returned...
How can I get 0 when providing sig=0, if no signal was actually
sent, which is the criteria for success of this call???
Reported-by: Amit Pinhas <amitpinhass@gmail.com>
Co-authored-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Amit Pinhas <amitpinhass@gmail.com>
Message-ID: <a4fa37e0fc89a3c99982ace3fe381991ebe85b00.1739393685.git.amitpinhass@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Scripted change:
$ ~/src/linux/linux/v6.13/scripts/bpf_doc.py \
| rst2man \
>man7/bpf-helpers.7;
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
- 0, not -1, is returned for an unsupported time base or error
(C23 7.29.2.6, 7.29.2.7; POSIX.1-2024 line 74358).
- Clarify that any supported value of base is always nonzero (i.e.,
there is no overlap between the two return value cases that may
require errno or some other source to disambiguate)
(C23 7.29.2.6, 7.29.2.7; POSIX.1-2024 line 74357).
- Clarify that timespec_getres(NULL, base) is a valid call to check
whether the specified time base is supported (C23 7.29.2.7).
- Clarify that the resolution for a particular time base is constant
for the lifetime of the process (i.e., there is no need to retrieve
it repeatedly) (C23 7.29.2.7).
- Calls to these functions are not technically equivalent to any
clock_* function call; at least the return value will be different.
Clarify that it is the time and resolution that are the same.
- The ERRORS section is removed, because it states only what is true
for every function that does not state otherwise (i.e., errno might
be affected by underlying system calls).
Fixes: 7bda5119fe5e (2024-09-08; "timespec_get.3, timespec_getres.3: Add page and link page")
Cc: наб <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
Message-ID: <5f8dc5d2dc51f080a18de53e98610df43389b98b.1739063937.git.mark.hsj@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
GCC and Clang print warnings:
$ clang main.c -Wall
main.c:30:23: warning: format specifies type 'size_t' (aka 'unsigned long') but the argument has type 'unsigned int' [-Wformat]
30 | printf("#%zu:\n", i);
| ~~~ ^
| %u
1 warning generated.
$ gcc main.c -Wall
main.c: In function ‘main’:
main.c:30:16: warning: format ‘%zu’ expects argument of type ‘size_t’, but argument 2 has type ‘unsigned int’ [-Wformat=]
30 | printf("#%zu:\n", i);
| ~~^ ~
| | |
| | unsigned int
| long unsigned int
| %u
Fixes: b42296e4feaf (2022-09-15; "Various pages: EXAMPLES: Use unsigned types for loop iterators")
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
Message-ID: <20250207211628.25164-1-arkadiusz@drabczyk.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Reported-by: Chen Linxuan <chenlinxuan@uniontech.com>
Message-ID: <647EBDB1A8DE7507+20250121031351.548052-1-chenlinxuan@uniontech.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
mkdir(2) and mkdirat(2) might set errno to EOVERFLOW when UID or GID
mapping has not been configured.
Here's a small program that shows this behavior:
#define _GNU_SOURCE
#include <err.h>
#include <sched.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <unistd.h>
static int
childFunc(void *_)
{
if (mount("tmpfs", "/tmp", "tmpfs", 0, NULL))
err(EXIT_FAILURE, "mount");
if (mkdir("/tmp/test", 0755) == -1)
err(EXIT_FAILURE, "mkdir");
return 0;
}
#define STACK_SIZE (1024 * 1024)
int
main(void)
{
char *stack; /* Start of stack buffer */
char *stackTop; /* End of stack buffer */
pid_t pid;
stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK,
-1, 0);
if (stack == MAP_FAILED)
err(EXIT_FAILURE, "mmap");
stackTop = stack + STACK_SIZE;
pid = clone(childFunc, stackTop, CLONE_NEWUSER |
CLONE_NEWNS | SIGCHLD, NULL);
if (munmap(stack, STACK_SIZE) == -1)
err(EXIT_FAILURE, "munmap");
if (pid == -1)
err(EXIT_FAILURE, "clone");
if (waitpid(pid, NULL, 0) == -1)
err(EXIT_FAILURE, "waitpid");
exit(EXIT_SUCCESS);
}
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=036d523641c66bef713042894a17f4335f199e49>
Signed-off-by: Chen Linxuan <chenlinxuan@uniontech.com>
Message-ID: <F22A2B1500170B63+20250202135733.11800-1-chenlinxuan@uniontech.com>
[alx: wfix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This is an XSI extension supported by Linux.
Link: <https://unix.stackexchange.com/q/790116/72304>
Link: <https://lore.kernel.org/linux-man/Z5U0Wh_KF3Ki62Pk@comp../>
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
Message-ID: <20250202130331.20320-1-arkadiusz@drabczyk.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The autogroup feature can be contolled at runtime when built into the
kernel. Disabling it in this case still creates autogroups and still
shows the autogroup membership for the task in /proc. The scheduler
code will just not use the the autogroup task group. This can be
confusing to users. Add a sentence to this effect to sched.7 to point
this out.
The kernel code shows how this is used. The sched_autogroup_enabled
toggle is only used in one place.
kernel/sched/autogroup.h:
static inline struct task_group *
autogroup_task_group(struct task_struct *p, struct task_group *tg)
{
extern unsigned int sysctl_sched_autogroup_enabled;
int enabled = READ_ONCE(sysctl_sched_autogroup_enabled);
if (enabled && task_wants_autogroup(p, tg))
return p->signal->autogroup->tg;
return tg;
}
task_wants_autogroup() is in kernel/sched/autogroup.c:
bool task_wants_autogroup(struct task_struct *p, struct task_group *tg)
{
if (tg != &root_task_group)
return false;
...
return true;
}
One can see that any group set other than root also bypasses the use of
the autogroup. All of the machinery around the creation of the
autogroup is not effected by the toggle.
From userspace:
0
/autogroup-112 nice 0
Note, systemd based system these days is not really using autogroups at
all anyway because any task in a non-root cgroup bypasses the autogroup
as well.
Cc: Carlos O'Donell <codonell@redhat.com>
Signed-off-by: Phil Auld <pauld@redhat.com>
Message-ID: <20250116143747.2366152-1-pauld@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Askar Safin <safinaskar@zohomail.com>
Message-ID: <20250130050625.3356602-1-safinaskar@zohomail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: "Tomerius, Kai" <Kai.Tomerius@elektrobit.com>
Fixes: 07c3768e9db8 (2023-08-15; "proc.5, proc_pid_limits.5: Split /proc/PID/limits from proc(5)")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
On Mon, Jan 27, 2025 at 07:27:59PM +0100, наб wrote:
> Skimming the thread: UNIX paths are sequences of non-NUL bytes.
>
> It is never correct to expect to be able to have a (parse, unparse)
> operation pair for which unparse(parse(x)) = x for path x.
>
> It's obviously wrong to reject a pathname just because you dont like it.
>
> Thus, when displaying a path, either (a) dump it directly to the output
> (the user has configured their display device to understand the paths they use),
> or if that's not possible (b) setlocale(LC_ALL, "") + mbrtowc() loop
> and render the result (applying usual ?/� substitutions for mbrtowc()
> errors makes sense here).
>
> There are very few operations on paths that are actually reasonable
> to do, ever; those are: appending stuff, prepending stuff
> (this is just appending stuff with the arguments backwards),
> and cleaving at /es;
> the "stuff" better be copied whole-sale from some other path
> or an unprocessed argument (or, sure, the PFCS).
>
> If you're getting bytes to append to a path, do that directly.
>
> If you're getting characters to append to a path,
> then wctomb(3) is the only non-invalid solution,
> since that (obviously) turns characters into bytes in the current
> locale, which (ex def) is the operation desired.
>
> I don't understand what the UTF-32 dance is supposed to be.
>
> If you're recommending transcoding paths, don't.
>
> To re-iterate: paths are not character sequences.
> They do not represent characters.
> You can't meaningfully coerce them thusly without loss of precision
> (this is ok to do for display! and nothing else).
> If at any point you find yourself turning wchar_t -> char
> you are doing something wrong;
> if you find yourself doing char -> wchar_t for anything beside display
> you should probably reconsider.
>
> This is different under Win32 of course. But that concerns us naught.
Suggested-by: наб <nabijaczleweli@nabijaczleweli.xyz>
Cc: Jason Yundt <jason@jasonyundt.email>
Cc: Florian Weimer <fweimer@redhat.com>
Cc: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The ASCII filename was too simple to actually show anything useful.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The goal of this new manual page is to help people create programs that
do the right thing even in the face of unusual paths. The information
that I used to create this new manual page came from these sources:
Link: <https://unix.stackexchange.com/a/39179/316181>
Link: <https://sourceware.org/pipermail/libc-help/2024-August/006737.html>
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/fs/ext4/ext4.h?h=v6.12.9#n2288>
Link: <man:unix(7)>
Link: <https://unix.stackexchange.com/q/92426/316181>
Cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Jason Yundt <jason@jasonyundt.email>
Message-ID: <20250121133523.24606-1-jason@jasonyundt.email>
Cc: "G. Branden Robinson" <branden@debian.org>
[alx: wfix, ffix, and other tweaks]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Wyatt Carpenter <wyattscarpenter@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Recently, I submitted my first patch to the Linux man-pages project. In
my patch, I had created a new manual page. On the manual page’s title
line, I had written the title of my new page in all caps because
man-pages(7) said that I should write it that way. It turns out that
man-pages(7) was wrong and that the title on the title line should have
matched the title in the manual page’s filename [1][2]. This commit
corrects man-pages(7) so that it does not tell contributors to use all
caps when writing titles on title lines.
Link: [1] <https://lore.kernel.org/linux-man/rph24kz36vysoeix4qoxxxcwq3c3fskws2vmxkkgcb2lpits3f@ysm7ug66svzh/T/#mc84250a6634d7f776118879021331001cceccbe5>
Link: [2] <https://lore.kernel.org/linux-man/mog6nnwzwl2dmlrec5b7l76wbxlsnklvdulok644x6o557trib@3zwtoz47r4x3/T/#mf71422d0e159210a7ca2798f2bba50a668e1410e>
Message-ID: <20250114211427.160509-1-jason@jasonyundt.email>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The _exit(2) function is a better choice for exiting a child in many
cases. Most prominently it avoids calls of functions registered with
atexit(3) by the parent.
There are valid reasons to call exit(3) and the example is actually one
of them: flush FILE-based output. Since atexit(3) is never called, we
could just stay with exit(3).
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Message-ID: <tngwcffbrzbfkj6vrxgxpekrp3bzuftdy2mzow56xyfkrcna2w@nbgr2ourerxo>
Link: <https://github.com/shadow-maint/shadow/pull/1171>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
types
Due to different spacing, I had missed these ones in the previous
commits of this kind.
Suggested-by: Jorenar <dev@jorenar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: 8c74a1cea495 (2016-07-07; "user_namespaces.7: Clarify details of CAP_SYS_ADMIN and cgroup v1 mounts")
Signed-off-by: Alexander Stepchenko <geochip@altlinux.org>
Message-ID: <bc17315eff26eb31ecc78a2c44b89dfb077813df.1736444255.git.geochip@altlinux.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document the new STATX_DIO_READ_ALIGN flag and the new
stx_dio_read_offset_align field guarded by it.
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Chandan Babu R <chandan.babu@oracle.com>
Cc: Hongbo Li <lihongbo22@huawei.com>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Cc: <linux-nilfs@vger.kernel.org>
Cc: <linux-fsdevel@vger.kernel.org>
Cc: <linux-xfs@vger.kernel.org>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Message-ID: <20250109083226.GA22264@lst.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
It was useful for implementing duffman(1), but now it doesn't use it
anymore. Drop this program.
Users can do this instead:
$ MAN_KEEP_FORMATTING=1 diff -u <(man page1) <(man page2);
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: Dan Albert <danalbert@google.com>
Signed-off-by: Elliott Hughes <enh@google.com>
Message-ID: <CAJgzZoqAOpJajmAnr-i9h3sPC8F_Uu0A+3eg4nkP+xTAV5fPGg@mail.gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Only singlethreaded processes can setns into time ns.
Link: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/time/namespace.c?h=v6.12#n309>
Signed-off-by: Michal Clapinski <mclapinski@google.com>
Message-ID: <20250107135700.3995936-1-mclapinski@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
hard to read
At least if you use typeof().
Acked-by: Jorenar <dev@jorenar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
An exception of good taste is structure members. There, for alignment
reasons, traditional syntax seems more appropriate usually.
Suggested-by: Jorenar <dev@jorenar.com>
Cc: Martin Uecker <uecker@tugraz.at>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This allows using the environment variables that man(1) understands.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Add a space after a cast.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Specify the prototype consistently with open(2).
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document flag introduced in Linux v6.9.
Cc: Rich Felker <dalias@libc.org>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Message-ID: <20241126090847.297371-3-john.g.garry@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Document flag introduced in Linux v6.9.
Cc: Rich Felker <dalias@libc.org>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Message-ID: <20241126090847.297371-2-john.g.garry@oracle.com>
[alx: wfix, srcfix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Linux v6.13 will include atomic write support for xfs and ext4, so
update STATX_WRITE_ATOMIC commentary to mention that.
Cc: "Darrick J. Wong" <djwong@kernel.org>
Cc: <ritesh.list@gmail.com>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Message-ID: <20241203145359.2691972-1-john.g.garry@oracle.com>
[alx: ffix]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
In pthreads.7 it says:
"For each of the pthreads functions that can return an error,
POSIX.1-2001 specifies that the function can never fail with the error
EINTR."
Link: <https://lore.kernel.org/linux-man/Z3W_qgawqyEB-QrA@comp../>
Cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
Message-ID: <20250103173816.6409-2-arkadiusz@drabczyk.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
In pthreads.7 it says:
"For each of the pthreads functions that can return an error,
POSIX.1-2001 specifies that the function can never fail with the error
EINTR."
Link: <https://lore.kernel.org/linux-man/Z3W_qgawqyEB-QrA@comp../>
Cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
Message-ID: <20250103173816.6409-1-arkadiusz@drabczyk.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
For consistency with wide characters, say characters instead of bytes.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
And leave two spaces between the type name and the variable name.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Link: <https://lore.kernel.org/linux-man/20241214180423.2thsuyyfosrlyajb@devuan/T/#u>
Reported-by: Alejandro Colomar <alx@kernel.org>
Suggested-by: Cyril Hrubis <chrubis@suse.cz>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Cc: Jann Horn <jannh@google.com>
Suggested-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Message-ID: <20241206113418.14327-1-lorenzo.stoakes@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Replace the prototypes by manual-page references, and use generic text
which doesn't use the names of the parameters. It's just an overview.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: ef53ef760638 (2024-12-18, "man/man3/getline.3: Clarify ERRORS")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Per <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bf079e19f50d64aa5e05b5e17ec29afab9aabb20>:
- this was set by bash 2.0 (1996-12)
(implemented in glibc b07c5668f672125074dd5b0b658145e1544120be)
- it's no longer set by bash 2.01 (1997-06) because it was bad
- glibc disabled this with no way to enable it in 2001-08
(518a0dd201c48a5c15d73c1919c304a9f8f5e3c1)
- glibc removed it in 2017 bf079e19f50d64aa5e05b5e17ec29afab9aabb20
So this was experienced by people for 5 months at best,
and could remotely be experienced for 3 years
(if you somehow wanted this bad behaviour and added it into your shell),
over 20 years ago.
No modern reader (or, frankly, non-modern reader)
has ever used this, or could use it, really.
Link to the removal note for completeness only.
Link: <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bf079e19f50d64aa5e05b5e17ec29afab9aabb20>
Cc: Eugene Syromyatnikov <evgsyr@gmail.com>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-Id: <dwfybzlb5ydbsc4puo6igj7nm7iregquv6hxhhqb53bwrvqswb@tarta.nabijaczleweli.xyz>
[alx: Add break points in URI; minor tweaks to commit message too]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Elliott Hughes <enh@google.com>
Message-ID: <CAJgzZoruFUg6X=JUNJXCbBOKs13SX=dsNFNdTMct2VecUFG=ww@mail.gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Compare, given:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int compar(const char **l, const char **r) {
return strverscmp(*l, *r);
}
int main(int argc, char ** argv) {
qsort(argv + 1, argc - 1, sizeof(*argv), compar);
for(int i = 1; i < argc; ++i)
puts(argv[i]);
}
yields:
$ /bin/ls -v1 a* # coreutils ls
a-1.0a
a-1.0.1a
$ ../vers a* # as above
a-1.0.1a
a-1.0a
$ ls -v1 a* # voreutils ls @ 5781698 with strverscmp()-equivalent sorting
a-1.0.1a
a-1.0a
compare also the results for real data like
netstat-nat-1.{0,1{,.1},2,3.1,4{,.{1,2,3,4,5,6,7,8,9,10}}}.tar.gz
Thus, coreutils ls -v (and sort -V) does NOT use strverscmp(3);
it uses a modified Debian version comparison algorithm with additional
suffix processing and `ls -v`-specific exceptions.
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Message-Id: <myuppkwnltqtxduoop7g7wfuyou5cdo6sotocrvyztmqnazvph@tarta.nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Suggested-by: Jorenar <dev@jorenar.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
The old syntax with empty parentheses has been removed from the language
in C23.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Fixes: ba687b00ecb3 (2023-07-30, "man3/: srcfix")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
When /proc/pid/fdinfo was part of proc.5 man page the indentation made
sense. As a standalone man page the indentation doesn't need to be so
far over to the right. Remove the initial tagged pragraph, move the
"since Linux 2.6.22" to a new HISTORY subsection.
Suggested-by: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Message-Id: <20241206073828.1119464-1-irogers@google.com>
[alx: ffix]
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: Anhad Singh <andypython@protonmail.com>
Message-Id: <20241206071814.55913-1-andypython@protonmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Lightweight guard region support has been added to Linux 6.13, which
adds MADV_GUARD_INSTALL and MADV_GUARD_REMOVE flags to the madvise()
system call. Therefore, update the manpage for madvise() and describe
these operations.
Reviewed-by: Jann Horn <jannh@google.com>
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Message-Id: <20241205104125.67518-1-lorenzo.stoakes@oracle.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
If the page could not be offlined madvise will report EBUSY.
This might occur if the page is currently in use or locked.
Signed-off-by: Tyonnchie Berry <tyberry@redhat.com>
Message-Id: <Z0XzU9R9Kx0RoeUG@redhat.com>
Acked-by: "Luis Claudio R. Goncalves" <lgoncalv@redhat.com>
[alx: wfix, ffix, and other tweaks]
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Since Linux 6.13 it has become possible to use all madvise flags when
targeting the calling process.
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Message-Id: <20241129164422.89837-1-lorenzo.stoakes@oracle.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>
|
|
add manual page
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Use SY/YS, and other formatting improvements.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
This program diffs manual pages. It's useful for reviewing changes to a
manual page:
$ diffman membarrier ./man2/membarrier.2 | less -R;
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
POSIX_FADV_NOREUSE is now supported in Linux. Update text regarding
former no op behavior. Indicate the readahead policy and treatment of
file pages read with this flag.
Link: <https://lore.kernel.org/linux-mm/20221230215252.2628425-2-yuzhao@google.com/>
Signed-off-by: T.J. Alumbaugh <talumbau@google.com>
Signed-off-by: Yuanchu Xie <yuanchu@google.com>
Message-Id: <20241120045214.1294799-1-yuanchu@google.com>
Acked-by: Yu Zhao <yuzhao@google.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
On Sun, Nov 17, 2024 at 16:12:24 +0100, Michael Kerrisk wrote:
>
> A "mount" is a tuple consisting of:
> * a mount ID
> * a source (e.g., a device)
> * a target or "mount point" (i.e. a path name)
> * the ID of the parent of this mount
> * other stuff (e.g., options)
Reported-by: Helge Kreutzmann <debian@helgefjell.de>
Cc: Jakub Wilk <jwilk@jwilk.net>
Acked-by: "Michael T. Kerrisk" <mtk.manpages@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Use 'length' for the lenght of a string.
Use 'n' for the number of elements.
Use 'size' for the number of bytes. (And in wide-character string
functions, 'size' also refers to the number of wide characters.)
The change is quite large, and I might have made some mistakes.
But overall, this should improve consistency in use of these terms.
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>
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>
|
|
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>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
Signed-off-by: Alejandro Colomar <alx@kernel.org>
|
|
program, and add a manual page
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>
|
|
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>
|
|
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>
|
|
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 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>
|
|
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>
|