]>
git.ipfire.org Git - thirdparty/util-linux.git/log
Christian Goeschel Ndjomouo [Fri, 23 Jan 2026 20:26:40 +0000 (15:26 -0500)]
tests: (rename) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Fri, 23 Jan 2026 20:02:41 +0000 (15:02 -0500)]
tests: (mount) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Fri, 23 Jan 2026 19:43:16 +0000 (14:43 -0500)]
tests: (more) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Fri, 23 Jan 2026 19:12:33 +0000 (14:12 -0500)]
tests: (lsns) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:36:51 +0000 (22:36 -0500)]
tests: (lsmem) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:25:53 +0000 (22:25 -0500)]
tests: (lscpu) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:24:29 +0000 (22:24 -0500)]
tests: (lsclocks) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:22:36 +0000 (22:22 -0500)]
tests: (losetup) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:17:18 +0000 (22:17 -0500)]
tests: (logger) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:11:42 +0000 (22:11 -0500)]
tests: (ipcs) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 03:02:30 +0000 (22:02 -0500)]
tests: (ionice) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 02:55:29 +0000 (21:55 -0500)]
tests: (hexdump) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 02:51:22 +0000 (21:51 -0500)]
tests: (getopt) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 02:46:24 +0000 (21:46 -0500)]
tests: (findmnt) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 02:41:17 +0000 (21:41 -0500)]
tests: (fdisk) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 02:34:37 +0000 (21:34 -0500)]
tests: (fallocate) use long options to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 02:23:41 +0000 (21:23 -0500)]
tests: (enosys) use long options instead, to improve test coverage report
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 01:08:57 +0000 (20:08 -0500)]
tests: (chfn) test all long options
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 00:48:12 +0000 (19:48 -0500)]
tests: (cal) use more long options to improve test coverage accuracy
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 00:36:23 +0000 (19:36 -0500)]
tests: (blkid) use more long options to improve test coverage accuracy
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 00:23:06 +0000 (19:23 -0500)]
tests: (blkdiscard) use long options to improve test coverage accuracy
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 15 Jan 2026 05:06:41 +0000 (00:06 -0500)]
tests: (chfn) ensure that invalid input is detected correctly
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Fri, 16 Jan 2026 03:20:27 +0000 (22:20 -0500)]
chfn: improve man page
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 15 Jan 2026 23:32:50 +0000 (18:32 -0500)]
chfn: make comment more accurate
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 15 Jan 2026 22:10:05 +0000 (17:10 -0500)]
chfn: fix minor grammar mistakes in comments
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Thu, 15 Jan 2026 04:14:21 +0000 (23:14 -0500)]
chfn: use true/false bool values for semantic clarity
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Wed, 14 Jan 2026 05:41:14 +0000 (00:41 -0500)]
chfn: use direct equality check for semantic clarity and readability
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Wed, 14 Jan 2026 04:55:30 +0000 (23:55 -0500)]
chfn: free memory before return from save_new_data()
[kzak@redhat.com: - remove error message modification]
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Signed-off-by: Karel Zak <kzak@redhat.com>
Christian Goeschel Ndjomouo [Wed, 14 Jan 2026 04:45:03 +0000 (23:45 -0500)]
chfn: use null character (0) for better readability
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Wed, 14 Jan 2026 04:21:33 +0000 (23:21 -0500)]
chfn: fix typos, wording, and punctuation inconsistencies
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Karel Zak [Thu, 29 Jan 2026 09:33:09 +0000 (10:33 +0100)]
Merge branch 'lsfd--dont-reuse-stat-buffer' of https://github.com/masatake/util-linux
* 'lsfd--dont-reuse-stat-buffer' of https://github.com/masatake/util-linux:
lsfd: (bugfix) do not reuse stat(2) buffer for files with identical names
tests: add a helper command, test_open_twice
Masatake YAMATO [Thu, 22 Jan 2026 16:19:09 +0000 (01:19 +0900)]
lsfd: (bugfix) do not reuse stat(2) buffer for files with identical names
To reduce the number of stat(2) calls, lsfd reused the buffer returned
from stat(2) when file descriptors opened files with the same name.
If file descriptors open different files that happen to have the same
name, lsfd may report incorrect results. In such cases, the stat(2)
buffer must not be reused.
The program a.out is run with a file name "D/a". It opens the file
twice during its execution with an interval. Between the two open()
calls, a different filesystem is mounted on "D".
<the source code of ./a.out>
#include <fcntl.h>
#include <err.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
static void usage(const char *prog, int eval, FILE *fp)
{
fputs("Usage :\n", fp);
fprintf(fp, " %s FILE\n", prog);
exit(eval);
}
int main(int argc, char **argv)
{
const char *fname;
int fd0, fd1;
if (argc < 2)
errx(2, "too few arguements");
if (strcmp(argv[1], "-h") == 0 ||
strcmp(argv[1], "--h") == 0)
usage(argv[0], 0, stdout);
if (argc > 2)
errx(2, "too many arguements");
fname = argv[1];
printf("pid: %d\n", getpid());
fd0 = open(fname, O_RDONLY);
if (fd0 < 0)
err(1, "error in open \"%s\" in the first time", fname);
fputs("[press RETURN to go to the next step] ", stderr);
getchar();
fd1 = open(fname, O_RDONLY);
if (fd1 < 0)
err(1, "error in open \"%s\" in the second time", fname);
fputs("[press RETURN to exit] ", stderr);
getchar();
return 0;
}
<PREPARATION>
$ mkdir D
$ touch D/a
$ dd if=/dev/zero of=img.xfs count=1 bs=400MB
1+0 records in
1+0 records out
400000000 bytes (400 MB, 381 MiB) copied, 0.427125 s, 936 MB/s
$ mkfs.xfs img.xfs
meta-data=img.xfs isize=512 agcount=4, agsize=24414 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=1
= reflink=1 bigtime=1 inobtcount=1 nrext64=1
= exchange=0 metadir=0
data = bsize=4096 blocks=97656, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1, parent=0
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
= rgcount=0 rgsize=0 extents
= zoned=0 start=0 reserved=0
$ sudo mount img.xfs D
$ sudo touch D/a
$ sudo umount D
Let's see the bug.
<TERMNAL-1>
$ ./a.out D/a
pid: 770257
[press RETURN to go to the next step]
<TERMNAL-2>
$ sudo mount img.xfs D
<TERMNAL-1>
(press RETURN)
[press RETURN to exit]
<TERMNAL-2>
$ ./lsfd-orignal -p 770257 -Q 'FD > 2'
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME
a.out 770257 yamato 3 r----- REG dm-3 95
30947324 /home/yamato/D/a
a.out 770257 yamato 4 r----- REG dm-3 1631
30947324 /home/yamato/D/a
$ stat D/a
File: D/a
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 7,10 Inode: 131 Links: 1
...
Although D/a has inode number 131, lsfd-original reports
30947324 .
After removing the code that reuses the stat(2) buffer, lsfd-new reports:
<TERMNAL-2>
$ ./lsfd-new -p 770257 -Q 'FD > 2'
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME
a.out 770257 yamato 3 r----- REG dm-3 95
30947324 /home/yamato/D/a
a.out 770257 yamato 4 r----- REG loop10 1631 131 /home/yamato/D/a
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Wed, 28 Jan 2026 12:14:10 +0000 (13:14 +0100)]
AUTHORS: add copyfilerange
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 28 Jan 2026 12:12:28 +0000 (13:12 +0100)]
Merge branch 'copyfilerange' of https://github.com/meeuw/util-linux
* 'copyfilerange' of https://github.com/meeuw/util-linux:
copyfilerange: new command to call copy-file-range
Karel Zak [Wed, 28 Jan 2026 12:03:59 +0000 (13:03 +0100)]
Merge branch 'maybe' of https://github.com/stoeckmann/util-linux
* 'maybe' of https://github.com/stoeckmann/util-linux:
Fix typos
setpriv: (man) Fix grammar
Documentation: Fix "maybe be" typo
Karel Zak [Wed, 28 Jan 2026 12:01:09 +0000 (13:01 +0100)]
Merge branch 'nsenter_pidfd_inode' of https://github.com/cgoesche/util-linux-fork
* 'nsenter_pidfd_inode' of https://github.com/cgoesche/util-linux-fork:
nsenter: support 'PID:inode' process address format
Dick Marinus [Tue, 2 Dec 2025 19:51:35 +0000 (20:51 +0100)]
copyfilerange: new command to call copy-file-range
This command allows you to call the copy-file range system call which
performs an in-kernel copy between two files without the additional cost
of transferring data from the kernel to user space and then back into
the kernel.
It gives filesystems an opportunity to implement "copy acceleration"
techniques, such as the use of reflinks (i.e., two or more inodes that
share pointers to the same copy-on-write disk blocks) or
server-side-copy (in the case of NFS).
A purpose of this command is to in-place deduplicate equal file blocks
in two different files.
When calling this command the source and destination file are required
and ranges must be supplied using command line arguments or from a
ranges file.
A file range contains the offset in the source and destination file and
the length of the range in bytes. The offsets can be omitted so that the
current file pointer is used. When the size is omitted or set to zero
the remainder of the file is copied.
If the file range is too long to fit in SIZE_MAX subsequential calls to
copy_file_range will be performed to copy the whole range.
The following command will copy/reflink a file:
$ copyfilerange file1 file2 0::
The following command will copy the second block from file1 into file2:
$ copyfilerange file1 file2 4096:4096:4096
Signed-off-by: Dick Marinus <dick@mrns.nl>
Tobias Stoeckmann [Tue, 27 Jan 2026 17:19:46 +0000 (18:19 +0100)]
Fix typos
Typos found with codespell.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Tue, 27 Jan 2026 17:03:01 +0000 (18:03 +0100)]
setpriv: (man) Fix grammar
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Tue, 27 Jan 2026 17:01:56 +0000 (18:01 +0100)]
Documentation: Fix "maybe be" typo
No functional change.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Karel Zak [Tue, 27 Jan 2026 12:10:43 +0000 (13:10 +0100)]
Merge branch 'arm-ids' of https://github.com/mstorsjo/util-linux
* 'arm-ids' of https://github.com/mstorsjo/util-linux:
lscpu: Implement options for dumping ARM implementer/model name tables
Christian Goeschel Ndjomouo [Mon, 12 Jan 2026 04:14:18 +0000 (23:14 -0500)]
nsenter: support 'PID:inode' process address format
The 'PID:inode' can be used for the --target option
to uniquely identify a process in a race-free manner.
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Karel Zak [Tue, 27 Jan 2026 10:37:28 +0000 (11:37 +0100)]
Merge branch 'pidutils_improve' of https://github.com/cgoesche/util-linux-fork
* 'pidutils_improve' of https://github.com/cgoesche/util-linux-fork:
lib: (pidutils) improve the return protocol
lib: (pidutils) add a routine to parse pids and err() on failure
lib: (pidutils) improve 'PID:inode' parsing logic
Karel Zak [Tue, 27 Jan 2026 10:35:51 +0000 (11:35 +0100)]
Merge branch 'pager_removals' of https://github.com/stoeckmann/util-linux
* 'pager_removals' of https://github.com/stoeckmann/util-linux:
lib/pager: Fix typos
lib/pager: Simplify wait_for_pager
lib/pager: Merge wait_or_whine into wait_for_pager
lib/pager: The variable need_in is always 1
lib/pager: Remove struct field `no_stdin`
lib/pager: Remove struct field preexec_cb
lib/pager: Remove unused define
lib/pager: Remove unused struct entry `err`
lib/pager: Remove unused struct field "out"
Karel Zak [Tue, 27 Jan 2026 10:35:07 +0000 (11:35 +0100)]
Merge branch 'PR/libpath-nonnull-check' of https://github.com/karelzak/util-linux-work
* 'PR/libpath-nonnull-check' of https://github.com/karelzak/util-linux-work:
lib/path: add NULL checks for path in statx and access
Martin Storsjö [Thu, 22 Jan 2026 22:56:56 +0000 (00:56 +0200)]
lscpu: Implement options for dumping ARM implementer/model name tables
This allows extracting the contents of the tables, which itself
is uncopyrightable, for use in other projects with different
code licenses.
Christian Goeschel Ndjomouo [Tue, 27 Jan 2026 01:14:02 +0000 (20:14 -0500)]
lsns: make the synopsis more coherent
Using _namespace ID_ in the synopsis as argument definition
is more coherent as it lets a user easily infer that a
numeric value is required to identify a namespace.
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Mon, 26 Jan 2026 14:29:33 +0000 (09:29 -0500)]
lib: (pidutils) improve the return protocol
Instead of using generic return codes, lets
be more precise and return negative errno
numbers and set errno accordingly, so that
higher level callers can report errors more
accurately.
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Masatake YAMATO [Thu, 22 Jan 2026 17:56:46 +0000 (02:56 +0900)]
tests: add a helper command, test_open_twice
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Mon, 26 Jan 2026 10:13:31 +0000 (11:13 +0100)]
Merge branch 'spelling' of https://github.com/jwilk-forks/util-linux
* 'spelling' of https://github.com/jwilk-forks/util-linux:
setpriv: (man) fix typo
Karel Zak [Mon, 26 Jan 2026 09:37:49 +0000 (10:37 +0100)]
lscpu: remove duplicate ARM names, clean up names
* Remove duplicate ARM core names
* Remove unwanted blank characters from core names
References: https://github.com/util-linux/util-linux/pull/3882
Reported-by: Martin Storsjö
Signed-off-by: Karel Zak <kzak@redhat.com>
Jakub Wilk [Sat, 24 Jan 2026 10:51:01 +0000 (11:51 +0100)]
setpriv: (man) fix typo
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Christian Goeschel Ndjomouo [Tue, 13 Jan 2026 20:18:27 +0000 (15:18 -0500)]
lib: (pidutils) add a routine to parse pids and err() on failure
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Christian Goeschel Ndjomouo [Wed, 14 Jan 2026 14:51:58 +0000 (09:51 -0500)]
lib: (pidutils) improve 'PID:inode' parsing logic
The parsing logic in ul_parse_pid_str() failed to
identify invalid input when *pidstr starts with a
colon ':' followed by a number (inode), and also
in cases where the input does not consist of any
digits. And lastly if the PID or inode is 0.
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Karel Zak [Thu, 22 Jan 2026 19:03:20 +0000 (20:03 +0100)]
Merge branch 'PR/libfdisk-EBR-gap' of https://github.com/karelzak/util-linux-work
* 'PR/libfdisk-EBR-gap' of https://github.com/karelzak/util-linux-work:
tests: simplify TS_DESC in fdisk/mbr-logical-ebr-gap
libfdisk: remove duplicate code
tests: (fdisk) make sure test_strerror avalable
tests: fdisk: add regression test for missing EBR gap between logical partitions
libfdisk: (dos) fix logical partition start
Karel Zak [Thu, 22 Jan 2026 16:47:23 +0000 (17:47 +0100)]
tests: simplify TS_DESC in fdisk/mbr-logical-ebr-gap
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 22 Jan 2026 16:44:25 +0000 (17:44 +0100)]
libfdisk: remove duplicate code
References:
8b8da020f57414c90981371da71fdf32d2253ac7
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 22 Jan 2026 16:43:15 +0000 (17:43 +0100)]
tests: (fdisk) make sure test_strerror avalable
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 22 Jan 2026 16:29:51 +0000 (17:29 +0100)]
Merge branch 'master' of https://github.com/martinjungblut/util-linux into PR/libfdisk-EBR-gap
* 'master' of https://github.com/martinjungblut/util-linux:
tests: fdisk: add regression test for missing EBR gap between logical partitions
libfdisk: (dos) fix logical partition start
Masatake YAMATO [Thu, 22 Jan 2026 14:41:54 +0000 (23:41 +0900)]
lsfd: fix dependency on errnos.h
Fix a bug that I introduced in
764f1d396f .
Makemodule.am listed a dependency on errnos.h for file.c, but the header
is actually used by error.c. Fix the dependency to ensure correct
rebuilds.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Wed, 21 Jan 2026 10:56:54 +0000 (11:56 +0100)]
lsfd: make sure errors array is not empty [-Werror=type-limits]
lsfd-cmd/error.c: In function ‘get_errno_name’:
lsfd-cmd/error.c:49:30: error: comparison of unsigned expression in ‘< 0’ is always false [-Werror=type-limits]
49 | for (size_t i = 0; i < ARRAY_SIZE(errnos); i ++) {
| ^
Signed-off-by: Karel Zak <kzak@redhat.com>
Tobias Stoeckmann [Tue, 20 Jan 2026 16:34:37 +0000 (17:34 +0100)]
lib/pager: Fix typos
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:35:48 +0000 (19:35 +0100)]
lib/pager: Simplify wait_for_pager
Remove unneeded checks and simplify loop to make it easier to see that
the function only waits until the child terminates.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:25:30 +0000 (19:25 +0100)]
lib/pager: Merge wait_or_whine into wait_for_pager
Move code from wait_or_whine into wait_for_pager to simplify code by
clarifying where values come from (pid is pager_process.pid).
Also, it shows that return values are actually not used.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:18:16 +0000 (19:18 +0100)]
lib/pager: The variable need_in is always 1
Right before start_command is called, cmd->in is set to -1. Thus,
need_in is always true.
This makes sense, since we create a pipe for tools to print data to
pager.
Remove obsolete code for better readability.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:10:42 +0000 (19:10 +0100)]
lib/pager: Remove struct field `no_stdin`
The struct field `no_stdin` is always false, since it's never
initialized and only eventually reset to false when the whole
`pager_process` is reset to 0 with a `memset` call.
Since pager is supposed to read from stdin, this feature is not needed.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:09:07 +0000 (19:09 +0100)]
lib/pager: Remove struct field preexec_cb
The struct field preexec_cb is always set to pager_preexec. Simplify the
code by calling this function directly.
Removes function pointer handling.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:06:50 +0000 (19:06 +0100)]
lib/pager: Remove unused define
The NULL_DEVICE is never used.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:05:16 +0000 (19:05 +0100)]
lib/pager: Remove unused struct entry `err`
The struct entry `err` is never used. In original source files, it is
used to redirect stderr of pager.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Mon, 19 Jan 2026 18:02:50 +0000 (19:02 +0100)]
lib/pager: Remove unused struct field "out"
The struct field `out` is never set, thus always 0. Since the pager
output is never redirected, this functionality stub can be removed.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Karel Zak [Tue, 20 Jan 2026 14:35:37 +0000 (15:35 +0100)]
Merge branch 'PR/unshare-signals-forwarding' of https://github.com/karelzak/util-linux-work
* 'PR/unshare-signals-forwarding' of https://github.com/karelzak/util-linux-work:
tests: add tests for unshare --forward-signals
unshare: document --forward-signals in man page
unshare: implement signal forwarding when --forward-signals is used
unshare: add --forward-signals option to argument parser
Karel Zak [Tue, 20 Jan 2026 14:32:21 +0000 (15:32 +0100)]
Merge branch 'lsfd--add-error-c' of https://github.com/masatake/util-linux
* 'lsfd--add-error-c' of https://github.com/masatake/util-linux:
lsfd: (refactor) move the error object related code to a new file
lsfd: (refactor) remove redundant is_error member from struct file
lsfd: (refactor) add a helper function making error file objects
lsfd: remove __unused__ attr from parameters used actually
lsfd: (cosmetic) adjust white spaces in column definitions
Karel Zak [Tue, 20 Jan 2026 14:23:02 +0000 (15:23 +0100)]
Merge branch 'patch-1' of https://github.com/finefoot/util-linux
* 'patch-1' of https://github.com/finefoot/util-linux:
runuser|su: elaborate man page regarding TIOCSTI/TIOCLINUX ioctl command injection
finefoot [Sun, 21 Sep 2025 20:40:07 +0000 (22:40 +0200)]
runuser|su: elaborate man page regarding TIOCSTI/TIOCLINUX ioctl command injection
Masatake YAMATO [Mon, 19 Jan 2026 20:38:23 +0000 (05:38 +0900)]
lsfd: (refactor) move the error object related code to a new file
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 19 Jan 2026 20:22:20 +0000 (05:22 +0900)]
lsfd: (refactor) remove redundant is_error member from struct file
It is possible to detect whether a file object is an error object
or not from its class information.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Oct 2025 06:58:59 +0000 (15:58 +0900)]
lsfd: (refactor) add a helper function making error file objects
new_error_file_common() is the helper function. new_stat_error_file()
and new_stat_error_file() use the function.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Oct 2025 20:16:38 +0000 (05:16 +0900)]
lsfd: remove __unused__ attr from parameters used actually
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 12 Oct 2025 20:25:05 +0000 (05:25 +0900)]
lsfd: (cosmetic) adjust white spaces in column definitions
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Mon, 19 Jan 2026 11:23:17 +0000 (12:23 +0100)]
Merge branch 'add-man-section-to-calls' of https://github.com/meeuw/util-linux
* 'add-man-section-to-calls' of https://github.com/meeuw/util-linux:
Add man page section to (sys)calls
Karel Zak [Mon, 19 Jan 2026 11:14:15 +0000 (12:14 +0100)]
autotools: use $PTHREAD_LIBS everywhere
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 19 Jan 2026 11:06:46 +0000 (12:06 +0100)]
Merge branch 'fix-pthread' of https://github.com/bkuhls/util-linux
* 'fix-pthread' of https://github.com/bkuhls/util-linux:
autotools: optionally add libpthread to uuid.pc
Karel Zak [Mon, 19 Jan 2026 11:03:45 +0000 (12:03 +0100)]
Merge branch 'pseudo-kiofuse' of https://github.com/Elsensee/util-linux
* 'pseudo-kiofuse' of https://github.com/Elsensee/util-linux:
Add fuse.kio-fuse to list of pseudo file systems
Kiran Rangoon [Fri, 16 Jan 2026 17:06:48 +0000 (12:06 -0500)]
tests: add tests for unshare --forward-signals
Add two test cases for the new --forward-signals option:
- forward-signals: verifies SIGTERM is forwarded to child
- forward-signals-kill-child: verifies compatibility with --kill-child
Both tests use test_sigreceive which exits with the signal number
received, confirming proper signal forwarding.
Signed-off-by: Kiran Rangoon <kiranrangoon0@gmail.com>
Kiran Rangoon [Fri, 16 Jan 2026 17:06:47 +0000 (12:06 -0500)]
unshare: document --forward-signals in man page
Add documentation for the new --forward-signals option, explaining
its use case (graceful shutdown during reboot/system management)
and interaction with the --fork option.
Signed-off-by: Kiran Rangoon <kiranrangoon0@gmail.com>
Kiran Rangoon [Fri, 16 Jan 2026 17:06:46 +0000 (12:06 -0500)]
unshare: implement signal forwarding when --forward-signals is used
When --forward-signals is specified, install signal handlers for
SIGTERM and SIGINT that forward these signals to the child process.
This allows child processes with cleanup handlers to execute gracefully during shutdown scenarios like
system reboot.
Also fix waitpid() to handle EINTR properly when signals are being
forwarded, ensuring the parent waits for the child to complete
signal handling before exiting.
Signed-off-by: Kiran Rangoon <kiranrangoon0@gmail.com>
Kiran Rangoon [Fri, 16 Jan 2026 17:06:45 +0000 (12:06 -0500)]
unshare: add --forward-signals option to argument parser
Add a new --forward-signals command-line option that will allow
unshare to forward SIGTERM and SIGINT signals from the parent
process to the forked child process.
This commit adds the option parsing infrastructure but does not
implement the signal forwarding logic yet. The flag defaults to 0
(disabled) to maintain backward compatibility.
Signed-off-by: Kiran Rangoon <kiranrangoon0@gmail.com>
Dick Marinus [Sun, 18 Jan 2026 19:41:48 +0000 (20:41 +0100)]
Add man page section to (sys)calls
Bernd Kuhls [Fri, 16 Jan 2026 22:33:34 +0000 (23:33 +0100)]
autotools: optionally add libpthread to uuid.pc
Fixes https://github.com/util-linux/util-linux/issues/3210#issuecomment-
3477915953
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Karel Zak [Wed, 14 Jan 2026 15:02:30 +0000 (16:02 +0100)]
Merge branch 'PR/findmnt-mounttype' of https://github.com/karelzak/util-linux-work
* 'PR/findmnt-mounttype' of https://github.com/karelzak/util-linux-work:
findmnt: fix misleading warning messages for ntfs3
libmount: move fstype_to_mounttype() to include/
include: rename mount-api-utils.h to mountutils.h
Karel Zak [Tue, 13 Jan 2026 17:38:24 +0000 (18:38 +0100)]
findmnt: fix misleading warning messages for ntfs3
* Remap fstab aliases like "ntfs3" to "ntfs" as reported by libblkid.
* Use mounttype (from --with-ntfs-mounttype=) to check if supported by
the kernel rather than the type provided by libblkid.
* Don't check if the kernel supports type read from filesystem if an
explicit type specified in fstab.
Fixes: https://github.com/util-linux/util-linux/issues/3912
Addresses: https://github.com/util-linux/util-linux/pull/3963
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 14 Jan 2026 11:12:35 +0000 (12:12 +0100)]
lib/path: add NULL checks for path in statx and access
Coverity warns that *at() libc functions (faccessat, statx) have pathname
marked as nonnull. Add explicit runtime NULL checks returning -EINVAL
instead of using __attribute__((nonnull)) into include/path.h to maintain
runtime safety for suid code.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 14 Jan 2026 09:25:55 +0000 (10:25 +0100)]
Merge branch 'unshare_typo' of https://github.com/stoeckmann/util-linux
* 'unshare_typo' of https://github.com/stoeckmann/util-linux:
unshare: (man) fix grammar
Karel Zak [Wed, 14 Jan 2026 09:25:17 +0000 (10:25 +0100)]
Merge branch 'PR/blkpr-keys' of https://github.com/karelzak/util-linux-work
* 'PR/blkpr-keys' of https://github.com/karelzak/util-linux-work:
blkpr: fix compilation [-Werror,-Wunused-function]
blkpr: Call gettext() for descriptions, clean up
blkpr: add read-reservation command
blkpr: add read-keys command
blkpr: prepare for _IOR() ioctls
Karel Zak [Wed, 14 Jan 2026 09:23:03 +0000 (10:23 +0100)]
mount: (man) add link to mount.ceph(8)
Suggested-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Tobias Stoeckmann [Tue, 13 Jan 2026 23:18:47 +0000 (00:18 +0100)]
unshare: (man) fix grammar
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Karel Zak [Tue, 13 Jan 2026 17:36:39 +0000 (18:36 +0100)]
libmount: move fstype_to_mounttype() to include/
Make the workaround function globally available.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 13 Jan 2026 17:23:33 +0000 (18:23 +0100)]
include: rename mount-api-utils.h to mountutils.h
Keep the filename consistent with other header filenames.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 13 Jan 2026 14:08:44 +0000 (15:08 +0100)]
Merge branch 'lslocks--fix-oPID' of https://github.com/masatake/util-linux
* 'lslocks--fix-oPID' of https://github.com/masatake/util-linux:
lslocks: (bugfix) don't set rawdata in COL_PID if rawdata is null
Karel Zak [Tue, 13 Jan 2026 12:52:41 +0000 (13:52 +0100)]
lib/path: Ensure consistent and robust path checks
Signed-off-by: Karel Zak <kzak@redhat.com>