]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
4 years agoMerge branch 'meson_verity' of https://github.com/bluca/util-linux
Karel Zak [Wed, 14 Jul 2021 10:19:49 +0000 (12:19 +0200)] 
Merge branch 'meson_verity' of https://github.com/bluca/util-linux

* 'meson_verity' of https://github.com/bluca/util-linux:
  meson: fix dlopen support for cryptsetup
  meson: fix crypt_activate_by_signed_key detection

4 years agoMerge branch 'verity_corruption' of https://github.com/bluca/util-linux
Karel Zak [Wed, 14 Jul 2021 10:18:08 +0000 (12:18 +0200)] 
Merge branch 'verity_corruption' of https://github.com/bluca/util-linux

* 'verity_corruption' of https://github.com/bluca/util-linux:
  verity: fix verity.roothashsig only working as last parameter
  verity: add support for corruption action flag
  build-sys: display cryptsetup status after ./configure

4 years agotests/eject: check for root perms at beginning
Karel Zak [Wed, 14 Jul 2021 08:25:33 +0000 (10:25 +0200)] 
tests/eject: check for root perms at beginning

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoMerge branch 'test' of https://github.com/rossburton/util-linux
Karel Zak [Wed, 14 Jul 2021 08:21:20 +0000 (10:21 +0200)] 
Merge branch 'test' of https://github.com/rossburton/util-linux

* 'test' of https://github.com/rossburton/util-linux:
  test/eject: guard asan LD_PRELOAD with use-system-commands check

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 agoverity: add support for corruption action flag
Luca Boccassi [Fri, 2 Jul 2021 17:51:41 +0000 (18:51 +0100)] 
verity: add support for corruption action flag

Add verity.oncorruption= to let users override the default kernel
behaviour, using libcrypsetup's relevant flags.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
4 years agotests: fdisk: Layout with more details
Pali Rohár [Tue, 6 Jul 2021 22:56:21 +0000 (00:56 +0200)] 
tests: fdisk: Layout with more details

Use fdisk -x instead of fdisk -l for printing layout in fdisk tests. This
can help debugging why some fdisk tests fail.

Signed-off-by: Pali Rohár <pali.rohar@gmail.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 agofix #648 by ignoring EINVAL on-remount of proc
benaryorg [Fri, 4 Jun 2021 12:34:52 +0000 (12:34 +0000)] 
fix #648 by ignoring EINVAL on-remount of proc

When using --mount-proc=/some/path then unshare fails if the path provided is not already mounted due to the mount(2) call to change the propagation of the mount.
In such a case mount(2) returns EINVAL, which however is used for a variety of other errors.
If this error is ignored mistakenly the effects however should be negligible since:

1. the mount of proc afterwards happens regardless, errors of which are not ignored
2. the propagation change of root uses MS_REC, which should already change the propagation of all mounts recursively

Furthermore /proc is not touched if --mount-proc specifies a different mount point.
This should not cause too much unexpected behaviour due to point 2 from above in any case.
Specifying --mount-proc with a different path also means that unshare(3) is not instructed to touch /proc, thus /proc not being touched should not be unexpected.
As a side note, if unshare is called with /proc as an (implicit) parameter to --mount-proc then /proc is a stacked mount, meaning if /proc is unmounted within the namespace the host /proc will be visible again, thus not touching /proc with a different parameter does not constitute more information leakage than the alternative, quite contrary it may even be the desired behaviour.

Signed-off-by: benaryorg <binary@benary.org>
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 agoMerge branch 'tests' of https://github.com/rossburton/util-linux
Karel Zak [Wed, 30 Jun 2021 10:39:13 +0000 (12:39 +0200)] 
Merge branch 'tests' of https://github.com/rossburton/util-linux

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 agoMerge branch 'kill' of https://github.com/rossburton/util-linux
Karel Zak [Wed, 30 Jun 2021 10:07:50 +0000 (12:07 +0200)] 
Merge branch 'kill' of https://github.com/rossburton/util-linux

* 'kill' of https://github.com/rossburton/util-linux:
  tests: check correct log file for errors in blkdiscard test
  tests: don't hardcode /bin/kill in the kill tests

4 years agolibblkid: remove EVMS support
Karel Zak [Wed, 30 Jun 2021 09:35:45 +0000 (11:35 +0200)] 
libblkid: remove EVMS support

"When you discover you're riding a dead horse, the best strategy is to dismount."

EVMS is dead since 2006, LVM is the winner.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: remove the old code
Huang Shijie [Thu, 17 Jun 2021 12:41:16 +0000 (12:41 +0000)] 
lscpu: remove the old code

The file "/sys/firmware/dmi/tables/DMI" always exists.

The dmi_decode_cputype() can provide more information then arm_smbios_decode().
So remove it to tidy the code.

Before this patch, we can get the output from Centos 7.9 who has
"/sys/firmware/dmi/entries/4-0/raw" and "/sys/firmware/dmi/tables/DMI":
  ----------------------------------------------------
  BIOS Vendor ID:                  Ampere(TM)
  Model name:                     Neoverse-N1
    BIOS Model name:               Ampere(TM) Altra(TM) Processor
  ----------------------------------------------------

 After this patch which uses "/sys/firmware/dmi/tables/DMI", in Centos 7.9, we get:
  ----------------------------------------------------
  BIOS Vendor ID:                  Ampere(TM)
  Model name:                     Neoverse-N1
    BIOS Model name:               Ampere(TM) Altra(TM) Processor Q00-00 CPU @ 2.8GHz
    BIOS CPU family:               257
  ----------------------------------------------------

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.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 agoMerge branch 'fix_mount_fscontext' of https://github.com/tweksteen/util-linux
Karel Zak [Fri, 25 Jun 2021 09:47:06 +0000 (11:47 +0200)] 
Merge branch 'fix_mount_fscontext' of https://github.com/tweksteen/util-linux

* 'fix_mount_fscontext' of https://github.com/tweksteen/util-linux:
  mount.8.adoc: Remove context options exclusion

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 agomisc: consolidate stat() error message
Karel Zak [Mon, 21 Jun 2021 10:40:41 +0000 (12:40 +0200)] 
misc: consolidate stat() error message

Let's use the same error message everywhere to reduce number of
strings for translators.

Signed-off-by: Karel Zak <kzak@redhat.com>
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>
4 years agoinclude/c: add drop_permissions(), consolidate UID/GID reset
Karel Zak [Mon, 21 Jun 2021 10:25:31 +0000 (12:25 +0200)] 
include/c: add drop_permissions(), consolidate UID/GID reset

Fixes: https://github.com/karelzak/util-linux/issues/1354
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agodmesg: remove condition [lgtm scan]
Karel Zak [Fri, 18 Jun 2021 15:57:13 +0000 (17:57 +0200)] 
dmesg: remove  condition [lgtm scan]

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: add more sanity checks for dmi_decode_cputype()
Huang Shijie [Fri, 18 Jun 2021 12:46:32 +0000 (12:46 +0000)] 
lscpu: add more sanity checks for dmi_decode_cputype()

After tested on different platforms, we found dmi_string() may return NULL
in some case.

So add more sanity checks for dmi_decode_cputype().

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
4 years agotools: report and use LDFLAGS in tools/config-gen
Karel Zak [Fri, 18 Jun 2021 15:37:38 +0000 (17:37 +0200)] 
tools: report and use LDFLAGS in tools/config-gen

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agobuild-sys: use $LIBS rather than LDFLAGS
Karel Zak [Fri, 18 Jun 2021 15:21:13 +0000 (17:21 +0200)] 
build-sys: use $LIBS rather than LDFLAGS

Fixes: https://github.com/karelzak/util-linux/pull/1349
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolib/path: (test) fix ul_new_path() use
Karel Zak [Fri, 18 Jun 2021 15:02:38 +0000 (17:02 +0200)] 
lib/path: (test) fix ul_new_path() use

4 years agomore: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:58:38 +0000 (16:58 +0200)] 
more: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agowall: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:56:52 +0000 (16:56 +0200)] 
wall: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoscript: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:55:40 +0000 (16:55 +0200)] 
script: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoldattach: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:52:26 +0000 (16:52 +0200)] 
ldattach: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agohwclock: fix ul_path_scanf() use
Karel Zak [Fri, 18 Jun 2021 14:50:58 +0000 (16:50 +0200)] 
hwclock: fix ul_path_scanf() use

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoeject: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:49:28 +0000 (16:49 +0200)] 
eject: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agologger: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:42:07 +0000 (16:42 +0200)] 
logger: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibfdisk: add and fix __format__ attributes
Karel Zak [Fri, 18 Jun 2021 14:41:20 +0000 (16:41 +0200)] 
libfdisk: add and fix __format__ attributes

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agofindmnt: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:35:33 +0000 (16:35 +0200)] 
findmnt: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibmount: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:34:20 +0000 (16:34 +0200)] 
libmount: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoinclude/strutils: fix __format__attribute
Karel Zak [Fri, 18 Jun 2021 14:33:16 +0000 (16:33 +0200)] 
include/strutils: fix __format__attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoinclude/path: add __format__attribute
Karel Zak [Fri, 18 Jun 2021 14:32:37 +0000 (16:32 +0200)] 
include/path: add __format__attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoinclude/c: add __format__ attribute
Karel Zak [Fri, 18 Jun 2021 14:29:02 +0000 (16:29 +0200)] 
include/c: add __format__ attribute

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agotests: fix lsns test on kernels without USER namespaces
Anatoly Pugachev [Fri, 18 Jun 2021 12:45:31 +0000 (14:45 +0200)] 
tests: fix lsns test on kernels without USER namespaces

Reported-by: Bruce Dubbs <bruce.dubbs@gmail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomount.8: fix overlayfs nfs_export= indention
Karel Zak [Fri, 18 Jun 2021 12:37:28 +0000 (14:37 +0200)] 
mount.8: fix overlayfs nfs_export= indention

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoMerge branch 'man-mount-overlayfs' of https://github.com/iam-TJ/util-linux
Karel Zak [Fri, 18 Jun 2021 10:33:10 +0000 (12:33 +0200)] 
Merge branch 'man-mount-overlayfs' of https://github.com/iam-TJ/util-linux

* 'man-mount-overlayfs' of https://github.com/iam-TJ/util-linux:
  mount: man-page; add all overlayfs options

4 years agoMerge branch 'sys-utils_doc_brackets' of https://github.com/usev6/util-linux
Karel Zak [Fri, 18 Jun 2021 10:30:32 +0000 (12:30 +0200)] 
Merge branch 'sys-utils_doc_brackets' of https://github.com/usev6/util-linux

* 'sys-utils_doc_brackets' of https://github.com/usev6/util-linux:
  Fix some brackets in synopses

4 years agoinclude/strv: fix format attributes
Karel Zak [Fri, 18 Jun 2021 10:25:46 +0000 (12:25 +0200)] 
include/strv: fix format attributes

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agoFix some brackets in synopses
Christian Bartolomäus [Thu, 17 Jun 2021 20:27:17 +0000 (22:27 +0200)] 
Fix some brackets in synopses

4 years agomount: man-page; add all overlayfs options
Tj [Thu, 17 Jun 2021 12:13:22 +0000 (13:13 +0100)] 
mount: man-page; add all overlayfs options

The section in man (8) mount for overlay is missing nine options which
aren't documented elsewhere either and are useful features to be aware
of and use.

Fixes #1350.

4 years agobuild-sys: Update configure.ac
Alex Xu [Wed, 16 Jun 2021 13:58:25 +0000 (13:58 +0000)] 
build-sys: Update configure.ac

1. the test incorrectly used AC_COMPILE_IFELSE instead of
   AC_LINK_IFELSE, defeating the purpose of checking -lcrypt.
2. the test did not properly restore LIBS, causing later checks to all
   fail if libcrypt wasn't found.
3. HAVE_LIBCRYPT only controls whether to use -lcrypt, it is not
   needed or used in any source files.

[kzak@redhat.com: - improve commit message
                  - use UL_{SET,RESTORE}_FLAGS() rather than directly
    modify $LIBS]

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolib/path: improve ul_path_readlink() to be more robust
Karel Zak [Thu, 17 Jun 2021 11:28:32 +0000 (13:28 +0200)] 
lib/path: improve ul_path_readlink() to be more robust

According to POSIX, readlink() makes no effort to null-terminate buffer
with the result. It seems better to hide this disadvantage in the
ul_path_...() API rather than assume buf[sz] = '\0' everywhere.

Reported-by: Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomkfs.cramfs: add comment to explain readlink() use
Karel Zak [Thu, 17 Jun 2021 11:26:50 +0000 (13:26 +0200)] 
mkfs.cramfs: add comment to explain readlink() use

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agorename: use readlink() in more robust way
Karel Zak [Thu, 17 Jun 2021 11:25:43 +0000 (13:25 +0200)] 
rename: use readlink() in more robust way

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agonamei: simplify code
Karel Zak [Thu, 17 Jun 2021 11:23:53 +0000 (13:23 +0200)] 
namei: simplify code

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomore: fix setuid/setgid order
Karel Zak [Thu, 17 Jun 2021 10:21:04 +0000 (12:21 +0200)] 
more: fix setuid/setgid order

The rule is pretty simple, always use setgid() before setuid().

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agohardlink: small regex stuff refactoring
Karel Zak [Wed, 16 Jun 2021 13:48:09 +0000 (15:48 +0200)] 
hardlink: small regex stuff refactoring

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agosulogin: add missing ifdefs
Karel Zak [Wed, 16 Jun 2021 13:44:02 +0000 (15:44 +0200)] 
sulogin: add missing ifdefs

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agosulogin: use explicit_bzero() for buffer with password
Karel Zak [Wed, 16 Jun 2021 13:39:32 +0000 (15:39 +0200)] 
sulogin: use explicit_bzero() for buffer with password

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agologin: remove obsolete and confusing comment
Karel Zak [Wed, 16 Jun 2021 13:13:50 +0000 (15:13 +0200)] 
login: remove obsolete and confusing comment

Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: add bios_family
Huang Shijie [Tue, 15 Jun 2021 10:06:39 +0000 (10:06 +0000)] 
lscpu: add bios_family

In the arm platform, we do not have the "CPU family" as X86.
In the linux kernel, it is hardcode to set the "CPU architecuture:8"
which should be changed for arm v9 in future.

This patch adds "bios_family" field, which we can get from the DMI table.
In the ampere Altra platform, we can get the new lscpu output:
    ----------------------------------------------------------------
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          160
On-line CPU(s) list:             0-159
Vendor ID:                       ARM
BIOS Vendor ID:                  Ampere(R)
Model name:                      Neoverse-N1
BIOS Model name:                 Ampere(R) Altra(R) Processor Q00-00 CPU @ 3.0GHz
BIOS CPU family:                 257
Model:                           1
Thread(s) per core:              1
    ----------------------------------------------------------------

[kzak@redhat.com: - s/sprintf/snprintf/]

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolscpu: get the processor information by DMI
Huang Shijie [Tue, 15 Jun 2021 10:06:38 +0000 (10:06 +0000)] 
lscpu: get the processor information by DMI

The patch :367c85c47286 ("lscpu: use SMBIOS tables on ARM for lscpu")
relies on the existence of "/sys/firmware/dmi/entries/4-0/raw",
which may not exist in standard linux kernel.

But "/sys/firmware/dmi/tables/DMI" should exist and can provide the required
processor information.

This patch uses "/sys/firmware/dmi/tables/DMI"
to get the processor information:

Before this patch, in Ampere Altra platform, the lscpu output is:
   ---------------------------------------------
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          160
On-line CPU(s) list:             0-159
Vendor ID:                       ARM
Model name:                      Neoverse-N1
Model:                           1
Thread(s) per core:              1
Core(s) per socket:              80
Socket(s):                       2
    ........................................
   ---------------------------------------------

After this patch, we can use get the lscpu output
in Ampere Altra platform:
   ---------------------------------------------
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          160
On-line CPU(s) list:             0-159
Vendor ID:                       ARM
BIOS Vendor ID:                  Ampere(R)
Model name:                      Neoverse-N1
BIOS Model name:                 Ampere(R) Altra(R) Processor Q00-00 CPU @ 3.0GHz
Model:                           1
Thread(s) per core:              1
Core(s) per socket:              80
Socket(s):                       2
    ........................................
   ---------------------------------------------

[kzak@redhat.com: - s/sprintf/snprintf/]

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agolibblkid: fix and cleanup blkid_safe_string()
Karel Zak [Wed, 16 Jun 2021 08:46:40 +0000 (10:46 +0200)] 
libblkid: fix and cleanup blkid_safe_string()

* Don't use 'size_t len' variable for utf8_encoded_valid_unichar()
  return code as it returns negative numbers on invalid utf8 sequence.

* Don't rely only on \0, but check the current position against output
  buffer size.

* Accept hex encoding like the original version.

* Use else-if to avoid unnecessary 'continue'.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 years agomkswap: fix holes detection (infinite loop and/or stack-buffer-underflow)
Karel Zak [Tue, 15 Jun 2021 10:04:43 +0000 (12:04 +0200)] 
mkswap: fix holes detection (infinite loop and/or stack-buffer-underflow)

Reported-by: Brian Lane <bcl@redhat.com>
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1971877
Fix: https://github.com/karelzak/util-linux/issues/1348
Signed-off-by: Karel Zak <kzak@redhat.com>