Commit Graph

41 Commits

Author SHA1 Message Date
Karel Zak 6a2792c70f lscpu: (arm) don't use space in names
It's seems better to be consistent and use the same convention for all
the names.

Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:03:13 +08:00
James Calligeros 4cce5d0d92 lscpu: add missing Apple parts
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2023-02-17 15:03:07 +08:00
James Calligeros 2fd6c63f21 lscpu: make Apple part names human-friendly
The internal Apple model numbers for the SoCs are somewhat
confusing given that they are mostly similar and differ by only
one or two digits. Instead, use the public nomenclature for these
chips to avoid ambiguity and beautify the output.

Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2023-02-17 15:02:59 +08:00
Thomas Kaiser 0a73b54405 Fix formatting. 2023-02-17 15:02:51 +08:00
ThomasKaiser 619e571fb7 Adding Apple core names, distinguish by SoC/SiP name 2023-02-17 15:02:43 +08:00
ThomasKaiser f08efdf71c Add Makalu/Makalu-ELP (A715/X3)
Also fix names of A510/A710 cores
2023-02-17 15:02:36 +08:00
Jeremy Linton cdfcc281b9 lscpu: Add Snapdragon parts
QC updated the kernel cputype.h to include the Kyro 4xx and 3xx Silver
part numbers's. Lets sync that commit and naming.

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
2023-02-17 15:02:28 +08:00
Karel Zak 8e642aa0dc sfdisk: inform about failed fsync() [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:02:18 +08:00
Karel Zak 7eb23d8435 libfdisk: (gpt) don't ignore fsync() errors
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:02:08 +08:00
Karel Zak 8d503f85a8 sfdisk: improve code readability for coverity scan
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:01:59 +08:00
Karel Zak ff1eb8a42b libfdisk: make scripts portable between different sector sizes
Fixes: https://github.com/util-linux/util-linux/issues/1744
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:01:51 +08:00
Karel Zak 599e3fd306 fdisk: make it more obvious that DOS means MBR
Fixes: https://github.com/util-linux/util-linux/issues/1890
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:01:43 +08:00
Karel Zak 75a8cd2a69 fdisk: fix --output option parsing
Fixes: https://github.com/util-linux/util-linux/issues/1859
Addresses: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1022249
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:01:35 +08:00
Chris Down 0d5840a6c2 kill: Support mandating the presence of a userspace signal handler
In production we've had several incidents over the years where a process
has a signal handler registered for SIGHUP or one of the SIGUSR signals
which can be used to signal a request to reload configs, rotate log
files, and the like. While this may seem harmless enough, what we've
seen happen repeatedly is something like the following:

1. A process is using SIGHUP/SIGUSR[12] to request some
   application-handled state change -- reloading configs, rotating a log
   file, etc;
2. This kind of request is deprecated and removed, so the signal handler
   is removed. However, a site where the signal might be sent from is
   missed (often logrotate or a service manager);
3. Because the default disposition of these signals is terminal, sooner
   or later these applications are going to be sent SIGHUP or similar
   and end up unexpectedly killed.

I know for a fact that we're not the only organistion experiencing this:
in general, signal use is pretty tricky to reason about and safely
remove because of the fairly aggressive SIG_DFL behaviour for some
common signals, especially for SIGHUP which has a particularly ambiguous
meaning. Especially in a large, highly interconnected codebase,
reasoning about signal interactions between system configuration and
applications can be highly complex, and it's inevitable that on occasion
a callsite will be missed.

In some cases the right call to avoid this will be to migrate services
towards other forms of IPC for this purpose, but inevitably there will
be some services which must continue using signals, so we need a safe
way to support them.

This patch adds support for the -r/--require-handler flag, which checks
if a userspace handler is present for the signal being sent. If it is
not, the process will be skipped.

With this flag we can enforce that all SIGHUP reload cases and SIGUSR
equivalents use --require-handler. This effectively mitigates the case
we've seen time and time again where SIGHUP is used to rotate log files
or reload configs, but the sending site is mistakenly left present after
the removal of signal handler, resulting in unintended termination of
the process.

Signed-off-by: Chris Down <chris@chrisdown.name>
2023-02-17 15:01:28 +08:00
Karel Zak 2dab772cba lib/procfs: add function to parse /proc/#/stat
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:01:19 +08:00
Karel Zak 38835adcca lsblk: fix endless loop if device specified more than once
Fixes: https://github.com/util-linux/util-linux/issues/1814
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:01:11 +08:00
Michael Trapp 43c4671759 libuuid: check clock value from LIBUUID_CLOCK_FILE
The clock value from the LIBUUID_CLOCK_FILE must be checked in
case of an update of libuuid. If clock==CLOCK_SEQ_CONT it must
be set to a new value.

Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:00:21 +08:00
Karel Zak a29f1fcdf0 uuidd: fix random UUIDs
Commit f27876f introduces copy & past bug and replaces
__uuid_generate_random() with __uuid_generate_time().

Fixes: https://github.com/util-linux/util-linux/issues/1837
Signed-off-by: Karel Zak <kzak@redhat.com>
2023-02-17 15:00:01 +08:00
Michael Trapp 03b7962e80 libuuid: Implement continuous clock handling for time based UUIDs
In a uuidd setup, the daemon is a singleton and can maintain it's own
resources for time based UUID generation. This requires a dedicated
'clock sequence range' but does not need any further lock/update of
the LIBUUID_CLOCK_FILE from uuidd. The range of available clock values
is extended by a continuous handling of the clock updates - instead of
updating the value to the current timestamp, it is incremented by
the number of requested UUIDs.
2023-02-17 14:59:41 +08:00
Petr Štetiar 6d8292f22a lib/path: ul_path_cpuparse: fix parsing of empty sysfs files
Kernel 5.15 returns empty content for topology/thread_siblings on
aarch64 platform, which in conjunction of uninitialized `buf` memory
buffer results in the garbage:

 (gdb) p buf
 $14 = " @\377\367\177\000\000\000\275\000\347j\032\236"

This garbage is then being later consumed by underlying helper functions
like for example cpumask_parse() and this leads to the following crash
later:

 in __libc_free (p=0x7ff7f67c00) at src/malloc/mallocng/free.c:105
 in free (p=<optimized out>) at src/malloc/free.c:5
 in add_cpuset_to_array (setsize=<optimized out>, set=<optimized out>, items=<optimized out>, ary=<optimized out>) at ../sys-utils/lscpu-topology.c:29
 in cputype_read_topology (cxt=cxt@entry=0x7ff7fffe70, ct=0x4298a0) at ../sys-utils/lscpu-topology.c:153
 in lscpu_read_topology (cxt=cxt@entry=0x7ff7fffe70) at ../sys-utils/lscpu-topology.c:629
 in main (argc=1, argv=0x7ffffffdb8) at ../sys-utils/lscpu.c:1341

It looks like the problem is that current logic expects fgets() to set
errno on failure, but fgets() is not documented to do so and and neither
glibc nor musl set errno.  So if errno was set to 0 before fgets() call,
the failure from fgets() is ignored and then invalid buffer is being
parsed.

Fixes: #1810
Suggested-by: Thomas Weißschuh <thomas@t-8ch.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-02-17 14:59:32 +08:00
Chris Hofstaedtler 09b6184cdc Use sensible-pager
Closes: #1014368
2023-02-17 14:59:11 +08:00
Chris Hofstaedtler c118fad68b Install lsfd into /usr/bin 2023-02-17 14:59:04 +08:00
Chris Hofstaedtler 48f1e99952 hardlink tests: set known failed
sha256 cannot be initialized on some archs / buildds.
2023-02-17 14:58:56 +08:00
Chris Hofstaedtler 88ba1dcb39 Use non-deprecated chown syntax
Closes: #1007139
2023-02-17 14:58:48 +08:00
Andreas Henriksson d4bcfe0a90 verbose-tests
Enable verbose tests and print content of failing tests output file.
2023-02-17 14:58:40 +08:00
Matthew Vernon 4d3a306bab util-linux: getopt(1) should point to where examples are on a Debian system
Debian BTS #913049
2023-02-17 14:47:16 +08:00
su-fang e72d587bc0 merge upstream 2.38.1 2023-02-17 14:33:46 +08:00
luzhiping d2e8f6190e update info 2022-08-22 17:00:23 +08:00
openKylinBot 83a3d58e79 changed debian/source/format to native 2022-05-14 03:14:50 +08:00
openKylinBot e22d7b9def apply patches 2022-05-14 03:14:50 +08:00
openKylinBot e788c7535b format patches 2022-05-14 03:14:50 +08:00
J William Piggott 3c45559264 [PATCH] hwclock: make glibc 2.31 compatible
______________________________________________________
GNU C Library NEWS -- history of user-visible changes.
Version 2.31
Deprecated and removed features, and other changes affecting compatibility:

* The settimeofday function can still be used to set a system-wide time
  zone when the operating system supports it.  This is because the Linux
  kernel reused the API, on some architectures, to describe a system-wide
  time-zone-like offset between the software clock maintained by the kernel,
  and the "RTC" clock that keeps time when the system is shut down.

  However, to reduce the odds of this offset being set by accident,
  settimeofday can no longer be used to set the time and the offset
  simultaneously.  If both of its two arguments are non-null, the call
  will fail (setting errno to EINVAL).

  Callers attempting to set this offset should also be prepared for the call
  to fail and set errno to ENOSYS; this already happens on the Hurd and on
  some Linux architectures.  The Linux kernel maintainers are discussing a
  more principled replacement for the reused API.  After a replacement
  becomes available, we will change settimeofday to fail with ENOSYS on all
  platforms when its 'tzp' argument is not a null pointer.

  settimeofday itself is obsolescent according to POSIX.  Programs that set
  the system time should use clock_settime and/or the adjtime family of
  functions instead.  We may cease to make settimeofday available to newly
  linked binaries after there is a replacement for Linux's time-zone-like
  offset API.
______________________________________________________

hwclock(8) had one settimeofday(2) call where both args were set for
--hctosys when the RTC was ticking UTC. This allowed setting the system
time, timezone, and locking the warp_clock function with a single call.
That operation now takes 3 calls of settimeofday(2).

Although this common operation now takes three calls, the overall logic
for the set_system_clock() function was simplified.

Co-Author: Karel Zak <kzak@redhat.com>
Signed-off-by: J William Piggott <elseifthen@gmx.com>

Gbp-Pq: Name hwclock-make-glibc-2.31-compatible.patch
2022-05-14 03:14:50 +08:00
Ubuntu Developers 9de229d149 hwclock_fix_audit_status
hwclock: fix audit exit status
    
    According to audit_log_user_message(3) result 1 is "success" and 0 is
    "failed", we use standard EXIT_{SUCCESS,FAILURE} macros with reverse
    status.
    
    Addresses: https://github.com/karelzak/util-linux/issues/966
    Signed-off-by: Karel Zak <kzak@redhat.com>


Gbp-Pq: Name hwclock_fix_audit_status.patch
2022-05-14 03:14:50 +08:00
Karel Zak f29e698f8a lsblk: force to print PKNAME for partition
PKNAME (parent kernel device name) is based on printed tree according
to parent -> child relationship. The tree is optional and not printed
if partition specified (.e.g "lsblk -o+PKNAME /dev/sda1"), but old
versions print the PKNAME also in this case.

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

Gbp-Pq: Name lsblk-force-to-print-PKNAME-for-partition.patch
2022-05-14 03:14:50 +08:00
Mauricio Faria de Oliveira 38aa4e64b8 [PATCH] libblkid: (xfs) external log: check for regular xfs on more sectors
The xfs external log probe only checks for regular xfs on sector zero,
but then checks for valid log record headers on all first 512 sectors.

This can incorrectly detect an xfs external log if a regular xfs (i.e.
with internal log) is shifted by up to 512 sectors; it may happen with
bcache and LVM1 for example, as the regular xfs is found later in disk.

This results in ambivalent filesystem detection, thus no UUID for udev.

Fix this problem by checking for regular xfs on all sectors considered
by the xfs external log probe.

Test-case with bcache:

Gbp-Pq: Name libblkid-xfs-log-check-for-reg-xfs-on-more-sectors.patch
2022-05-14 03:14:50 +08:00
Étienne Mollier 8de924cffc Reimplement umount completion to not use gawk's gensub.
Gbp-Pq: Name umount-completion.patch
2022-05-14 03:14:50 +08:00
Ubuntu Developers 2581103b71 fstrim shouldn't run inside a container
Container type implies the following products:
openvz	OpenVZ/Virtuozzo
lxc	Linux container implementation by LXC
lxc-libvirt	Linux container implementation by libvirt
systemd-nspawn	systemd's minimal container implementation, see systemd-nspawn(1)
docker	Docker container manager
podman	Podman container manager
rkt	rkt app container runtime
wsl	Windows Subsystem for Linux
 References:
 https://www.freedesktop.org/software/systemd/man/systemd.unit.html
 https://www.freedesktop.org/software/systemd/man/systemd-detect-virt.html#

 Fix: #840
Author: Eric Desrochers <eric.desrochers@canonical.com>
Origin: upstream, 0280d31a2b
Bug: https://github.com/karelzak/util-linux/issues/840
Bug-Ubuntu: https://launchpad.net/bugs/1589289

Gbp-Pq: Name prevent-fstrim-inside-container.patch
2022-05-14 03:14:50 +08:00
Martin Pitt 847bb97f42 Make sure file systems can be fixed on machines with locked root accounts (as Ubuntu does by default). Don't require --force for sulogin.
Bug-Debian: https://bugs.debian.org/326678

Gbp-Pq: Name sulogin-lockedpwd.patch
2022-05-14 03:14:50 +08:00
Michael Vogt 440a048f0f Add support for /bin/static-sh as fallback if the regular shell fails to execute
Bug-Ubuntu: https://launchpad.net/bugs/505887

Gbp-Pq: Name sulogin-fallback-static-sh.patch
2022-05-14 03:14:50 +08:00
openKylinBot 809763df0a Import Debian changes 2.34-ok1
util-linux (2.34-ok1) yangtze; urgency=medium

  * Build for openKylin.
2022-05-14 03:14:32 +08:00
openKylinBot fa45c7ac50 Import Upstream version 2.34 2022-05-14 03:14:32 +08:00