]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
3 years agobuild-sys: release++ (v2.37.4) stable/v2.37 v2.37.4
Karel Zak [Mon, 14 Feb 2022 09:50:32 +0000 (10:50 +0100)] 
build-sys: release++ (v2.37.4)

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agodocs: update v2.37.4-ReleaseNotes
Karel Zak [Mon, 14 Feb 2022 09:48:24 +0000 (10:48 +0100)] 
docs: update v2.37.4-ReleaseNotes

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agopo: merge changes
Karel Zak [Mon, 14 Feb 2022 09:30:24 +0000 (10:30 +0100)] 
po: merge changes

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agochsh, chfn: remove readline support [CVE-2022-0563]
Karel Zak [Thu, 10 Feb 2022 11:03:17 +0000 (12:03 +0100)] 
chsh, chfn: remove readline support [CVE-2022-0563]

The readline library uses INPUTRC= environment variable to get a path
to the library config file. When the library cannot parse the
specified file, it prints an error message containing data from the
file.

Unfortunately, the library does not use secure_getenv() (or a similar
concept) to avoid vulnerabilities that could occur if set-user-ID or
set-group-ID programs.

Reported-by: Rory Mackie <rory.mackie@trailofbits.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agobuild-sys: generate all man pages for distribution tarball
Karel Zak [Tue, 25 Jan 2022 10:04:13 +0000 (11:04 +0100)] 
build-sys: generate all man pages for distribution tarball

Now "make dist" and "make distcheck" follows autoconf. It means that
disabled tools or tools that cannot compile are ignored, and man-pages
for these tools are not generated. This is a problem for people
without asciidoctor (adoc -> man generator).

Fixes: https://github.com/util-linux/util-linux/issues/1577
Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agobuild-sys: release++ (v2.37.3) v2.37.3
Karel Zak [Mon, 24 Jan 2022 09:11:40 +0000 (10:11 +0100)] 
build-sys: release++ (v2.37.3)

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agodocs: add v2.37.3-ReleaseNotes
Karel Zak [Mon, 24 Jan 2022 09:08:27 +0000 (10:08 +0100)] 
docs: add v2.37.3-ReleaseNotes

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agopo: merge changes
Karel Zak [Fri, 21 Jan 2022 16:01:54 +0000 (17:01 +0100)] 
po: merge changes

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agolibmount: fix (deleted) suffix issue [CVE-2021-3996]
Karel Zak [Tue, 4 Jan 2022 09:54:20 +0000 (10:54 +0100)] 
libmount: fix (deleted) suffix issue [CVE-2021-3996]

This issue is related to parsing the /proc/self/mountinfo file allows an
unprivileged user to unmount other user's filesystems that are either
world-writable themselves or mounted in a world-writable directory.

The support for "(deleted)" is no more necessary as the Linux kernel does
not use it in /proc/self/mountinfo and /proc/self/mount files anymore.

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agolibmount: fix UID check for FUSE umount [CVE-2021-3995]
Karel Zak [Wed, 24 Nov 2021 12:53:25 +0000 (13:53 +0100)] 
libmount: fix UID check for FUSE umount [CVE-2021-3995]

Improper UID check allows an unprivileged user to unmount FUSE
filesystems of users with similar UID.

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agobuild-sys: release++ (v2.37.2) v2.37.2
Karel Zak [Mon, 16 Aug 2021 13:23:50 +0000 (15:23 +0200)] 
build-sys: release++ (v2.37.2)

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agodocs: update v2.37.2-ReleaseNotes
Karel Zak [Mon, 16 Aug 2021 13:22:37 +0000 (15:22 +0200)] 
docs: update v2.37.2-ReleaseNotes

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agodocs: update AUTHORS file
Karel Zak [Mon, 16 Aug 2021 13:16:38 +0000 (15:16 +0200)] 
docs: update AUTHORS file

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agopo: merge changes
Karel Zak [Mon, 16 Aug 2021 13:15:36 +0000 (15:15 +0200)] 
po: merge changes

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agopo: add sk.po (from translationproject.org)
Jose Riha [Mon, 16 Aug 2021 13:06:14 +0000 (15:06 +0200)] 
po: add sk.po (from translationproject.org)

3 years agopo: update pl.po (from translationproject.org)
Jakub Bogusz [Mon, 16 Aug 2021 13:06:14 +0000 (15:06 +0200)] 
po: update pl.po (from translationproject.org)

3 years agomount.8: don't consider additional mounts as experimental
Karel Zak [Wed, 11 Aug 2021 14:18:29 +0000 (16:18 +0200)] 
mount.8: don't consider additional mounts as experimental

This is bug, we have "EXPERIMENTAL" flag in the man page since v2.23.

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agolscpu:Add Phytium FT-2000+ & S2500 support
panchenbo [Wed, 11 Aug 2021 11:33:31 +0000 (19:33 +0800)] 
lscpu:Add Phytium FT-2000+ & S2500 support

3 years agolscpu:Add Phytium aarch64 cpupart
panchenbo [Wed, 11 Aug 2021 05:00:08 +0000 (13:00 +0800)] 
lscpu:Add Phytium aarch64 cpupart

3 years agodocs: fix info about LIBSMARTCOLS_DEBUG_PADDING
Karel Zak [Tue, 10 Aug 2021 08:12:26 +0000 (10:12 +0200)] 
docs: fix info about LIBSMARTCOLS_DEBUG_PADDING

Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agolscpu: fix compilation against librtas
Karel Zak [Mon, 9 Aug 2021 07:52:46 +0000 (09:52 +0200)] 
lscpu: fix compilation against librtas

Fixes: https://github.com/karelzak/util-linux/issues/1406
Signed-off-by: Karel Zak <kzak@redhat.com>
3 years agoprlimit: fix compiler warning [-Wmaybe-uninitialized]
Karel Zak [Mon, 9 Aug 2021 07:45:21 +0000 (09:45 +0200)] 
prlimit: fix compiler warning [-Wmaybe-uninitialized]

sys-utils/prlimit.c:467:16: warning: 'hard' may be used uninitialized in this function [-Wmaybe-uninitialized]
  lim->rlim_max = hard;
  ~~~~~~~~~~~~~~^~~~~~
sys-utils/prlimit.c:456:15: note: 'hard' was declared here
  rlim_t soft, hard;
               ^~~~
sys-utils/prlimit.c:466:16: warning: 'soft' may be used uninitialized in this function [-Wmaybe-uninitialized]
  lim->rlim_cur = soft;
  ~~~~~~~~~~~~~~^~~~~~
sys-utils/prlimit.c:456:9: note: 'soft' was declared here
  rlim_t soft, hard;
         ^~~~

References: https://github.com/karelzak/util-linux/issues/1406
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: fix NULL dereference
Karel Zak [Fri, 30 Jul 2021 12:35:25 +0000 (14:35 +0200)] 
lscpu: fix NULL dereference

Fixes: https://github.com/karelzak/util-linux/issues/1401
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolib/pwdutils: use assert to check correct usage.
Érico Nogueira [Wed, 28 Jul 2021 02:58:26 +0000 (23:58 -0300)] 
lib/pwdutils: use assert to check correct usage.

Since these functions are only used internally, we can make sure they
are being used correctly, and assert() helps in catching remaining
issues. Usage of each changed function has been reviewed:

For xgetpwnam:

- chsh(1) only calls it if a username has been set
- login(1) only calls it if username has been set and is not empty
- su(1) always initializes new_user to "root"
- unshare(1) calls get_user with optarg, so always set as well

For xgetgrnam:

- unshare(1) calls get_group with optarg

For xgetpwuid:

- chsh(1) passes a stack allocated struct for struct passwd

Signed-off-by: Érico Nogueira <erico.erc@gmail.com>
4 years agologger: use xgetlogin from pwdutils.
Érico Nogueira [Wed, 28 Jul 2021 02:54:42 +0000 (23:54 -0300)] 
logger: use xgetlogin from pwdutils.

It defined its own xgetlogin, which queried geteuid() instead of getuid(),
with a fallback to "<someone>" when lookup fails. This has been the case
since the function was introduced in
019b97024fde3f07eaf541eef990762483369a11, so geteuid() has always been
used. Since using geteuid for identification isn't consistent with the
rest of util-linux, switching to xgetlogin(), which uses getuid(),
should be correct.

Signed-off-by: Érico Nogueira <erico.erc@gmail.com>
4 years agowall: use xgetlogin.
Érico Nogueira [Wed, 28 Jul 2021 02:51:34 +0000 (23:51 -0300)] 
wall: use xgetlogin.

getlogin(3) shouldn't be used for identification here. This also removes
the bug where a missing entry for getuid() in passwd database wouldn't
print a warning, because whom would be set to "???".

For consistency, switch to "<someone>" when pw look up fails.

Signed-off-by: Érico Nogueira <erico.erc@gmail.com>
4 years agolib/pwdutils: don't use getlogin(3).
Érico Nogueira [Wed, 28 Jul 2021 02:41:30 +0000 (23:41 -0300)] 
lib/pwdutils: don't use getlogin(3).

Per the man page, it shouldn't be used for security purposes. This is an
issue especially on musl, where getlogin is implemented as
getenv("LOGNAME"). Since xgetlogin is being used as user identity in su(1), to
set PAM_RUSER, we simply switch to always using getpwuid(getuid()).

Signed-off-by: Érico Nogueira <erico.erc@gmail.com>
4 years agosulogin: fix getpasswd()
Karel Zak [Thu, 29 Jul 2021 19:28:00 +0000 (21:28 +0200)] 
sulogin: fix getpasswd()

Fixes: https://github.com/karelzak/util-linux/issues/1400
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibmount: don't use setgroups at all()
Karel Zak [Thu, 29 Jul 2021 18:37:32 +0000 (20:37 +0200)] 
libmount: don't use setgroups at all()

It's probably good idea to call setgroups() to cleanup groups,
but it introduces a regression as some mount helpers depend on
supplementary groups like "network" etc.

Fixes: https://github.com/karelzak/util-linux/issues/1398
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibmount: fix setgroups() use
Karel Zak [Thu, 29 Jul 2021 09:50:48 +0000 (11:50 +0200)] 
libmount: fix setgroups() use

* keep process in single supplementary group, which is the real group ID for the process

* make sure we have rights to call setgroups(), requires group permissions

Fixes: https://github.com/karelzak/util-linux/issues/1398
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolosetup: use LOOP_CONFIGURE in a more robust way
Karel Zak [Wed, 28 Jul 2021 09:05:36 +0000 (11:05 +0200)] 
losetup: use LOOP_CONFIGURE in a more robust way

32-bit userspace returns ENOTTY:
 ioctl(4, LOOP_CONFIGURE, {fd=3, block_size=0, info={lo_offset=0, lo_number=0, lo_flags=LO_FLAGS_AUTOCLEAR, lo_file_name="/usr/install/iso/systemrescue-8.04-amd64.iso", ...}}) = -1 ENOTTY (Inappropriate ioctl for device)

64-bit userspace returns EINVAL:
 ioctl(4, LOOP_CONFIGURE, {fd=3, block_size=0, info={lo_offset=0, lo_number=0, lo_flags=LO_FLAGS_AUTOCLEAR, lo_file_name="/usr/src/PACKAGES/systemrescue-8.04-amd64.iso", ...}}) = -1 EINVAL (Invalid argument)

The correct return value for an unknown ioctl is ENOTTY, but we need
to support already released kernels, so let's support both errnos.

Reported-by: Krzysztof Olędzki <ole@ans.pl>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoblockdev: use snprintf() rather than sprintf()
Karel Zak [Tue, 27 Jul 2021 10:51:43 +0000 (12:51 +0200)] 
blockdev: use snprintf() rather than sprintf()

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agosys-utils/ipcutils: be careful when call calloc() for uint64 nmembs
Karel Zak [Tue, 27 Jul 2021 09:58:31 +0000 (11:58 +0200)] 
sys-utils/ipcutils: be careful when call calloc() for uint64 nmembs

Fix: https://github.com/karelzak/util-linux/issues/1395
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibfdisk: (dos) support partition and MBR overlap
Karel Zak [Tue, 27 Jul 2021 09:40:32 +0000 (11:40 +0200)] 
libfdisk: (dos) support partition and MBR overlap

Let's support this crazy use-case in expert menu, because it's normal
for removable FAT disks, etc.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibfdisk: (dos) don't ignore MBR+FAT use-case
Karel Zak [Tue, 27 Jul 2021 09:10:53 +0000 (11:10 +0200)] 
libfdisk: (dos) don't ignore MBR+FAT use-case

Since libblkid commit 751eca28fcfa1e325770904d7181b22e48c72b29 it does
not ignore FAT on whole-disks, so now libfdisk sees collision between
FAT and MBR. It's fine to report the collision to users, but we should
not ignore the MBR.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoblockdev: allow for larger values for start sector
Thomas Abraham [Thu, 22 Jul 2021 19:43:13 +0000 (15:43 -0400)] 
blockdev: allow for larger values for start sector

commit 9147d2ad8a ("blockdev: Don't fail on missing start sector") limits
the size of the start sector to 10 digits.

Multi-terrabyte devices can have partitions with a start sector larger than
10 digits, which will cause an sprintf() to abort due to overflowing the buffer.

It causes:
  # blockdev --report /dev/sda4
  RO    RA   SSZ   BSZ   StartSec            Size   Device
  *** buffer overflow detected ***: terminated
  Aborted (core dumped)

4 years agoFix typo
Christian Finnberg [Thu, 22 Jul 2021 16:03:54 +0000 (19:03 +0300)] 
Fix typo

4 years agobuild-sys: release++ (v2.37.1) v2.37.1
Karel Zak [Thu, 22 Jul 2021 13:59:15 +0000 (15:59 +0200)] 
build-sys: release++ (v2.37.1)

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agodocs: update v2.37.1-ReleaseNotes
Karel Zak [Thu, 22 Jul 2021 13:56:53 +0000 (15:56 +0200)] 
docs: update v2.37.1-ReleaseNotes

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agodocs: update AUTHORS file
Karel Zak [Thu, 22 Jul 2021 13:55:04 +0000 (15:55 +0200)] 
docs: update AUTHORS file

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agopo: merge changes
Karel Zak [Thu, 22 Jul 2021 13:52:06 +0000 (15:52 +0200)] 
po: merge changes

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agopo: update sr.po (from translationproject.org)
Мирослав Николић [Thu, 22 Jul 2021 13:46:26 +0000 (15:46 +0200)] 
po: update sr.po (from translationproject.org)

4 years agopo: update pt_BR.po (from translationproject.org)
Rafael Fontenelle [Thu, 22 Jul 2021 13:46:26 +0000 (15:46 +0200)] 
po: update pt_BR.po (from translationproject.org)

4 years agopo: update es.po (from translationproject.org)
Antonio Ceballos Roa [Thu, 22 Jul 2021 13:46:26 +0000 (15:46 +0200)] 
po: update es.po (from translationproject.org)

4 years agolslogins: fix memory leak [asan]
Karel Zak [Thu, 22 Jul 2021 09:34:11 +0000 (11:34 +0200)] 
lslogins: fix memory leak [asan]

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolslogins: ask for supplementary groups only once [asan]
Karel Zak [Thu, 22 Jul 2021 09:30:22 +0000 (11:30 +0200)] 
lslogins: ask for supplementary groups only once [asan]

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolslogins: use sd_journal_get_data() in proper way
Karel Zak [Thu, 22 Jul 2021 09:03:54 +0000 (11:03 +0200)] 
lslogins: use sd_journal_get_data() in proper way

man sd_journal_get_data:
    The returned data is in a read-only memory map and is only valid until the next invocation
    of sd_journal_get_data().

It means that use data after 3x sd_journal_get_data() is really bad
idea. It also seems better to not assume the fields are zero
terminated as journal API works with void* and size_t to address the
data.

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1984704
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agologin: add callback for close_range()
Karel Zak [Thu, 15 Jul 2021 10:51:39 +0000 (12:51 +0200)] 
login: add callback for close_range()

Let's make it more robust for old kernels where is no close_range() or
in cases when it's unsuccessful.

Reported-by: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolslogins: consolidate and optimize utmp files use
Karel Zak [Thu, 15 Jul 2021 10:24:07 +0000 (12:24 +0200)] 
lslogins: consolidate and optimize utmp files use

* the original read_utmp() code is from GPLv3+, but lslogins is GPLv2+
  (see https://github.com/karelzak/util-linux/commit/a6bf40ee77a85f5108208dc764b5d023a07998f5#commitcomment-53407151)

* remove redundant parse_btmp() and parse_wtmp() as it does not
  provide anything

* reduce realloc() calls, allocate all in one step

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agohardlink: remove pcre2posix.h support
Karel Zak [Wed, 14 Jul 2021 15:51:07 +0000 (17:51 +0200)] 
hardlink: remove pcre2posix.h support

It's deprecated for years. Let's rely on old good libc regex.h for now.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agologin: fix close_range() use
Karel Zak [Wed, 14 Jul 2021 15:25:57 +0000 (17:25 +0200)] 
login: fix close_range() use

This new syscall comes with three arguments (see kernel commit
278a5fbaed89dacd04e9d052f4594ffd0e0585de). Not sure why util-linux
assume only two.

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1981729
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agotests: update sfdisk reorder test
Karel Zak [Wed, 14 Jul 2021 14:18:20 +0000 (16:18 +0200)] 
tests: update sfdisk reorder test

References: commit f05a5bb2c2e62d3753f8c9262b9f6cbf469e5b0
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agotests: skip if scsi_debug model file is not accessible
Karel Zak [Wed, 14 Jul 2021 14:13:21 +0000 (16:13 +0200)] 
tests: skip if scsi_debug model file is not accessible

* do not print grep(1) info message

* use ts_skip rather than ts_die when scsi_debug is useless

Fixes: https://github.com/karelzak/util-linux/issues/1376
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agofdisk: move reorder diag messages to fdisk_reorder_partitions()
Pali Rohár [Mon, 12 Jul 2021 22:40:00 +0000 (00:40 +0200)] 
fdisk: move reorder diag messages to fdisk_reorder_partitions()

The function fdisk_reorder_partitions() is also used in sfdisk and cfdisk
and these commands assume info/warn messages from the library. So move all
messages from fdisk to fdisk_reorder_partitions().

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
4 years agoverity: fix verity.roothashsig only working as last parameter
Luca Boccassi [Sun, 11 Jul 2021 17:14:40 +0000 (18:14 +0100)] 
verity: fix verity.roothashsig only working as last parameter

Parsing of verity.roothashsig did not take into consideration that other options
might follow, and used the whole string as a file path. But mnt_optstr_get_option
just returns a pointer in the mount option string, it doesn't extract it, so it
would have other subsequent options too. The length parameter has to be used.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
4 years agofdisk: do not print error message when partition reordering is not needed
Pali Rohár [Tue, 6 Jul 2021 13:35:25 +0000 (15:35 +0200)] 
fdisk: do not print error message when partition reordering is not needed

Option 'f' currently prints following RED error message:

    Nothing to do. Ordering is correct already.
    Failed to fix partitions order.

This change removes RED error message when ordering is already correct.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
4 years agolibblkid: vfat: Fix reading FAT32 boot label
Pali Rohár [Mon, 5 Jul 2021 13:10:51 +0000 (15:10 +0200)] 
libblkid: vfat: Fix reading FAT32 boot label

FAT32 can be formatted with boot sign 0x28 to indicate that only serial id
is present or with boot sign 0x29 which indicates that both boot label and
serial id is present.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
4 years agolibblkid: vfat: Fix reading FAT16 boot label and serial id
Pali Rohár [Mon, 5 Jul 2021 13:09:12 +0000 (15:09 +0200)] 
libblkid: vfat: Fix reading FAT16 boot label and serial id

Older FAT16 variants do not have to contain boot label or serial id. Boot
sign 0x28 indicates that only serial id is present and boot sign 0x29
indicates that both boot label and serial id is present. Other boot sign
values (e.g. zero) indicates older FAT16 variant without boot label and
boot sign.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
4 years agomount: fix roothash signature extension in manpage
Luca Boccassi [Sat, 3 Jul 2021 11:15:53 +0000 (12:15 +0100)] 
mount: fix roothash signature extension in manpage

The PKCS7 RFC recommends to use .p7s for detached signatures file extensions,
so use that in the example.

https://datatracker.ietf.org/doc/html/rfc5751#section-3.2.1

4 years agomeson: fix dlopen support for cryptsetup
Luca Boccassi [Fri, 2 Jul 2021 18:44:59 +0000 (19:44 +0100)] 
meson: fix dlopen support for cryptsetup

dlopen is treated as a dependency, but that's not quite right, it
should be an alternative way to link to libcryptsetup.
Search for it only if cryptsetup is not disabled, and if the cryptsetup-dlopen
is explicitly set to enabled. If it is, do not link to libcryptsetup.

Add cryptsetup support status to the meson summary.

4 years agomeson: fix crypt_activate_by_signed_key detection
Luca Boccassi [Fri, 2 Jul 2021 18:11:58 +0000 (19:11 +0100)] 
meson: fix crypt_activate_by_signed_key detection

It should set HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY, rather than HAVE_CRYPTSETUP
which enables the verity features, as it needs to detect the availability of
the crypt_activate_by_signed_key API

4 years agobuild-sys: display cryptsetup status after ./configure
Luca Boccassi [Fri, 2 Jul 2021 17:09:03 +0000 (18:09 +0100)] 
build-sys: display cryptsetup status after ./configure

Signed-off-by: Luca Boccassi <bluca@debian.org>
4 years agolscpu: don't use DMI if executed with --sysroot
Karel Zak [Fri, 2 Jul 2021 11:12:13 +0000 (13:12 +0200)] 
lscpu: don't use DMI if executed with --sysroot

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agotest/eject: guard asan LD_PRELOAD with use-system-commands check
Ross Burton [Thu, 1 Jul 2021 19:44:31 +0000 (20:44 +0100)] 
test/eject: guard asan LD_PRELOAD with use-system-commands check

This test tries to add asan to LD_PRELOAD because the just-built eject
will call the host /bin/umount, and apparently asan doesn't like this.

However, if ldd isn't present, this fails as the path to asan is the
error message saying that ldd isn't present.

As the asan workaround is only needed when executing the binaries that
have just been built and not the system binaries, only use it if the
test is on the built binaries.

Closes #1373.

Signed-off-by: Ross Burton <ross.burton@arm.com>
4 years agofstrim: clean return code on --quiet-unsupported
Karel Zak [Thu, 1 Jul 2021 15:06:34 +0000 (17:06 +0200)] 
fstrim: clean return code on --quiet-unsupported

This feature is already supported for -a and -A. Let's support it also
when FS specified on command line.

Addresses: https://github.com/systemd/mkosi/pull/721
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolsblk: normalize space in SERIAL and MODEL
Karel Zak [Wed, 30 Jun 2021 10:25:18 +0000 (12:25 +0200)] 
lsblk: normalize space in SERIAL and MODEL

These strings come from HW and udev does not modify it. It seems good
idea to clean up it before we print it.

Fixes: https://github.com/karelzak/util-linux/issues/1368
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agotests: mark ul/ul as a known failure
Ross Burton [Wed, 30 Jun 2021 10:25:01 +0000 (11:25 +0100)] 
tests: mark ul/ul as a known failure

As with ul/basic, this test produces different output when ran under
different terminals, which isn't very useful.

Set TS_KNOWN_FAIL so that these problems don't cause the test to fail.

Signed-off-by: Ross Burton <ross.burton@arm.com>
4 years agotests: check correct log file for errors in blkdiscard test
Ross Burton [Tue, 29 Jun 2021 17:10:40 +0000 (18:10 +0100)] 
tests: check correct log file for errors in blkdiscard test

When checking if the discard ioctl is supported, look in stderr not stdout as
that is where the error appears.

Signed-off-by: Ross Burton <ross.burton@arm.com>
4 years agotests: don't hardcode /bin/kill in the kill tests
Ross Burton [Tue, 29 Jun 2021 15:34:20 +0000 (16:34 +0100)] 
tests: don't hardcode /bin/kill in the kill tests

If the 'kill' test is executed with --use-system-commands, it calls
/bin/kill to avoid the shell's own kill command being invoked.

However, this doesn't work if the kill we want to test isn't in fact in
/bin.  Instead, use $(which kill) to find a kill on the PATH and call
that directly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
4 years agocfdisk: optimize mountpoint detection for PARTUUID
Karel Zak [Fri, 25 Jun 2021 10:58:51 +0000 (12:58 +0200)] 
cfdisk: optimize mountpoint detection for PARTUUID

Don't check fstab (and udev symplinks) for new UUIDs.

Fixes: https://github.com/karelzak/util-linux/issues/1331
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agohexdump: do not use atoi()
Karel Zak [Fri, 25 Jun 2021 09:05:21 +0000 (11:05 +0200)] 
hexdump: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agopg: do not use atoi()
Karel Zak [Fri, 25 Jun 2021 08:24:35 +0000 (10:24 +0200)] 
pg: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomisc: improve string to number conversions
Karel Zak [Thu, 24 Jun 2021 14:42:53 +0000 (16:42 +0200)] 
misc: improve string to number conversions

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoinclude/strutils: consolidate string to number conversion
Karel Zak [Thu, 24 Jun 2021 14:36:58 +0000 (16:36 +0200)] 
include/strutils: consolidate string to number conversion

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomore: fix null-pointer dereference
Karel Zak [Wed, 23 Jun 2021 09:37:31 +0000 (11:37 +0200)] 
more: fix null-pointer dereference

The command allows executing arbitrary shell commands while viewing a file by
entering '!' followed by the command. Entering a command that contains a '%',
'!', or '\' causes a segmentation violation.

The same more(1) function has a problem when not file is specified (cat
/etc/passwd | more) on command line.

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1975153
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoagetty: do not use atol()
Karel Zak [Tue, 22 Jun 2021 15:26:11 +0000 (17:26 +0200)] 
agetty: do not use atol()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 15:06:46 +0000 (17:06 +0200)] 
lscpu: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoutmpdump: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 14:50:46 +0000 (16:50 +0200)] 
utmpdump: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoswapon: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 14:16:38 +0000 (16:16 +0200)] 
swapon: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoipcs: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 13:19:22 +0000 (15:19 +0200)] 
ipcs: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoeject: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 13:15:46 +0000 (15:15 +0200)] 
eject: do not use atoi()

* remove unnecessary strtok() use
* remove atoi use()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agofsck: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 12:42:56 +0000 (14:42 +0200)] 
fsck: do not use atoi()

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoinclude/strutils: cleanup strto..() functions
Karel Zak [Tue, 22 Jun 2021 12:20:42 +0000 (14:20 +0200)] 
include/strutils: cleanup strto..() functions

* add ul_strtos64() and ul_strtou64()
* add simple test

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoblockdev: improve arguments parsing (remove atoi)
Karel Zak [Tue, 22 Jun 2021 10:32:58 +0000 (12:32 +0200)] 
blockdev: improve arguments parsing (remove atoi)

old version:
 # blockdev --setfra 4x096 /dev/sdc

new version:
 # blockdev --setfra 4x096 /dev/sdc
 blockdev: failed to parse command argument: '4x096'

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agocfdisk: do not use atoi()
Karel Zak [Tue, 22 Jun 2021 09:50:06 +0000 (11:50 +0200)] 
cfdisk: do not use atoi()

It's unnecessary to use atoi in this case.

Addresses: https://github.com/karelzak/util-linux/issues/1358
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoreadprofile: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:37:48 +0000 (15:37 +0200)] 
readprofile: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agowipefs: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:34:06 +0000 (15:34 +0200)] 
wipefs: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolslocks: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:33:36 +0000 (15:33 +0200)] 
lslocks: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agokill: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:32:51 +0000 (15:32 +0200)] 
kill: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolslogins: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:31:43 +0000 (15:31 +0200)] 
lslogins: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agofsck: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:29:43 +0000 (15:29 +0200)] 
fsck: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolsmem: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:29:33 +0000 (15:29 +0200)] 
lsmem: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:00:40 +0000 (15:00 +0200)] 
lscpu: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agohwclock: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:00:40 +0000 (15:00 +0200)] 
hwclock: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoipcs: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:00:40 +0000 (15:00 +0200)] 
ipcs: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibuuid: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:00:40 +0000 (15:00 +0200)] 
libuuid: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibmount: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:00:40 +0000 (15:00 +0200)] 
libmount: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibblkid: check errno after strto..()
Karel Zak [Mon, 21 Jun 2021 13:00:40 +0000 (15:00 +0200)] 
libblkid: check errno after strto..()

Addresses: https://github.com/karelzak/util-linux/issues/1356
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomount.8.adoc: Remove context options exclusion
Thiébaud Weksteen [Mon, 21 Jun 2021 12:15:16 +0000 (14:15 +0200)] 
mount.8.adoc: Remove context options exclusion

The exclusivity between the {fscontext, defcontext} and context options
was removed in kernel 2.6.25[1]. No specific verification on these
options is done in mount(8)[2].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c9180a57a9ab2d5525faf8815a332364ee9e89b7
[2] https://github.com/karelzak/util-linux/blob/master/libmount/src/context_mount.c#L202

4 years agofsck.cramfs: use open+fstat rather than stat+open
Karel Zak [Mon, 21 Jun 2021 10:39:33 +0000 (12:39 +0200)] 
fsck.cramfs: use open+fstat rather than stat+open

Fixes: https://github.com/karelzak/util-linux/issues/1353
Signed-off-by: Karel Zak <kzak@redhat.com>