]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
3 months agoMerge branch 'lastlog2' of https://github.com/schubi2/util-linux
Karel Zak [Tue, 23 Jan 2024 13:54:17 +0000 (14:54 +0100)] 
Merge branch 'lastlog2' of https://github.com/schubi2/util-linux

* 'lastlog2' of https://github.com/schubi2/util-linux:
  lastlog2 - Y2038 safe version of lastlog pam_lastlog2 - PAM module which logs user login with lastlog2

3 months agodmesg: add caller_id support
Edward Chron [Thu, 4 Jan 2024 20:43:46 +0000 (12:43 -0800)] 
dmesg: add caller_id support

Submission to Project: util-linux
Open Incident: #2609 at github.com/util-linux/util-linux/issues/2609
Component: util-linux/sys-utils
File: dmesg.c
Code level patch applied against: 2.39.3 - latest code pulled from
           git.github.com:util-linux/util-linux.git
Revision: #1 on 2023/12/08 per Review from Karel Zak
Revision: #2 on 2023/12/12 Adjust line offsets for master update and
                           Add caller_id_size init to dmesg -K
Revision: #3 on 2023/12/12 Use of sizeof for cidbuf and limit search
                           for caller_id to dmesg prefix to msg text
Revision: #4 on 2023/12/15 Ensure SYSLOG and kmsg inputs have
                           caller_id_size set appropriately
Revision: #5 on 2023/12/24 Make caller_id width consistent with
                           makedumpfile
Revision: #6 on 2023/12/30 Use updated test naming convention
Revision: #7 on 2024/01/04 Normalize kmsg caller_id spacing for test
                           platforms by removing caller_id padding
                           in test generated output.

Add support to standard dmesg command for the optional Linux Kernel
debug CONFIG option PRINTK_CALLER which adds an optional dmesg field
that contains the Thread Id or CPU Id that is issuing the printk to
add the message to the kernel ring buffer. This makes debugging simpler
as dmesg entries for a specific thread or CPU can be recognized.

The dmesg -S using the old syslog interface supports printing the
PRINTK_CALLER field but currently standard dmesg does not support
printing the field if present. There are utilities that use dmesg and
so it would be optimal if dmesg supported PRINTK_CALLER as well.

The additional field provided by PRINTK_CALLER is only present
if it was configured for the Linux kernel where the dmesg command
is run. It is a debug option and not configured by default so the
dmesg output will only change for those kernels where the option was
configured when the kernel was built. For users who went to the
trouble to configure PRINTK_CALLER and have the extra field available
for debugging, having dmesg print the field is very helpful.

Size of the PRINTK_CALLER field is determined by the maximum number
tasks that can be run on the system which is limited by the value of
/proc/sys/kernel/pid_max as pid values are from 0 to value - 1.
This value determines the number of id digits needed by the caller id.
The PRINTK_CALLER field is printed as T<id> for a Task Id or C<id>
for a CPU Id for a printk in CPU context. The values are left space
padded and enclosed in parentheses such as: [    T123] or [     C16]

For consistency with dmesg -S which supports the PRINTK_CALLER field
the field is printed followed by a space. For JSON format output the
PRINTK_CALLER field is identified as caller as that is consistent with
it's naming in /dev/kmsg. No space padding is used to reduce space
consumed by the JSON output. So the output from the command on a system
with PRINTK_CALLER field enabled in the Linux .config file the dmesg
output appears as:

> dmesg
...
[  520.897104] [   T3919] usb 3-3: Product: USB 2.0 Hub

and

> dmesg -x
...
kern  :info  : [  520.897104] [   T3919] usb 3-3: Product: USB 2.0 Hub

and

> dmesg -J
...
      },{
         "pri": 6,
         "time":    520.897104,
         "caller": "T3919",
         "msg": "usb 3-3: Product: USB 2.0 Hub"
      },{

and

> dmesg -J -x
...
      },{
         "fac": "kern",
         "pri": "info",
         "time":   520.897104,
         "caller": "T3919",
         "msg": "usb 3-3: Product: USB 2.0 Hub"
      },{

>

For comparison:

> dmesg -S
...
[  520.897104] [ T3919] usb 3-3: Product: USB 2.0 Hub

and

> dmesg -S -x
...
kern  :info  : [  520.897104] [ T3919] usb 3-3: Product: USB 2.0 Hub

Note: When dmesg uses the old syslog interface the reserved space for
      the PRINTK_CALLER field is capped at 5 digits because 32-bit
      kernels are capped at 32768 as the max number of PIDs. However,
      64-bit systems are currently capped at 2^22 PIDs (0 - 4194303).
      The PID cap is set by PID_MAX_LIMIT but the system limit can be
      less so we use /proc/sys/kernel/pid_max to determine the size
      needed to hold the maximum PID value size for the current system.
      Many 64-bit systems support 2^22 PIDs (0 - 4194303) and you see:

> dmesg -x
...
kern  :info  : [  520.899558] [   T3919] hub 3-3:1.0: USB hub found
...
kern  :info  : [ 9830.456898] [  T98982] cgroup: fork rejected by pids ...
kern  :info  : [14301.158878] [ T137336] cgroup: fork rejected by pids ...
kern  :info  : [18980.803190] [T1637865] cgroup: fork rejected by pids ...

> dmesg -S -x
...
kern  :info  : [  520.899558] [ T3919] hub 3-3:1.0: USB hub found
...
kern  :info  : [ 9830.456898] [T98982] cgroup: fork rejected by pids ...
kern  :info  : [14301.158878] [T137336] cgroup: fork rejected by pids ...
kern  :info  : [18980.803190] [T1637865] cgroup: fork rejected by pids ...

This is the only difference seen with PRINTK_CALLER configured and
printing between the dmesg /dev/kmsg interface and the dmesg -S syslog
interface.

Tests naming has been revised based on naming convention Thomas used to
introduce dmest json tests. The naming of test and input files that
reside in tests/ts/dmeg include:

<name> are existing dmesg syslog interface tests and input files.
cid-<name> are dmesg syslog interface caller_id tests and input files.
json-<name> are dmesg kmsg interface tests and input files.
cid-json-<name> are dmesg kmsg interface caller_id tests and input files.

Resulting expected files match the test names.

Signed-off-by: Ivan Delalande <colona@arista.com>
Signed-off-by: Edward Chron <echron@arista.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agobuild-sys: fix po-man clean
Karel Zak [Tue, 23 Jan 2024 11:32:03 +0000 (12:32 +0100)] 
build-sys: fix po-man clean

The files created by "make" should be removed by "clean".

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolscpu: cure empty output of lscpu -b/-p
Jan Engelhardt [Thu, 18 Jan 2024 00:50:01 +0000 (00:50 +0000)] 
lscpu: cure empty output of lscpu -b/-p

On riscv, /proc/cpuinfo looks like:

processor       : 3
hart            : 4
isa             : rv64imafdc_zicntr_zicsr_zifencei_zihpm_zba_zbb
mmu             : sv39
uarch           : sifive,u74-mc
mvendorid       : 0x489
marchid         : 0x8000000000000007
mimpid          : 0x4210427
hart isa        : rv64imafdc_zicntr_zicsr_zifencei_zihpm_zba_zbb

As none of the cputype_patterns match any of the fields in that file,
`cpu->type` is never set, which causes `get_cell_data` to always
return nullptr. The output of `lscpu -b --extended=CPU` and `lscpu
-p` is then empty.

Resolve that.

[kzak@redhat.com: - fix DEF_PAT_CPUTYPE()s order
                  - refresh lscpu/lscpu-rv64-linux test]

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoMerge branch 'master' of https://github.com/biubiuzy/util-linux
Karel Zak [Tue, 23 Jan 2024 10:09:39 +0000 (11:09 +0100)] 
Merge branch 'master' of https://github.com/biubiuzy/util-linux

* 'master' of https://github.com/biubiuzy/util-linux:
  libblkid: (drbd) reduce false-positive

3 months agoMerge branch 'lsfd--fix-2691' of https://github.com/masatake/util-linux
Karel Zak [Tue, 23 Jan 2024 10:07:58 +0000 (11:07 +0100)] 
Merge branch 'lsfd--fix-2691' of https://github.com/masatake/util-linux

* 'lsfd--fix-2691' of https://github.com/masatake/util-linux:
  tests: (lsfd::column-xmode) skip some subtests if OFD locks are not available
  tests: (lsfd) skip mkfds-netns if SIOCGSKNS is not defined
  tests: (lsfd) add lsfd_check_mkfds_factory as a help function
  tests: (test_mkfds) add --is-available option
  lsfd: build lsfd even if kcmp.h is not available
  tests: (refactor (test_mkfds, lsfd)) use TS_EXIT_NOTSUPP instead of EXIT_ENOSYS

3 months agoMerge branch 'findmnt-inode' of https://github.com/masatake/util-linux
Karel Zak [Tue, 23 Jan 2024 10:06:51 +0000 (11:06 +0100)] 
Merge branch 'findmnt-inode' of https://github.com/masatake/util-linux

* 'findmnt-inode' of https://github.com/masatake/util-linux:
  findmnt: add -I, --dfi options for imitating the output of df -i
  findmnt: add inode-related columns for implementing "df -i" like output

3 months agoMerge branch 'wipefs-man-typos' of https://github.com/codefiles/util-linux
Karel Zak [Tue, 23 Jan 2024 09:57:16 +0000 (10:57 +0100)] 
Merge branch 'wipefs-man-typos' of https://github.com/codefiles/util-linux

* 'wipefs-man-typos' of https://github.com/codefiles/util-linux:
  wipefs: (man) fix typos

3 months agoMerge branch 'PR/libmount-utab-masking' of github.com:karelzak/util-linux-work
Karel Zak [Tue, 23 Jan 2024 09:55:45 +0000 (10:55 +0100)] 
Merge branch 'PR/libmount-utab-masking' of github.com:karelzak/util-linux-work

* 'PR/libmount-utab-masking' of github.com:karelzak/util-linux-work:
  libmount: ignore unwanted kernel events in monitor
  libmount: add utab.act file
  libmount: cleanup locking in table update code
  libmount: introduce reference counting for libmnt_lock

3 months agoMerge branch 'remove-geteuid-ctrlaltdel' of https://github.com/JJ-Meng/util-linux
Karel Zak [Tue, 23 Jan 2024 09:54:51 +0000 (10:54 +0100)] 
Merge branch 'remove-geteuid-ctrlaltdel' of https://github.com/JJ-Meng/util-linux

* 'remove-geteuid-ctrlaltdel' of https://github.com/JJ-Meng/util-linux:
  ctrlaltdel: remove unnecessary uid check

3 months agowipefs: (man) fix typos
codefiles [Tue, 23 Jan 2024 01:14:33 +0000 (20:14 -0500)] 
wipefs: (man) fix typos

3 months agofindmnt: add -I, --dfi options for imitating the output of df -i
Masatake YAMATO [Mon, 22 Jan 2024 21:05:39 +0000 (06:05 +0900)] 
findmnt: add -I, --dfi options for imitating the output of df -i

An example output:

  $ ./findmnt -I
  SOURCE                            FSTYPE      INO.TOTAL  INO.USED INO.AVAIL INO.USE% TARGET
  /dev/mapper/fedora_dev64-root     ext4          5341184   1135307   4205877      21% /
  devtmpfs                          devtmpfs     32930640      1209  32929431       0% /dev
  tmpfs                             tmpfs        32938620        86  32938534       0% /dev/shm
  ...

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agofindmnt: add inode-related columns for implementing "df -i" like output
Masatake YAMATO [Mon, 22 Jan 2024 20:38:50 +0000 (05:38 +0900)] 
findmnt: add inode-related columns for implementing "df -i" like output

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agotests: (lsfd::column-xmode) skip some subtests if OFD locks are not available
Masatake YAMATO [Fri, 19 Jan 2024 22:35:40 +0000 (07:35 +0900)] 
tests: (lsfd::column-xmode) skip some subtests if OFD locks are not available

Fixed #2691 partially.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agotests: (lsfd) skip mkfds-netns if SIOCGSKNS is not defined
Masatake YAMATO [Fri, 19 Jan 2024 21:21:28 +0000 (06:21 +0900)] 
tests: (lsfd) skip mkfds-netns if SIOCGSKNS is not defined

Fixed #2691 partially.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agotests: (lsfd) add lsfd_check_mkfds_factory as a help function
Masatake YAMATO [Fri, 19 Jan 2024 21:14:35 +0000 (06:14 +0900)] 
tests: (lsfd) add lsfd_check_mkfds_factory as a help function

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agotests: (test_mkfds) add --is-available option
Masatake YAMATO [Fri, 19 Jan 2024 20:26:23 +0000 (05:26 +0900)] 
tests: (test_mkfds) add --is-available option

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agolsfd: build lsfd even if kcmp.h is not available
Masatake YAMATO [Fri, 19 Jan 2024 20:06:58 +0000 (05:06 +0900)] 
lsfd: build lsfd even if kcmp.h is not available

As reported in #2691 by @rrrossi, lsfd was not built on the platform
where kcmp.h was not available. However, lsfd just uses kcmp(2) only
for optimization; it can work without kcmp.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agoMerge branch 'lsfd--cosmetic-fix' of https://github.com/masatake/util-linux
Karel Zak [Mon, 22 Jan 2024 12:21:57 +0000 (13:21 +0100)] 
Merge branch 'lsfd--cosmetic-fix' of https://github.com/masatake/util-linux

* 'lsfd--cosmetic-fix' of https://github.com/masatake/util-linux:
  lsfd,test_mkfds: (cosmetic) remove whitespaces between functions and their arglists

3 months agotests: (refactor (test_mkfds, lsfd)) use TS_EXIT_NOTSUPP instead of EXIT_ENOSYS
Masatake YAMATO [Mon, 22 Jan 2024 10:15:00 +0000 (19:15 +0900)] 
tests: (refactor (test_mkfds, lsfd)) use TS_EXIT_NOTSUPP instead of EXIT_ENOSYS

Suggested by Thomas Weißschuh in #2722.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agoMerge branch 'fallocate--retval' of https://github.com/masatake/util-linux
Karel Zak [Mon, 22 Jan 2024 12:21:03 +0000 (13:21 +0100)] 
Merge branch 'fallocate--retval' of https://github.com/masatake/util-linux

* 'fallocate--retval' of https://github.com/masatake/util-linux:
  fallocate: fix the way to evaluate values returned from posix_fallocate

3 months agolibmount: ignore unwanted kernel events in monitor
Karel Zak [Mon, 22 Jan 2024 12:04:44 +0000 (13:04 +0100)] 
libmount: ignore unwanted kernel events in monitor

If the mount operation requires multiple steps, it's optimal for the
libmount monitor to ignore the steps until we get a complete mount
(reported by the utab.event file).

This commit adds a new API function, mnt_monitor_veil_kernel(), to
ignore unwanted kernel mount events.

Note that this only makes sense when the application monitors kernel
and userspace events simultaneously.

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolibmount: add utab.act file
Karel Zak [Mon, 22 Jan 2024 11:56:24 +0000 (12:56 +0100)] 
libmount: add utab.act file

The file exists when libmount works with utab, and more steps are
expected during a single mount operation (more kernel events, more
updates to utab, etc.).

It is possible to monitor the file through the mnt_monitor_...() API
by a simple access() after any event. No locks are expected in
monitor, making it usable for non-root users without any security
impact. The monitor can ignore events if the file exist.

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolibmount: cleanup locking in table update code
Karel Zak [Fri, 19 Jan 2024 11:58:50 +0000 (12:58 +0100)] 
libmount: cleanup locking in table update code

* use reference counting for libmnt_lock

* remove lock use from mnt_update_already_done(), it's read-only
  operation and utab update is atomic (based on rename(2))

* keep the lock instance mandatory for all low-level update_*
  functions. The lock is always initialized, so all the 'if(lc)'
  are unnecessary.

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolsfd,test_mkfds: (cosmetic) remove whitespaces between functions and their arglists
Masatake YAMATO [Fri, 19 Jan 2024 15:03:46 +0000 (00:03 +0900)] 
lsfd,test_mkfds: (cosmetic) remove whitespaces between functions and their arglists

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agofallocate: fix the way to evaluate values returned from posix_fallocate
Masatake YAMATO [Fri, 19 Jan 2024 14:47:30 +0000 (23:47 +0900)] 
fallocate: fix the way to evaluate values returned from posix_fallocate

Unlike Linux native system calls, posix_fallocate doesn't return -1
whe an error occurs; it returns a errno value directly.

The bug of the original code was reported by @Yugend on #2714.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 months agoctrlaltdel: remove unnecessary uid check
JJ-Meng [Fri, 19 Jan 2024 12:08:55 +0000 (20:08 +0800)] 
ctrlaltdel: remove unnecessary uid check

3 months agolibmount: introduce reference counting for libmnt_lock
Karel Zak [Fri, 19 Jan 2024 11:15:48 +0000 (12:15 +0100)] 
libmount: introduce reference counting for libmnt_lock

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolibsmartcols: fix columns reduction
Karel Zak [Thu, 18 Jan 2024 12:09:24 +0000 (13:09 +0100)] 
libsmartcols: fix columns reduction

* reduce_to_68() does not care if subtract from column width is
  possible (and width is size_t)

* improve some calculations with 'double'

Fixes: https://github.com/util-linux/util-linux/issues/2563
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoMerge branch 'audit/ret' of https://github.com/t-8ch/util-linux
Karel Zak [Fri, 19 Jan 2024 08:41:18 +0000 (09:41 +0100)] 
Merge branch 'audit/ret' of https://github.com/t-8ch/util-linux

* 'audit/ret' of https://github.com/t-8ch/util-linux:
  login: ignore return of audit_log_acct_message
  hwclock: handle failure of audit_log_user_message

3 months agologin: ignore return of audit_log_acct_message
Thomas Weißschuh [Fri, 19 Jan 2024 02:12:21 +0000 (03:12 +0100)] 
login: ignore return of audit_log_acct_message

The function is marked with `warn_unused_result` so handle the return
value. Failures of `audit_open()` are also silently ignored so do the
same for `audit_log_acct_message()` itself.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agohwclock: handle failure of audit_log_user_message
Thomas Weißschuh [Fri, 19 Jan 2024 02:11:22 +0000 (03:11 +0100)] 
hwclock: handle failure of audit_log_user_message

The function is marked was `warn_unused_result`, so do something with
the return value.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agofsck: initialize timevals [-Werror=maybe-uninitialized]
Karel Zak [Thu, 18 Jan 2024 19:43:51 +0000 (20:43 +0100)] 
fsck: initialize timevals [-Werror=maybe-uninitialized]

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoflock: initialize timevals [-Werror=maybe-uninitialized]
Karel Zak [Thu, 18 Jan 2024 19:40:50 +0000 (20:40 +0100)] 
flock: initialize timevals [-Werror=maybe-uninitialized]

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolib/pty-session: initialize timevals [-Werror=maybe-uninitialized]
Karel Zak [Thu, 18 Jan 2024 16:35:51 +0000 (17:35 +0100)] 
lib/pty-session: initialize timevals [-Werror=maybe-uninitialized]

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolastlog2 - Y2038 safe version of lastlog
Stefan Schubert [Thu, 7 Sep 2023 15:30:23 +0000 (17:30 +0200)] 
lastlog2 - Y2038 safe version of lastlog
pam_lastlog2 - PAM module which logs user login with lastlog2

3 months agolibblkid: (drbd) reduce false-positive
biubiuzy [Wed, 17 Jan 2024 03:23:47 +0000 (11:23 +0800)] 
libblkid: (drbd) reduce false-positive

3 months agowall: fix calloc cal [-Werror=calloc-transposed-args]
Karel Zak [Wed, 17 Jan 2024 11:37:08 +0000 (12:37 +0100)] 
wall: fix calloc cal [-Werror=calloc-transposed-args]

term-utils/wall.c:143:37: error: xcalloc sizes specified with sizeof in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
  143 |         buf->groups = xcalloc(sizeof(*buf->groups), buf->ngroups);
      |                                     ^
term-utils/wall.c:143:37: note: earlier argument should specify number of elements, later size of each element

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agosulogin: relabel terminal according to SELinux policy
Christian Göttsche [Wed, 13 Dec 2023 15:53:20 +0000 (16:53 +0100)] 
sulogin: relabel terminal according to SELinux policy

The common SELinux practice is to have a distinct label for terminals in
use by logged in users.  This allows to differentiate access on the
associated terminal (e.g. user_tty_device_t) vs foreign ones (e.g.
tty_device_t or sysadm_tty_device_t).  Therefore the application
performing the user login and setting up the associated terminal should
label that terminal according to the loaded SELinux policy.  Commonly
this is done by pam_selinux(7).  Since sulogin(8) does not use pam(7)
perform the necessary steps manually.

Fixes: https://github.com/util-linux/util-linux/issues/1578
Reviewed-by: James Carter <jwcart2@gmail.com>
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoMerge branch 'libblkid/drbd/padding' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 17 Jan 2024 08:43:05 +0000 (09:43 +0100)] 
Merge branch 'libblkid/drbd/padding' of https://github.com/t-8ch/util-linux

* 'libblkid/drbd/padding' of https://github.com/t-8ch/util-linux:
  libblkid: (drbd) validate zero padding
  libblkid: avoid aligning out of probing area

3 months agolibfdisk: (tests) fix tests for removal of non-blockdev sync()
Thomas Weißschuh [Tue, 16 Jan 2024 13:34:54 +0000 (14:34 +0100)] 
libfdisk: (tests) fix tests for removal of non-blockdev sync()

Fixes: 101dca2f18eb ("libfdisk: fdisk_deassign_device: only sync(2) blockdevs")
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agoMerge branch 'time64' of https://github.com/t-8ch/util-linux
Karel Zak [Tue, 16 Jan 2024 10:17:55 +0000 (11:17 +0100)] 
Merge branch 'time64' of https://github.com/t-8ch/util-linux

* 'time64' of https://github.com/t-8ch/util-linux:
  build-sys: (tests) validate that time_t is 64bit
  meson: try to always use 64bit time support on glibc
  build-sys: try to always use 64bit time support on glibc
  build-sys: backport autoconf year2038 macros
  tests: add sysinfo to show sizeof(time_t)
  tests: constify a sysinfo helpers struct

3 months agolibfdisk: fdisk_deassign_device: only sync(2) blockdevs
наб [Sat, 13 Jan 2024 22:35:31 +0000 (23:35 +0100)] 
libfdisk: fdisk_deassign_device: only sync(2) blockdevs

When not editing a blockdev, syncing disks provides no benefit
(we already fsync() above), takes a long time,
and affects unrelated caches.

BLKRRPART is similarly gated on !S_ISBLK(st_mode) in
fdisk_reread_partition_table.

3 months agoMerge branch 'PR/uuidd-cont-clock-persistence' of github.com:karelzak/util-linux...
Karel Zak [Mon, 15 Jan 2024 09:38:45 +0000 (10:38 +0100)] 
Merge branch 'PR/uuidd-cont-clock-persistence' of github.com:karelzak/util-linux-work

* 'PR/uuidd-cont-clock-persistence' of github.com:karelzak/util-linux-work:
  libuuid: fix uint64_t printf and scanf format
  uuidd: add cont_clock persistence

3 months agoMerge branch 'PR/libmount-utab-event' of github.com:karelzak/util-linux-work
Karel Zak [Mon, 15 Jan 2024 09:38:27 +0000 (10:38 +0100)] 
Merge branch 'PR/libmount-utab-event' of github.com:karelzak/util-linux-work

* 'PR/libmount-utab-event' of github.com:karelzak/util-linux-work:
  libmount: don't assume errno after failed asprintf()
  libmount: reduce utab.lock permissions
  libmount: introduce /run/mount/utab.event
  libmount: add mnt_context_within_helper() wrapper

3 months agolibuuid: fix uint64_t printf and scanf format
Karel Zak [Fri, 12 Jan 2024 09:52:40 +0000 (10:52 +0100)] 
libuuid: fix uint64_t printf and scanf format

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoMerge branch 'libblkid/const' of https://github.com/t-8ch/util-linux
Karel Zak [Fri, 12 Jan 2024 09:31:38 +0000 (10:31 +0100)] 
Merge branch 'libblkid/const' of https://github.com/t-8ch/util-linux

* 'libblkid/const' of https://github.com/t-8ch/util-linux:
  libblkid: constify return values of blkid_probe_get_sb
  include/c.h: handle members of const struct

3 months agouuidd: add cont_clock persistence
Michael Trapp [Wed, 10 Jan 2024 16:29:38 +0000 (17:29 +0100)] 
uuidd: add cont_clock persistence

cont_clock requires a correct time setup and therefore it
must be possible to detect a step back between uuidd starts.

Reserving the next 10 seconds is sufficient and should not
have a noticeable performance impact. It will also provide
the possibility to start with the clock_reg from the previous
session when the system was rebooted.

Whith that, the early cont_clock initialization in uuidd
should be removed because writing the cont_clock persitence
when -C was not set is useless and might be confusing.

3 months agolibblkid: (drbd) validate zero padding
Thomas Weißschuh [Fri, 12 Jan 2024 07:50:14 +0000 (08:50 +0100)] 
libblkid: (drbd) validate zero padding

This should reduce false-positives.

See #2701.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agolibblkid: avoid aligning out of probing area
Thomas Weißschuh [Fri, 12 Jan 2024 07:47:50 +0000 (08:47 +0100)] 
libblkid: avoid aligning out of probing area

When reading from the end of the device the IO size alignment could
enlarge the read buffer outside of the probing area.
This would then trigger a read failure.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agolibblkid: constify return values of blkid_probe_get_sb
Thomas Weißschuh [Fri, 12 Jan 2024 06:47:12 +0000 (07:47 +0100)] 
libblkid: constify return values of blkid_probe_get_sb

The macro contains a cast, removing the constness of
blkid_probe_get_sb_buffer(). Readd the constness and adapt the callers.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agoinclude/c.h: handle members of const struct
Thomas Weißschuh [Fri, 12 Jan 2024 06:51:39 +0000 (07:51 +0100)] 
include/c.h: handle members of const struct

Trying to copy into a local const struct will lead to a compiler error.
By adding a "+ 0" to the argument of __typeof__() the type of the
resulting express will loose its constness.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agolibfdisk: add shortcut for Linux extended boot
Thomas Weißschuh [Thu, 11 Jan 2024 20:50:08 +0000 (21:50 +0100)] 
libfdisk: add shortcut for Linux extended boot

See #2670

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agoMerge branch 'PR/libblkid-hfsplus' of github.com:karelzak/util-linux-work
Karel Zak [Thu, 11 Jan 2024 16:48:19 +0000 (17:48 +0100)] 
Merge branch 'PR/libblkid-hfsplus' of github.com:karelzak/util-linux-work

* 'PR/libblkid-hfsplus' of github.com:karelzak/util-linux-work:
  libblkid: (hfsplus) reduce false positive

3 months agolsblk: add docs for filters and counters
Karel Zak [Thu, 11 Jan 2024 16:00:25 +0000 (17:00 +0100)] 
lsblk: add docs for filters and counters

Fixes: https://github.com/util-linux/util-linux/issues/2697
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoMerge branch 'login' of https://github.com/stoeckmann/util-linux
Karel Zak [Thu, 11 Jan 2024 14:43:50 +0000 (15:43 +0100)] 
Merge branch 'login' of https://github.com/stoeckmann/util-linux

* 'login' of https://github.com/stoeckmann/util-linux:
  login: document blank treatment in shell field
  login: unify pw_shell script test
  login: simplify name creation

3 months agolibblkid: (hfsplus) reduce false positive
Karel Zak [Wed, 10 Jan 2024 08:35:35 +0000 (09:35 +0100)] 
libblkid: (hfsplus) reduce false positive

Fixes: https://github.com/util-linux/util-linux/issues/2692
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agobash-completion: update for mkswap
Karel Zak [Thu, 11 Jan 2024 14:36:19 +0000 (15:36 +0100)] 
bash-completion: update for mkswap

Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agoMerge branch 'mkswapfile' of https://github.com/endrift/util-linux
Karel Zak [Thu, 11 Jan 2024 14:28:48 +0000 (15:28 +0100)] 
Merge branch 'mkswapfile' of https://github.com/endrift/util-linux

* 'mkswapfile' of https://github.com/endrift/util-linux:
  mkswap: implement --file

3 months agoMerge branch 'include/parttypes' of https://github.com/t-8ch/util-linux
Karel Zak [Thu, 11 Jan 2024 14:25:43 +0000 (15:25 +0100)] 
Merge branch 'include/parttypes' of https://github.com/t-8ch/util-linux

* 'include/parttypes' of https://github.com/t-8ch/util-linux:
  include: add U-Boot environment partition type
  include: add some more ChromeOS partition types

3 months agolibfdisk: constify builtin fdisk_parttype
Thomas Weißschuh [Thu, 11 Jan 2024 07:12:45 +0000 (08:12 +0100)] 
libfdisk: constify builtin fdisk_parttype

The builtin struct fdisk_parttypes are not supposed to be modified.
This is enforced in the mutation functions.

While the API could be cleaned up to distinguish between const and
non-const versions of fdisk_parttype this could break user code.

Instead preserve the API and add some internal casts.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agoinclude: add U-Boot environment partition type
Thomas Weißschuh [Thu, 11 Jan 2024 06:37:21 +0000 (07:37 +0100)] 
include: add U-Boot environment partition type

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agoinclude: add some more ChromeOS partition types
Thomas Weißschuh [Thu, 11 Jan 2024 06:37:14 +0000 (07:37 +0100)] 
include: add some more ChromeOS partition types

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
3 months agologin: document blank treatment in shell field
Tobias Stoeckmann [Tue, 9 Jan 2024 20:07:39 +0000 (21:07 +0100)] 
login: document blank treatment in shell field

If the shell field contains a blank, then the shell field is
interpreted as a shell script.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
3 months agolosetup: improve "sector boundary" warning
Karel Zak [Tue, 9 Jan 2024 12:05:30 +0000 (13:05 +0100)] 
losetup: improve "sector boundary" warning

Fixes: https://github.com/util-linux/util-linux/issues/2689
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agohardlink: fix fiemap use
Karel Zak [Tue, 9 Jan 2024 11:59:24 +0000 (12:59 +0100)] 
hardlink: fix fiemap use

Handle cases where the number of fm_mapped_extents is zero by ignoring
the fm_extents array, as zero is a valid value.

Fixes: https://github.com/util-linux/util-linux/issues/2687
Signed-off-by: Karel Zak <kzak@redhat.com>
3 months agolsblk: explain FSAVAIL in better way
Karel Zak [Tue, 9 Jan 2024 11:45:53 +0000 (12:45 +0100)] 
lsblk: explain FSAVAIL in better way

Addresses: https://github.com/util-linux/util-linux/discussions/2690
Signed-off-by: Karel Zak <kzak@redhat.com>
4 months agomkswap: implement --file
Vicki Pfau [Sat, 6 Jan 2024 03:50:29 +0000 (19:50 -0800)] 
mkswap: implement --file

Addresses #2359

Signed-off-by: Vicki Pfau <vi@endrift.com>
4 months agorunuser|su: Start supporting option -T|--no-pty
Sebastian Pipping [Fri, 5 Jan 2024 23:46:49 +0000 (00:46 +0100)] 
runuser|su: Start supporting option -T|--no-pty

.. to pave the way for a future with -P|--pty for a default.

4 months agorunuser.1.adoc: Move -m|-p|--preserve-environment in order
Sebastian Pipping [Fri, 5 Jan 2024 23:43:20 +0000 (00:43 +0100)] 
runuser.1.adoc: Move -m|-p|--preserve-environment in order

.. for alphabetical order and to match sibling file su.1.adoc.

4 months agoMerge branch 'libmount/tests/root' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 8 Jan 2024 09:37:54 +0000 (10:37 +0100)] 
Merge branch 'libmount/tests/root' of https://github.com/t-8ch/util-linux

* 'libmount/tests/root' of https://github.com/t-8ch/util-linux:
  libmount: (tests) don't require root for update tests

4 months agoMerge branch 'tests--lsfd--mkfds-inotify-on-btrfs' of https://github.com/masatake...
Karel Zak [Mon, 8 Jan 2024 09:37:09 +0000 (10:37 +0100)] 
Merge branch 'tests--lsfd--mkfds-inotify-on-btrfs' of https://github.com/masatake/util-linux

* 'tests--lsfd--mkfds-inotify-on-btrfs' of https://github.com/masatake/util-linux:
  tests: (lsfd) add a case testing INOTIFY.INODES.RAW column on btrfs
  tests: (test_mkfds::inotify) add "dir" and "file" parameters
  tests: (lsfd::mkfds-inotify) use findmnt(1) instead of stat(1) to get bdev numbers

4 months agolibmount: don't assume errno after failed asprintf()
Karel Zak [Mon, 8 Jan 2024 09:32:54 +0000 (10:32 +0100)] 
libmount: don't assume errno after failed asprintf()

Reported-by: Thomas Weißschuh <thomas@t-8ch.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 months agoMerge branch 'patch-24' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:27:24 +0000 (10:27 +0100)] 
Merge branch 'patch-24' of https://github.com/mariobl/util-linux

* 'patch-24' of https://github.com/mariobl/util-linux:
  hexdump: Add missing section header in man page

4 months agoMerge branch 'patch-25' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:26:53 +0000 (10:26 +0100)] 
Merge branch 'patch-25' of https://github.com/mariobl/util-linux

* 'patch-25' of https://github.com/mariobl/util-linux:
  write: Add missing section header in man page

4 months agoMerge branch 'patch-23' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:26:40 +0000 (10:26 +0100)] 
Merge branch 'patch-23' of https://github.com/mariobl/util-linux

* 'patch-23' of https://github.com/mariobl/util-linux:
  fadvise: Fix markup in man page

4 months agoMerge branch 'patch-21' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:25:54 +0000 (10:25 +0100)] 
Merge branch 'patch-21' of https://github.com/mariobl/util-linux

* 'patch-21' of https://github.com/mariobl/util-linux:
  fstab: Fix markup in man page

4 months agoMerge branch 'patch-20' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:25:37 +0000 (10:25 +0100)] 
Merge branch 'patch-20' of https://github.com/mariobl/util-linux

* 'patch-20' of https://github.com/mariobl/util-linux:
  uuidd: Fix markup in man page (uuidd.8)

4 months agoMerge branch 'patch-16' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:24:58 +0000 (10:24 +0100)] 
Merge branch 'patch-16' of https://github.com/mariobl/util-linux

* 'patch-16' of https://github.com/mariobl/util-linux:
  sfdisk: Fix markup in man page

4 months agoMerge branch 'patch-17' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:24:07 +0000 (10:24 +0100)] 
Merge branch 'patch-17' of https://github.com/mariobl/util-linux

* 'patch-17' of https://github.com/mariobl/util-linux:
  hardlink: Fix markup in man page

4 months agoMerge branch 'patch-18' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:23:38 +0000 (10:23 +0100)] 
Merge branch 'patch-18' of https://github.com/mariobl/util-linux

* 'patch-18' of https://github.com/mariobl/util-linux:
  lsclocks: Fix markup and typos in man page

4 months agoMerge branch 'patch-19' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:23:09 +0000 (10:23 +0100)] 
Merge branch 'patch-19' of https://github.com/mariobl/util-linux

* 'patch-19' of https://github.com/mariobl/util-linux:
  lsfd: Fix typos in man page

4 months agoMerge branch 'patch-22' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Jan 2024 09:22:31 +0000 (10:22 +0100)] 
Merge branch 'patch-22' of https://github.com/mariobl/util-linux

* 'patch-22' of https://github.com/mariobl/util-linux:
  mount: Fix markup and typos in man page

4 months agoMerge branch 'hwclock-set-jitter' of https://github.com/badgerious/util-linux
Karel Zak [Mon, 8 Jan 2024 09:08:05 +0000 (10:08 +0100)] 
Merge branch 'hwclock-set-jitter' of https://github.com/badgerious/util-linux

* 'hwclock-set-jitter' of https://github.com/badgerious/util-linux:
  hwclock: Improve set error in the face of jitter

4 months agolibmount: (tests) don't require root for update tests
Thomas Weißschuh [Sat, 6 Jan 2024 08:52:42 +0000 (09:52 +0100)] 
libmount: (tests) don't require root for update tests

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
4 months agotests: (lsfd) add a case testing INOTIFY.INODES.RAW column on btrfs
Masatake YAMATO [Fri, 5 Jan 2024 14:31:05 +0000 (23:31 +0900)] 
tests: (lsfd) add a case testing INOTIFY.INODES.RAW column on btrfs

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
4 months agotests: (test_mkfds::inotify) add "dir" and "file" parameters
Masatake YAMATO [Fri, 5 Jan 2024 14:25:49 +0000 (23:25 +0900)] 
tests: (test_mkfds::inotify) add "dir" and "file" parameters

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
4 months agotests: (lsfd::mkfds-inotify) use findmnt(1) instead of stat(1) to get bdev numbers
Masatake YAMATO [Fri, 5 Jan 2024 08:54:36 +0000 (17:54 +0900)] 
tests: (lsfd::mkfds-inotify) use findmnt(1) instead of stat(1) to get bdev numbers

Close #2349

stat(2) on some filesystems including btrfs reports a block device
number (bdev number) with a offset. On the other hand, "inotify wd"
field of /proc/$pid/fdinfo/$fd for an inotify file reports bdev
numbers without offsets.

The offset caused the failure of lsfd::mkfds-inotify test case on
btrfs.  Unlike stat(2), findmnt can report bdev numbers without
offsets.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
4 months agowrite: Add missing section header in man page
Mario Blättermann [Thu, 4 Jan 2024 20:59:43 +0000 (21:59 +0100)] 
write: Add missing section header in man page

4 months agohexdump: Add missing section header in man page
Mario Blättermann [Thu, 4 Jan 2024 20:58:04 +0000 (21:58 +0100)] 
hexdump: Add missing section header in man page

4 months agofadvise: Fix markup in man page
Mario Blättermann [Thu, 4 Jan 2024 19:58:53 +0000 (20:58 +0100)] 
fadvise: Fix markup in man page

4 months agomount: Fix markup and typos in man page
Mario Blättermann [Thu, 4 Jan 2024 16:30:27 +0000 (17:30 +0100)] 
mount: Fix markup and typos in man page

4 months agofstab: Fix markup in man page
Mario Blättermann [Thu, 4 Jan 2024 16:22:33 +0000 (17:22 +0100)] 
fstab: Fix markup in man page

4 months agouuidd: Fix markup in man page (uuidd.8)
Mario Blättermann [Thu, 4 Jan 2024 16:20:44 +0000 (17:20 +0100)] 
uuidd: Fix markup in man page (uuidd.8)

4 months agolsfd: Fix typos in man page
Mario Blättermann [Thu, 4 Jan 2024 16:18:20 +0000 (17:18 +0100)] 
lsfd: Fix typos in man page

4 months agolsclocks: Fix markup and typos in man page
Mario Blättermann [Thu, 4 Jan 2024 16:15:29 +0000 (17:15 +0100)] 
lsclocks: Fix markup and typos in man page

4 months agohardlink: Fix markup in man page
Mario Blättermann [Thu, 4 Jan 2024 16:13:01 +0000 (17:13 +0100)] 
hardlink: Fix markup in man page

4 months agosfdisk: Fix markup in man page
Mario Blättermann [Thu, 4 Jan 2024 16:10:01 +0000 (17:10 +0100)] 
sfdisk: Fix markup in man page

4 months agoautotools: add missing dist_noinst_DATA
Karel Zak [Thu, 4 Jan 2024 10:54:23 +0000 (11:54 +0100)] 
autotools: add missing dist_noinst_DATA

Addresses: https://github.com/util-linux/util-linux/pull/2668
Signed-off-by: Karel Zak <kzak@redhat.com>
4 months agoMerge branch 'patch-15' of https://github.com/mariobl/util-linux
Karel Zak [Thu, 4 Jan 2024 10:53:27 +0000 (11:53 +0100)] 
Merge branch 'patch-15' of https://github.com/mariobl/util-linux

* 'patch-15' of https://github.com/mariobl/util-linux:
  man: Add enosys and lsclocks to po4a.cfg