]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
2 years agoblkpr: store return value of getopt_long in int
Thomas Weißschuh [Wed, 11 Oct 2023 05:20:43 +0000 (07:20 +0200)] 
blkpr: store return value of getopt_long in int

getopt_long returns an int. Don't try to store it in a char.

See #2538.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoMerge branch 'libmount/errormsg' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 9 Oct 2023 11:04:07 +0000 (13:04 +0200)] 
Merge branch 'libmount/errormsg' of https://github.com/t-8ch/util-linux

* 'libmount/errormsg' of https://github.com/t-8ch/util-linux:
  libmount: report all kernel messages for fd-based mount API
  libmount: add helper to log mount messages as emitted by kernel
  libmount: change syscall status macros to be functions

2 years agoMerge branch 'lsfs--sockdiag-RW' of https://github.com/masatake/util-linux
Karel Zak [Mon, 9 Oct 2023 10:26:37 +0000 (12:26 +0200)] 
Merge branch 'lsfs--sockdiag-RW' of https://github.com/masatake/util-linux

* 'lsfs--sockdiag-RW' of https://github.com/masatake/util-linux:
  lsfd: (man) update the description of ENDPOINTS column of UNIX-Stream sockets
  tests: (lsfd) extend the mkfds-socketpair case to test ENDPOINTS with SOCK.SHUTDOWN info
  lsfd: append SOCK.SHUTDOWN value to ENDPOINTS column of UNIX-STREAM sockets
  tests: (lsfd) add a case for testing SOCK.SHUTDOWN column
  tests: (test_mkfds::socketpair) add "halfclose" parameter
  lsfd: don't capitalize the help strings for the columns
  lsfd: (man) write about SOCK.SHUTDOWN column
  lsfd: add SOCK.SHUTDOWN column
  lsfd: call xinfo backend method before calling socket generic method when filling columns
  tests: (lsfd) add a case for testing ENDPOINTS column of UNIX-STREAM sockets
  tests: (lsfd::mkfds-socketpair) make a case for testing DGRAM a subtest and add a subtest for STREAM
  lsfd: (man) document the ENDPOINT column for UNIX socket
  lsfd: fill ENDPOINTS column of unix socket using UNIX_DIAG_PEER information
  lsfd: make the sock_xinfo layer be able to prepare an ipc_class for a given socket
  lsfd: initialize the ipc table before loading lists of unix socket peers via netlink diag

2 years agoautotools: fix AC_DEFINE_UNQUOTED() use
Karel Zak [Mon, 9 Oct 2023 10:18:31 +0000 (12:18 +0200)] 
autotools: fix AC_DEFINE_UNQUOTED() use

Let's use AC_DEFINE_UNQUOTED() for string-like content, otherwise use
a simple AC_DEFINE().

Signed-off-by: Karel Zak <kzak@redhat.com>
2 years agoautotools: fix librtas check
Karel Zak [Mon, 9 Oct 2023 10:15:20 +0000 (12:15 +0200)] 
autotools: fix librtas check

Fixes: https://github.com/util-linux/util-linux/discussions/2527
Signed-off-by: Karel Zak <kzak@redhat.com>
2 years agolsfd: (man) update the description of ENDPOINTS column of UNIX-Stream sockets
Masatake YAMATO [Mon, 2 Oct 2023 14:56:47 +0000 (23:56 +0900)] 
lsfd: (man) update the description of ENDPOINTS column of UNIX-Stream sockets

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (lsfd) extend the mkfds-socketpair case to test ENDPOINTS with SOCK.SHUTDOWN...
Masatake YAMATO [Mon, 2 Oct 2023 12:52:00 +0000 (21:52 +0900)] 
tests: (lsfd) extend the mkfds-socketpair case to test ENDPOINTS with SOCK.SHUTDOWN info

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: append SOCK.SHUTDOWN value to ENDPOINTS column of UNIX-STREAM sockets
Masatake YAMATO [Mon, 2 Oct 2023 14:50:21 +0000 (23:50 +0900)] 
lsfd: append SOCK.SHUTDOWN value to ENDPOINTS column of UNIX-STREAM sockets

An example output:

   # ./lsfd -Q '((PID == 1) || (PID == 1896)) && (TYPE == "UNIX-STREAM") && ((FD == 1) || (FD == 278))' -o+ENDPOINTS
   COMMAND        PID USER ASSOC  XMODE        TYPE SOURCE MNTID INODE NAME                                             ENDPOINTS
   systemd          1 root   278 rw---m UNIX-STREAM sockfs     9 37012 state=connected path=/run/systemd/journal/stdout 1896,ModemManager,1-w
   ModemManager  1896 root     1 rw---- UNIX-STREAM sockfs     9 43126 state=connected                                  1,systemd,278r-
                                                                                                                        1870458,systemd-journal,68r-

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (lsfd) add a case for testing SOCK.SHUTDOWN column
Masatake YAMATO [Mon, 2 Oct 2023 14:35:46 +0000 (23:35 +0900)] 
tests: (lsfd) add a case for testing SOCK.SHUTDOWN column

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (test_mkfds::socketpair) add "halfclose" parameter
Masatake YAMATO [Mon, 2 Oct 2023 12:44:13 +0000 (21:44 +0900)] 
tests: (test_mkfds::socketpair) add "halfclose" parameter

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: don't capitalize the help strings for the columns
Masatake YAMATO [Mon, 2 Oct 2023 14:19:51 +0000 (23:19 +0900)] 
lsfd: don't capitalize the help strings for the columns

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: (man) write about SOCK.SHUTDOWN column
Masatake YAMATO [Mon, 2 Oct 2023 14:15:59 +0000 (23:15 +0900)] 
lsfd: (man) write about SOCK.SHUTDOWN column

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: add SOCK.SHUTDOWN column
Masatake YAMATO [Mon, 2 Oct 2023 14:03:06 +0000 (23:03 +0900)] 
lsfd: add SOCK.SHUTDOWN column

An example output:

   # ./lsfd -p1 -Q '(TYPE == "UNIX-STREAM")' -o+SOCK.SHUTDOWN
   systemd   1 root   443 rw---m UNIX-STREAM sockfs     9 183103884 state=connected path=/run/systemd/journal/stdout r-
   systemd   1 root   462 rw---- UNIX-STREAM sockfs     9  11172039 state=listen path=/run/libvirt/libvirt-sock      rw

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: call xinfo backend method before calling socket generic method when filling...
Masatake YAMATO [Mon, 2 Oct 2023 14:00:41 +0000 (23:00 +0900)] 
lsfd: call xinfo backend method before calling socket generic method when filling columns

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (lsfd) add a case for testing ENDPOINTS column of UNIX-STREAM sockets
Masatake YAMATO [Thu, 3 Aug 2023 16:29:53 +0000 (01:29 +0900)] 
tests: (lsfd) add a case for testing ENDPOINTS column of UNIX-STREAM sockets

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (lsfd::mkfds-socketpair) make a case for testing DGRAM a subtest and add a...
Masatake YAMATO [Mon, 9 Oct 2023 06:29:40 +0000 (15:29 +0900)] 
tests: (lsfd::mkfds-socketpair) make a case for testing DGRAM a subtest and add a subtest for STREAM

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolibmount: report all kernel messages for fd-based mount API
Thomas Weißschuh [Thu, 5 Oct 2023 11:21:23 +0000 (13:21 +0200)] 
libmount: report all kernel messages for fd-based mount API

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibmount: add helper to log mount messages as emitted by kernel
Thomas Weißschuh [Thu, 5 Oct 2023 11:19:14 +0000 (13:19 +0200)] 
libmount: add helper to log mount messages as emitted by kernel

The kernel helpfully provides feedback about failed operations via the
filesystem descriptor. Read that information and expose it via libmounts
debug facilities.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibmount: change syscall status macros to be functions
Thomas Weißschuh [Thu, 5 Oct 2023 11:18:15 +0000 (13:18 +0200)] 
libmount: change syscall status macros to be functions

Functions are easier to modify and reason about.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoMerge branch 'libblkid/align' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 4 Oct 2023 18:08:06 +0000 (20:08 +0200)] 
Merge branch 'libblkid/align' of https://github.com/t-8ch/util-linux

* 'libblkid/align' of https://github.com/t-8ch/util-linux:
  libblkid: (probe) remove chunking from blkid_probe_get_idmag()
  libblkid: (probe) read data in chunks
  swapon: (tests) abort test on failing commands
  libblkid: reset errno before calling probefuncs
  libfdisk: reset errno before calling read()

2 years agolibblkid: (probe) remove chunking from blkid_probe_get_idmag()
Thomas Weißschuh [Sun, 1 Oct 2023 12:24:04 +0000 (14:24 +0200)] 
libblkid: (probe) remove chunking from blkid_probe_get_idmag()

blkid_probe_get_buffer is doing the same thing internally now.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (probe) read data in chunks
Thomas Weißschuh [Sat, 30 Sep 2023 21:59:44 +0000 (23:59 +0200)] 
libblkid: (probe) read data in chunks

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoMerge branch 'libmount/tab-uaf' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 4 Oct 2023 18:03:02 +0000 (20:03 +0200)] 
Merge branch 'libmount/tab-uaf' of https://github.com/t-8ch/util-linux

* 'libmount/tab-uaf' of https://github.com/t-8ch/util-linux:
  Revert "libmount: (tab) avoid leaking memory allocated in loop"

2 years agoMerge branch 'setpriv/completion' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 4 Oct 2023 17:57:21 +0000 (19:57 +0200)] 
Merge branch 'setpriv/completion' of https://github.com/t-8ch/util-linux

* 'setpriv/completion' of https://github.com/t-8ch/util-linux:
  setpriv: fix group argument completion

2 years agoMerge branch 'libfdisk/errno' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 4 Oct 2023 17:56:39 +0000 (19:56 +0200)] 
Merge branch 'libfdisk/errno' of https://github.com/t-8ch/util-linux

* 'libfdisk/errno' of https://github.com/t-8ch/util-linux:
  libfdisk: reset errno before calling read()

2 years agoMerge branch 'ci/musl' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 4 Oct 2023 17:35:26 +0000 (19:35 +0200)] 
Merge branch 'ci/musl' of https://github.com/t-8ch/util-linux

* 'ci/musl' of https://github.com/t-8ch/util-linux:
  ci: run full testsuite under musl libc
  build-sys: only build col on glibc
  lib/timeutils: don't use glibc strptime extension

2 years agoRevert "libmount: (tab) avoid leaking memory allocated in loop"
Thomas Weißschuh [Wed, 4 Oct 2023 15:21:47 +0000 (17:21 +0200)] 
Revert "libmount: (tab) avoid leaking memory allocated in loop"

coverity claims that this is now a use-after-free.
Let's revert the original change and make the code clearer before trying
another fix.

This reverts commit d36306a560fd6d747e18ab22fc1279f4a373f43d.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoswapon: (tests) abort test on failing commands
Thomas Weißschuh [Mon, 2 Oct 2023 16:17:01 +0000 (18:17 +0200)] 
swapon: (tests) abort test on failing commands

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: reset errno before calling probefuncs
Thomas Weißschuh [Mon, 2 Oct 2023 20:24:21 +0000 (22:24 +0200)] 
libblkid: reset errno before calling probefuncs

The probers optionally use errno to communicate error details.
When a leftover errno is set from libblkid internally this can confuse
the probers.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolsfd: (man) document the ENDPOINT column for UNIX socket
Masatake YAMATO [Mon, 2 Oct 2023 12:07:02 +0000 (21:07 +0900)] 
lsfd: (man) document the ENDPOINT column for UNIX socket

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: fill ENDPOINTS column of unix socket using UNIX_DIAG_PEER information
Masatake YAMATO [Thu, 3 Aug 2023 16:10:58 +0000 (01:10 +0900)] 
lsfd: fill ENDPOINTS column of unix socket using UNIX_DIAG_PEER information

An example output:

   # ./lsfd -Q '((PID == 1) || (PID == 1896)) && (TYPE == "UNIX-STREAM") && ((FD == 1) || (FD == 278))' -o+ENDPOINTS
   COMMAND        PID USER ASSOC  XMODE        TYPE SOURCE MNTID INODE NAME                                             ENDPOINTS
   systemd          1 root   278 rw---m UNIX-STREAM sockfs     9 37012 state=connected path=/run/systemd/journal/stdout 1896,ModemManager,1
   ModemManager  1896 root     1 rw---- UNIX-STREAM sockfs     9 43126 state=connected                                  1,systemd,278
                                                                                                                        1870458,systemd-journal,68

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agosetpriv: fix group argument completion
Thomas Weißschuh [Mon, 2 Oct 2023 13:52:33 +0000 (15:52 +0200)] 
setpriv: fix group argument completion

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolsfd: make the sock_xinfo layer be able to prepare an ipc_class for a given socket
Masatake YAMATO [Thu, 3 Aug 2023 15:51:49 +0000 (00:51 +0900)] 
lsfd: make the sock_xinfo layer be able to prepare an ipc_class for a given socket

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: initialize the ipc table before loading lists of unix socket peers via netlink...
Masatake YAMATO [Sun, 23 Jul 2023 07:35:20 +0000 (16:35 +0900)] 
lsfd: initialize the ipc table before loading lists of unix socket peers via netlink diag

Loading the lists is done in initialize_classes().

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolibfdisk: reset errno before calling read()
Thomas Weißschuh [Mon, 2 Oct 2023 11:01:47 +0000 (13:01 +0200)] 
libfdisk: reset errno before calling read()

The else branch will be executed on short reads.
For those errno is not reset so a random left-over errno value may be
checked.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibfdisk: reset errno before calling read()
Thomas Weißschuh [Mon, 2 Oct 2023 11:01:47 +0000 (13:01 +0200)] 
libfdisk: reset errno before calling read()

The else branch will be executed on short reads.
For those errno is not reset so a random left-over errno value may be
checked.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoMerge branch 'blkid/exclusive-opts' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 2 Oct 2023 10:42:11 +0000 (12:42 +0200)] 
Merge branch 'blkid/exclusive-opts' of https://github.com/t-8ch/util-linux

* 'blkid/exclusive-opts' of https://github.com/t-8ch/util-linux:
  blkid: fix call to err_exclusive_options

2 years agoMerge branch 'https-everywhere' of https://github.com/jwilk-forks/util-linux
Karel Zak [Mon, 2 Oct 2023 10:41:51 +0000 (12:41 +0200)] 
Merge branch 'https-everywhere' of https://github.com/jwilk-forks/util-linux

* 'https-everywhere' of https://github.com/jwilk-forks/util-linux:
  docs: use HTTPS for GitHub clone URLs

2 years agoMerge branch 'libblkid/lvm-small-device' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 2 Oct 2023 10:41:17 +0000 (12:41 +0200)] 
Merge branch 'libblkid/lvm-small-device' of https://github.com/t-8ch/util-linux

* 'libblkid/lvm-small-device' of https://github.com/t-8ch/util-linux:
  libblkid: (lvm2) read complete superblock

2 years agoMerge branch 'libblkid/drbd-simplify' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 2 Oct 2023 10:40:55 +0000 (12:40 +0200)] 
Merge branch 'libblkid/drbd-simplify' of https://github.com/t-8ch/util-linux

* 'libblkid/drbd-simplify' of https://github.com/t-8ch/util-linux:
  libblkid: (drbd) avoid unaligned accesses
  include/c.h: add helpers for unaligned structure access
  libblkid: (drbd) use magics
  libblkid: (probe) allow superblock offset from end of device
  libblkid: (cramfs) use magic hint
  libblkid: (probe) add magic hint
  libblkid: (drbd) validate size in standard minsz predicate
  libblkid: (via_raid) validate size in standard minsz predicate
  libblkid: (silicon_raid) validate size in standard minsz predicate
  libblkid: (promise_raid) validate size in standard minsz predicate
  libblkid: (nvidia_raid) validate size in standard minsz predicate
  libblkid: (lsi_raid) validate size in standard minsz predicate
  libblkid: (jmicron_raid) validate size in standard minsz predicate
  libblkid: (isw_raid) validate size in standard minsz predicate
  libblkid: (highpoint_raid) validate size in standard minsz predicate
  libblkid: (ddf_raid) validate size in standard minsz predicate
  libblkid: (adapted_raid) validate size in standard minsz predicate
  libblkid: (probe) remove duplicate log

2 years agoMerge branch 'analyzer2' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 2 Oct 2023 10:40:38 +0000 (12:40 +0200)] 
Merge branch 'analyzer2' of https://github.com/t-8ch/util-linux

* 'analyzer2' of https://github.com/t-8ch/util-linux:
  libblkid: (probe) handle probe without chain gracefully
  libsmartcols: (cell) consistently handle NULL argument
  lib/idcache: always gracefully handle null cache
  script-playutils: close filestream in case ignore_line() fails
  lib/colors: correct documentation of colors_add_scheme()
  treewide: use reallocarray to allocated memory that will be reallocated

2 years agoMerge branch 'libmount/tab-leak' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 2 Oct 2023 10:37:52 +0000 (12:37 +0200)] 
Merge branch 'libmount/tab-leak' of https://github.com/t-8ch/util-linux

* 'libmount/tab-leak' of https://github.com/t-8ch/util-linux:
  libmount: (tab) avoid leaking memory allocated in loop

2 years agoMerge branch 'lsfd--bpf-name#in-flight' of https://github.com/masatake/util-linux
Karel Zak [Mon, 2 Oct 2023 10:37:30 +0000 (12:37 +0200)] 
Merge branch 'lsfd--bpf-name#in-flight' of https://github.com/masatake/util-linux

* 'lsfd--bpf-name#in-flight' of https://github.com/masatake/util-linux:
  tests: (lsfd) extend the cases for testing BPF.NAME column
  lsfd.1.adoc: document BPF.NAME column
  lsfd: add BPF.NAME column
  lsfd: add xstrfappend and xstrvfappend
  lib/strutils: add strfappend and strvfappend
  tests: (test_mkfds::{bpf-prog,bpf-map}) fix memory leaks
  tests: (test_mkfds) add missing PARAM_END marker
  tests: (test_mkfds) use SYS_bpf instead of __NR_bpf
  tests: (test_mkfds) revise the usage of " __attribute__((__unused__))"
  tests: (lsfd::mkfds-bpf-map) chmod a+x

2 years agolsblk: improve --tree description
Karel Zak [Mon, 2 Oct 2023 09:51:56 +0000 (11:51 +0200)] 
lsblk: improve --tree description

Addresses: https://github.com/util-linux/util-linux/issues/2516
Signed-off-by: Karel Zak <kzak@redhat.com>
2 years agoblkid: fix call to err_exclusive_options
Thomas Weißschuh [Mon, 2 Oct 2023 09:39:53 +0000 (11:39 +0200)] 
blkid: fix call to err_exclusive_options

err_exclusive_options needs to be passed the long options array,
otherwise it will crash.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agodocs: use HTTPS for GitHub clone URLs
Jakub Wilk [Mon, 2 Oct 2023 05:22:54 +0000 (07:22 +0200)] 
docs: use HTTPS for GitHub clone URLs

GitHub has dropped support for the git:// protocol:
https://github.blog/changelog/2022-03-15-removed-unencrypted-git-protocol-and-certain-ssh-keys/

2 years agolibmount: (tab) avoid leaking memory allocated in loop
Thomas Weißschuh [Wed, 27 Sep 2023 18:37:22 +0000 (20:37 +0200)] 
libmount: (tab) avoid leaking memory allocated in loop

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (lvm2) read complete superblock
Thomas Weißschuh [Sun, 1 Oct 2023 09:48:01 +0000 (11:48 +0200)] 
libblkid: (lvm2) read complete superblock

The lvm2_calc_crc() will create a checksum over LVM2_LABEL_SIZE bytes,
which all need to be read.

Currently this works because the superblock is cached by
blkid_probe_get_idmag() which always reads 1024 bytes.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (drbd) avoid unaligned accesses
Thomas Weißschuh [Sun, 1 Oct 2023 11:57:43 +0000 (13:57 +0200)] 
libblkid: (drbd) avoid unaligned accesses

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoinclude/c.h: add helpers for unaligned structure access
Thomas Weißschuh [Sun, 1 Oct 2023 11:57:12 +0000 (13:57 +0200)] 
include/c.h: add helpers for unaligned structure access

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (drbd) use magics
Thomas Weißschuh [Sat, 30 Sep 2023 21:58:05 +0000 (23:58 +0200)] 
libblkid: (drbd) use magics

Reuse more of the standard prober functionality.
This also avoids a potential unaligned access when comparing the
superblock magic as a number.
In case the superblock was already cached by a different loader the
return address may have been unaligned leading to undefined behavior.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (probe) allow superblock offset from end of device
Thomas Weißschuh [Sat, 30 Sep 2023 21:56:46 +0000 (23:56 +0200)] 
libblkid: (probe) allow superblock offset from end of device

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (cramfs) use magic hint
Thomas Weißschuh [Sun, 1 Oct 2023 08:29:48 +0000 (10:29 +0200)] 
libblkid: (cramfs) use magic hint

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (probe) add magic hint
Thomas Weißschuh [Sat, 30 Sep 2023 21:55:31 +0000 (23:55 +0200)] 
libblkid: (probe) add magic hint

This hint can be used by the probing callback to make decision based on
the matched magic. This avoids a awkward memcmp() on the magic string.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (drbd) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 21:21:33 +0000 (23:21 +0200)] 
libblkid: (drbd) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (via_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:08:40 +0000 (00:08 +0200)] 
libblkid: (via_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (silicon_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:08:31 +0000 (00:08 +0200)] 
libblkid: (silicon_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (promise_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:08:23 +0000 (00:08 +0200)] 
libblkid: (promise_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (nvidia_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:08:12 +0000 (00:08 +0200)] 
libblkid: (nvidia_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (lsi_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:08:06 +0000 (00:08 +0200)] 
libblkid: (lsi_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (jmicron_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:07:59 +0000 (00:07 +0200)] 
libblkid: (jmicron_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (isw_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:07:22 +0000 (00:07 +0200)] 
libblkid: (isw_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (highpoint_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:07:13 +0000 (00:07 +0200)] 
libblkid: (highpoint_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (ddf_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:07:02 +0000 (00:07 +0200)] 
libblkid: (ddf_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (adapted_raid) validate size in standard minsz predicate
Thomas Weißschuh [Sat, 30 Sep 2023 22:06:53 +0000 (00:06 +0200)] 
libblkid: (adapted_raid) validate size in standard minsz predicate

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (probe) remove duplicate log
Thomas Weißschuh [Sat, 30 Sep 2023 21:05:21 +0000 (23:05 +0200)] 
libblkid: (probe) remove duplicate log

remove_buffer() already emits the same message.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agotests: (lsfd) extend the cases for testing BPF.NAME column
Masatake YAMATO [Tue, 26 Sep 2023 16:15:21 +0000 (01:15 +0900)] 
tests: (lsfd) extend the cases for testing BPF.NAME column

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd.1.adoc: document BPF.NAME column
Masatake YAMATO [Tue, 26 Sep 2023 15:51:26 +0000 (00:51 +0900)] 
lsfd.1.adoc: document BPF.NAME column

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: add BPF.NAME column
Masatake YAMATO [Tue, 26 Sep 2023 16:12:16 +0000 (01:12 +0900)] 
lsfd: add BPF.NAME column

An example output:

  $ sudo  ./lsfd -oCOMMAND,PID,ASSOC,TYPE,BPF.NAME,NAME -Q '(TYPE =~ "bpf-*")' -p 1
  COMMAND PID ASSOC     TYPE        BPF.NAME NAME
  systemd   1     9 bpf_link                 anon_inode:bpf_link
  systemd   1    13  bpf-map     cgroup_hash id=391 type=hash-of-maps name=cgroup_hash
  systemd   1    14 bpf-prog restrict_filesy id=8210 type=lsm name=restrict_filesy
  systemd   1    28 bpf-prog      sd_devices id=8298 type=cgroup_device name=sd_devices
  systemd   1    29 bpf-prog      sd_devices id=8299 type=cgroup_device name=sd_devices
  systemd   1    30 bpf-prog      sd_devices id=8300 type=cgroup_device name=sd_devices
  ...

Using memset was suggested by Thomas Weißschuh
<thomas@t-8ch.de>.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolsfd: add xstrfappend and xstrvfappend
Masatake YAMATO [Fri, 29 Sep 2023 20:26:48 +0000 (05:26 +0900)] 
lsfd: add xstrfappend and xstrvfappend

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolib/strutils: add strfappend and strvfappend
Masatake YAMATO [Fri, 29 Sep 2023 20:21:40 +0000 (05:21 +0900)] 
lib/strutils: add strfappend and strvfappend

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (test_mkfds::{bpf-prog,bpf-map}) fix memory leaks
Masatake YAMATO [Tue, 26 Sep 2023 16:04:54 +0000 (01:04 +0900)] 
tests: (test_mkfds::{bpf-prog,bpf-map}) fix memory leaks

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (test_mkfds) add missing PARAM_END marker
Masatake YAMATO [Tue, 26 Sep 2023 16:01:58 +0000 (01:01 +0900)] 
tests: (test_mkfds) add missing PARAM_END marker

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (test_mkfds) use SYS_bpf instead of __NR_bpf
Masatake YAMATO [Tue, 26 Sep 2023 16:01:12 +0000 (01:01 +0900)] 
tests: (test_mkfds) use SYS_bpf instead of __NR_bpf

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (test_mkfds) revise the usage of " __attribute__((__unused__))"
Masatake YAMATO [Tue, 26 Sep 2023 15:58:55 +0000 (00:58 +0900)] 
tests: (test_mkfds) revise the usage of " __attribute__((__unused__))"

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agotests: (lsfd::mkfds-bpf-map) chmod a+x
Masatake YAMATO [Fri, 29 Sep 2023 20:28:58 +0000 (05:28 +0900)] 
tests: (lsfd::mkfds-bpf-map) chmod a+x

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2 years agolibblkid: (probe) handle probe without chain gracefully
Thomas Weißschuh [Wed, 27 Sep 2023 22:51:42 +0000 (00:51 +0200)] 
libblkid: (probe) handle probe without chain gracefully

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibsmartcols: (cell) consistently handle NULL argument
Thomas Weißschuh [Thu, 28 Sep 2023 06:24:10 +0000 (08:24 +0200)] 
libsmartcols: (cell) consistently handle NULL argument

Some functions allow passing NULL, some don't.
Even users internal to util-linux are passing NULL parameters to these
functions, even for ones where it is not allowed.

Unify the API. As there may be external users that rely on the
NULL-accepting behavior for some functions use it everywhere.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolib/idcache: always gracefully handle null cache
Thomas Weißschuh [Wed, 27 Sep 2023 22:40:28 +0000 (00:40 +0200)] 
lib/idcache: always gracefully handle null cache

The "get" functions already do this and some callers rely on it also for
"add" ones.

For completeness also handle it in free_idcache().

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoscript-playutils: close filestream in case ignore_line() fails
Thomas Weißschuh [Wed, 27 Sep 2023 21:30:27 +0000 (23:30 +0200)] 
script-playutils: close filestream in case ignore_line() fails

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolib/colors: correct documentation of colors_add_scheme()
Thomas Weißschuh [Wed, 27 Sep 2023 20:04:40 +0000 (22:04 +0200)] 
lib/colors: correct documentation of colors_add_scheme()

The function does not take ownership of its arguments and it does not
require those arguments to be heap-allocated.
In fact there is only one caller and it passed stack-allocated values.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agotreewide: use reallocarray to allocated memory that will be reallocated
Thomas Weißschuh [Wed, 27 Sep 2023 19:03:08 +0000 (21:03 +0200)] 
treewide: use reallocarray to allocated memory that will be reallocated

GCC 13 -fanalyzer expects memory that is passed to reallocarray() to
have been allocated with reallocarray() in the first place and not with
malloc().

While this requirement seems to contradict the documentation, the usage
of reallocarray() is better than the current plain malloc() in any case.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoci: run full testsuite under musl libc
Thomas Weißschuh [Sat, 16 Sep 2023 10:03:06 +0000 (12:03 +0200)] 
ci: run full testsuite under musl libc

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agobuild-sys: only build col on glibc
Thomas Weißschuh [Wed, 27 Sep 2023 17:53:55 +0000 (19:53 +0200)] 
build-sys: only build col on glibc

col expects an EILSEQ failure of getwchar() to leave the undecoded data
in the buffer to be read by a subsequent getchar().

This is not guaranteed by the standard and for example musl libc does
not conform to this expectation.

As col is deprecated anyways just disable it on non-glibc instead of fixing it.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolib/timeutils: don't use glibc strptime extension
Thomas Weißschuh [Sat, 23 Sep 2023 08:24:58 +0000 (10:24 +0200)] 
lib/timeutils: don't use glibc strptime extension

strptime("%s") is a glibc extension and for example not available on
musl. Reimplement the functionality in a cross-platform way.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoMerge branch 'libblkid/vxfs-endianness' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 27 Sep 2023 08:35:12 +0000 (10:35 +0200)] 
Merge branch 'libblkid/vxfs-endianness' of https://github.com/t-8ch/util-linux

* 'libblkid/vxfs-endianness' of https://github.com/t-8ch/util-linux:
  libblkid: (vxfs) report endianness

2 years agoMerge branch 'libblkid/bcachefs/label_sub' of https://github.com/t-8ch/util-linux
Karel Zak [Wed, 27 Sep 2023 08:34:47 +0000 (10:34 +0200)] 
Merge branch 'libblkid/bcachefs/label_sub' of https://github.com/t-8ch/util-linux

* 'libblkid/bcachefs/label_sub' of https://github.com/t-8ch/util-linux:
  libblkid: (bcachefs) add support for sub-device labels

2 years agolibblkid: (vxfs) report endianness
Thomas Weißschuh [Tue, 26 Sep 2023 22:49:04 +0000 (00:49 +0200)] 
libblkid: (vxfs) report endianness

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (bcachefs) add support for sub-device labels
Thomas Weißschuh [Tue, 26 Sep 2023 07:43:35 +0000 (09:43 +0200)] 
libblkid: (bcachefs) add support for sub-device labels

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agolibblkid: (ntfs) validate that sector_size is a power of two
Thomas Weißschuh [Mon, 25 Sep 2023 22:27:22 +0000 (00:27 +0200)] 
libblkid: (ntfs) validate that sector_size is a power of two

The NTFS prober reads data based off an offset of the sector size.
If the sector size is unaligned and the read data is cached then other
probers can read unaligned values.

Sector sizes for NTFS actually only make sense as power-of-two so
validate that and as a sideeffect avoid the unaligned reads.

Also add the reproducer from OSS-Fuzz that found this issue.

Fixes #2509

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2 years agoMerge branch 'login-terminal' of https://github.com/stoeckmann/util-linux
Karel Zak [Mon, 25 Sep 2023 10:44:46 +0000 (12:44 +0200)] 
Merge branch 'login-terminal' of https://github.com/stoeckmann/util-linux

* 'login-terminal' of https://github.com/stoeckmann/util-linux:
  login: prevent undefined ioctl and tcsetattr calls
  login: use correct terminal fd during setup

2 years agoMerge branch 'timestamp' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 25 Sep 2023 10:35:48 +0000 (12:35 +0200)] 
Merge branch 'timestamp' of https://github.com/t-8ch/util-linux

* 'timestamp' of https://github.com/t-8ch/util-linux:
  lib/timeutils: (parse_timestamp_reference) report errors on overflow
  lib/timeutils: print error if timestamp can't be parsed
  lib/timeutils: test epoch timestamp

2 years agoMerge branch 'ci/cache-openwrt-sdk' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 25 Sep 2023 10:34:47 +0000 (12:34 +0200)] 
Merge branch 'ci/cache-openwrt-sdk' of https://github.com/t-8ch/util-linux

* 'ci/cache-openwrt-sdk' of https://github.com/t-8ch/util-linux:
  ci: cache openwrt sdk

2 years agoMerge branch 'ci/gcc-13' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 25 Sep 2023 10:33:29 +0000 (12:33 +0200)] 
Merge branch 'ci/gcc-13' of https://github.com/t-8ch/util-linux

* 'ci/gcc-13' of https://github.com/t-8ch/util-linux:
  ci: also use GCC 13 for sanitizer builds
  ci: don't combine -Werror and -fsanitize

2 years agoMerge branch 'analyzer1' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 25 Sep 2023 10:32:25 +0000 (12:32 +0200)] 
Merge branch 'analyzer1' of https://github.com/t-8ch/util-linux

* 'analyzer1' of https://github.com/t-8ch/util-linux:
  libsmartcols: handle nameless tables in export format
  ldattach: don't call exit() from signal handler
  lslogins: fix realloc() loop allocation size
  more: avoid out-of-bound access
  libfdisk: handle allocation failure in fdisk_new_partition
  lib/env: fix function name remote_entry -> remove_entry
  libmount: gracefully handle NULL path in mnt_resolve_target()
  libblkid: avoid memory leak of cachefile path
  lib/env: avoid underflow of read_all_alloc() return value

2 years agoMerge branch 'realloc' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 25 Sep 2023 10:30:37 +0000 (12:30 +0200)] 
Merge branch 'realloc' of https://github.com/t-8ch/util-linux

* 'realloc' of https://github.com/t-8ch/util-linux:
  treewide: use (x)reallocarray() when applicable

2 years agoMerge branch 'ci/clang-17' of https://github.com/t-8ch/util-linux
Karel Zak [Mon, 25 Sep 2023 10:29:38 +0000 (12:29 +0200)] 
Merge branch 'ci/clang-17' of https://github.com/t-8ch/util-linux

* 'ci/clang-17' of https://github.com/t-8ch/util-linux:
  ci: build with clang 17

2 years agoMerge branch 'login-comment' of https://github.com/stoeckmann/util-linux
Karel Zak [Mon, 25 Sep 2023 10:28:07 +0000 (12:28 +0200)] 
Merge branch 'login-comment' of https://github.com/stoeckmann/util-linux

* 'login-comment' of https://github.com/stoeckmann/util-linux:
  login: Use pid_t for child_pid
  login: move comment

2 years agoMerge branch 'lsfd--resolve-mqueue-nodev' of https://github.com/masatake/util-linux
Karel Zak [Mon, 25 Sep 2023 10:22:54 +0000 (12:22 +0200)] 
Merge branch 'lsfd--resolve-mqueue-nodev' of https://github.com/masatake/util-linux

* 'lsfd--resolve-mqueue-nodev' of https://github.com/masatake/util-linux:
  lsfd: collect the device number for mqueue fs in the initialization stage
  tests: (lsfd) show the entry for mqueue in /proc/self/mountinfo

2 years agolib/timeutils: (parse_timestamp_reference) report errors on overflow
Thomas Weißschuh [Sun, 24 Sep 2023 21:43:44 +0000 (23:43 +0200)] 
lib/timeutils: (parse_timestamp_reference) report errors on overflow

Instead of silently returning '0' on 'minus'-underflow and silently
wrapping on 'plus'-overflow return ERANGE.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>