]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
2 months agotests: (fallocate) use long options to improve test coverage report
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>
2 months agotests: (enosys) use long options instead, to improve test coverage report
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>
2 months agotests: (chfn) test all long options
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>
2 months agotests: (cal) use more long options to improve test coverage accuracy
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>
2 months agotests: (blkid) use more long options to improve test coverage accuracy
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>
2 months agotests: (blkdiscard) use long options to improve test coverage accuracy
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>
2 months agotests: (column) add more tests
Christian Goeschel Ndjomouo [Thu, 22 Jan 2026 01:52:29 +0000 (20:52 -0500)] 
tests: (column) add more tests

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agotests: (chrt) fix various shellcheck warnings
Christian Goeschel Ndjomouo [Thu, 29 Jan 2026 13:00:29 +0000 (08:00 -0500)] 
tests: (chrt) fix various shellcheck warnings

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agotests: (flock) fix shellcheck warning
Christian Goeschel Ndjomouo [Thu, 29 Jan 2026 12:57:52 +0000 (07:57 -0500)] 
tests: (flock) fix shellcheck warning

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agotests: (uuidd) fix various shellcheck warnings
Christian Goeschel Ndjomouo [Thu, 29 Jan 2026 12:55:48 +0000 (07:55 -0500)] 
tests: (uuidd) fix various shellcheck warnings

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agotests: move schedutils tool test scripts to dedicated subdirs
Christian Goeschel Ndjomouo [Thu, 29 Jan 2026 06:16:26 +0000 (01:16 -0500)] 
tests: move schedutils tool test scripts to dedicated subdirs

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agotests: move uuid* tool test scripts to dedicated subdirectories
Christian Goeschel Ndjomouo [Thu, 29 Jan 2026 05:53:02 +0000 (00:53 -0500)] 
tests: move uuid* tool test scripts to dedicated subdirectories

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agotests: move test scripts from tests/ts/misc to dedicated subdir
Christian Goeschel Ndjomouo [Sun, 18 Jan 2026 17:22:36 +0000 (12:22 -0500)] 
tests: move test scripts from tests/ts/misc to dedicated subdir

This patch moves the test scripts in tests/ts/misc to subdirs
in tests/ts for each util-linux tool. It keeps the directory
structure consistent and allows to extend testing for each tool
individually. It also lays the groundwork for the test coverage
report helper script tools/testcoverage.sh.

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2 months agochfn: allow --help and --version without login.defs restrictions
Karel Zak [Thu, 29 Jan 2026 11:50:16 +0000 (12:50 +0100)] 
chfn: allow --help and --version without login.defs restrictions

Parse command line arguments twice: first pass handles --help and
--version before restrictions are applied, second pass enforces
login.defs CHFN_RESTRICT settings for field options.

Signed-off-by: Karel Zak <kzak@redhat.com>
2 months agotests: (chfn) ensure that invalid input is detected correctly
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>
2 months agochfn: improve man page
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>
2 months agochfn: make comment more accurate
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>
2 months agochfn: fix minor grammar mistakes in comments
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>
2 months agochfn: use true/false bool values for semantic clarity
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>
2 months agochfn: use direct equality check for semantic clarity and readability
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>
2 months agochfn: free memory before return from save_new_data()
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>
2 months agochfn: use null character (0) for better readability
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>
2 months agochfn: fix typos, wording, and punctuation inconsistencies
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>
2 months agoMerge branch 'lsfd--dont-reuse-stat-buffer' of https://github.com/masatake/util-linux
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

2 months agolsfd: (bugfix) do not reuse stat(2) buffer for files with identical names
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>
2 months agoAUTHORS: add copyfilerange
Karel Zak [Wed, 28 Jan 2026 12:14:10 +0000 (13:14 +0100)] 
AUTHORS: add copyfilerange

Signed-off-by: Karel Zak <kzak@redhat.com>
2 months agoMerge branch 'copyfilerange' of https://github.com/meeuw/util-linux
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

2 months agoMerge branch 'maybe' of https://github.com/stoeckmann/util-linux
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

2 months agoMerge branch 'nsenter_pidfd_inode' of https://github.com/cgoesche/util-linux-fork
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

2 months agoblkdev: Correct zone report size calculation
Leefancy [Wed, 28 Jan 2026 09:02:35 +0000 (17:02 +0800)] 
blkdev: Correct zone report size calculation

Signed-off-by: Leefancy <lijian01@kylinos.cn>
2 months agocopyfilerange: new command to call copy-file-range
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>
2 months agoFix typos
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>
2 months agosetpriv: (man) Fix grammar
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>
2 months agoDocumentation: Fix "maybe be" typo
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>
2 months agoMerge branch 'arm-ids' of https://github.com/mstorsjo/util-linux
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

2 months agonsenter: support 'PID:inode' process address format
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>
2 months agoMerge branch 'pidutils_improve' of https://github.com/cgoesche/util-linux-fork
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

2 months agoMerge branch 'pager_removals' of https://github.com/stoeckmann/util-linux
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"

2 months agoMerge branch 'PR/libpath-nonnull-check' of https://github.com/karelzak/util-linux...
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

2 months agolscpu: Implement options for dumping ARM implementer/model name tables
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.

2 months agolsns: make the synopsis more coherent
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>
2 months agolib: (pidutils) improve the return protocol
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>
2 months agotests: add a helper command, test_open_twice
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>
2 months agoMerge branch 'spelling' of https://github.com/jwilk-forks/util-linux
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

2 months agolscpu: remove duplicate ARM names, clean up names
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>
2 months agosetpriv: (man) fix typo
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>
2 months agolib: (pidutils) add a routine to parse pids and err() on failure
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>
2 months agolib: (pidutils) improve 'PID:inode' parsing logic
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>
2 months agoMerge branch 'PR/libfdisk-EBR-gap' of https://github.com/karelzak/util-linux-work
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

2 months agotests: simplify TS_DESC in fdisk/mbr-logical-ebr-gap
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>
2 months agolibfdisk: remove duplicate code
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>
2 months agotests: (fdisk) make sure test_strerror avalable
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>
2 months agoMerge branch 'master' of https://github.com/martinjungblut/util-linux into PR/libfdis...
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

2 months agolsfd: fix dependency on errnos.h
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>
2 months agolsfd: make sure errors array is not empty [-Werror=type-limits]
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>
2 months agolib/pager: Fix typos
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>
2 months agolib/pager: Simplify wait_for_pager
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>
2 months agolib/pager: Merge wait_or_whine into wait_for_pager
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>
2 months agolib/pager: The variable need_in is always 1
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>
2 months agolib/pager: Remove struct field `no_stdin`
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>
2 months agolib/pager: Remove struct field preexec_cb
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>
2 months agolib/pager: Remove unused define
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>
2 months agolib/pager: Remove unused struct entry `err`
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>
2 months agolib/pager: Remove unused struct field "out"
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>
2 months agoMerge branch 'PR/unshare-signals-forwarding' of https://github.com/karelzak/util...
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

2 months agoMerge branch 'lsfd--add-error-c' of https://github.com/masatake/util-linux
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

2 months agoMerge branch 'patch-1' of https://github.com/finefoot/util-linux
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

2 months agorunuser|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

2 months agolsfd: (refactor) move the error object related code to a new file
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>
2 months agolsfd: (refactor) remove redundant is_error member from struct file
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>
2 months agolsfd: (refactor) add a helper function making error file objects
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>
2 months agolsfd: remove __unused__ attr from parameters used actually
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>
2 months agolsfd: (cosmetic) adjust white spaces in column definitions
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>
2 months agoMerge branch 'add-man-section-to-calls' of https://github.com/meeuw/util-linux
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

2 months agoautotools: use $PTHREAD_LIBS everywhere
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>
2 months agoMerge branch 'fix-pthread' of https://github.com/bkuhls/util-linux
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

2 months agoMerge branch 'pseudo-kiofuse' of https://github.com/Elsensee/util-linux
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

2 months agotests: add tests for unshare --forward-signals
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>
2 months agounshare: document --forward-signals in man page
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>
2 months agounshare: implement signal forwarding when --forward-signals is used
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>
2 months agounshare: add --forward-signals option to argument parser
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>
2 months agoAdd man page section to (sys)calls
Dick Marinus [Sun, 18 Jan 2026 19:41:48 +0000 (20:41 +0100)] 
Add man page section to (sys)calls

2 months agoautotools: optionally add libpthread to uuid.pc
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>
2 months agoMerge branch 'PR/findmnt-mounttype' of https://github.com/karelzak/util-linux-work
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

2 months agofindmnt: fix misleading warning messages for ntfs3
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>
2 months agolib/path: add NULL checks for path in statx and access
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>
2 months agoMerge branch 'unshare_typo' of https://github.com/stoeckmann/util-linux
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

2 months agoMerge branch 'PR/blkpr-keys' of https://github.com/karelzak/util-linux-work
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

2 months agomount: (man) add link to mount.ceph(8)
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>
3 months agounshare: (man) fix grammar
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>
3 months agolibmount: move fstype_to_mounttype() to include/
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>
3 months agoinclude: rename mount-api-utils.h to mountutils.h
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>
3 months agoMerge branch 'lslocks--fix-oPID' of https://github.com/masatake/util-linux
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

3 months agolib/path: Ensure consistent and robust path checks
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>
3 months agoblkpr: fix compilation [-Werror,-Wunused-function]
Karel Zak [Tue, 13 Jan 2026 12:23:39 +0000 (13:23 +0100)] 
blkpr: fix compilation [-Werror,-Wunused-function]

sys-utils/blkpr.c:171:27: error: unused function 'type_to_str' [-Werror,-Wunused-function]

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolslocks: (bugfix) don't set rawdata in COL_PID if rawdata is null
Masatake YAMATO [Tue, 13 Jan 2026 10:03:26 +0000 (19:03 +0900)] 
lslocks: (bugfix) don't set rawdata in COL_PID if rawdata is null

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agolsfd: fill MNTID coulmn for exe, cwd, and rtd assocations
Masatake YAMATO [Fri, 9 Jan 2026 05:46:15 +0000 (14:46 +0900)] 
lsfd: fill MNTID coulmn for exe, cwd, and rtd assocations

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agotests: (lsfd::column-mntid) add a new case
Masatake YAMATO [Fri, 9 Jan 2026 02:47:25 +0000 (11:47 +0900)] 
tests: (lsfd::column-mntid) add a new case

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agotests: (test_mkfds::mmap) add "shared" paramter
Masatake YAMATO [Fri, 9 Jan 2026 02:48:35 +0000 (11:48 +0900)] 
tests: (test_mkfds::mmap) add "shared" paramter

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agolsfd: fill MNTID coulmn for shm and mem assocations
Masatake YAMATO [Thu, 8 Jan 2026 21:59:56 +0000 (06:59 +0900)] 
lsfd: fill MNTID coulmn for shm and mem assocations

Signed-off-by: Masatake YAMATO <yamato@redhat.com>