Lennart Poettering [Fri, 23 Dec 2022 17:49:02 +0000 (18:49 +0100)]
prioq: make prioq_reshuffle() void
We never use the return value, and it's confusing and kinda pointless
what we return there.
Hence drop it.
Originally noticed by: tristone13th <tristone13th@outlook.com>
Alternative to: #25810
Lennart Poettering [Fri, 23 Dec 2022 22:26:00 +0000 (23:26 +0100)]
Merge pull request #25849 from poettering/repart-loop
pull in loop.ko from repart unit
Lennart Poettering [Fri, 23 Dec 2022 17:39:54 +0000 (18:39 +0100)]
docs: remove /dev/tty* confusion
The text said /dev/tty* as a whole was the VT subsystem and that VT is
not supported in containers.
But that's not accurate as /dev/tty* will match /dev/tty too and that
one device node is special and is not related to VT: it always points to
the current process own controlling tty, regardless what that is.
hence, rewrite /dev/tty* as /dev/tty[0-9]*.
Will Fancher [Sat, 17 Dec 2022 20:06:21 +0000 (15:06 -0500)]
sysroot: Order systemd-fsck-root after systemd-makefs
Lennart Poettering [Fri, 23 Dec 2022 16:23:14 +0000 (17:23 +0100)]
units: pull in loop.ko and dm-mod.ko before repart
We want to make use of that when formatting file systems, hence let's
pull in these modules explicitly.
(This is necessary because we are an early boot service that might run
before systemd-tmpfiles-dev.service, which creates /dev/loop-control and
/dev/mapper/control.)
Alternatively we could just order ourselves after
systemd-tmpfiles-dev.service, but I think there's value in adding an
explicit minimal ordering here, since we know what we'll need.
Fixes: #25775
Lennart Poettering [Fri, 23 Dec 2022 16:23:00 +0000 (17:23 +0100)]
units: change modprobe@dm-mod.service → modprobe@dm_mod.service
Follow-up for
8f1359bf854e9683e4e0b89fd3a537e0d82d4b95
Jia Zhang [Fri, 23 Dec 2022 09:23:36 +0000 (17:23 +0800)]
measure: fix the failures of compare_reported_pcr_nr()
EFI_LOADER_VARIABLE() already applies to the stringify to construct the
path of EFI variable in efivars, so it is wrong to enclose the name of
EFI variable with the quotes. Otherwise, the following errors are
reported.
Reading EFI variable /sys/firmware/efi/efivars/StubFeatures-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
Reading EFI variable /sys/firmware/efi/efivars/"StubPcrKernelImage"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
open("/sys/firmware/efi/efivars/"StubPcrKernelImage"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f") failed: No such file or directory
Reading EFI variable /sys/firmware/efi/efivars/"StubPcrKernelParameters"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
open("/sys/firmware/efi/efivars/"StubPcrKernelParameters"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f") failed: No such file or directory
Reading EFI variable /sys/firmware/efi/efivars/"StubPcrInitRDSysExts"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
open("/sys/firmware/efi/efivars/"StubPcrInitRDSysExts"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f") failed: No such file or directory
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
Yu Watanabe [Fri, 23 Dec 2022 13:11:59 +0000 (22:11 +0900)]
Merge pull request #25823 from poettering/dissect-diskseq
gpt-auto: reference dissected partitions to mount via diskseq block device symlinks
Yu Watanabe [Fri, 23 Dec 2022 08:29:40 +0000 (17:29 +0900)]
tree-wide: have_effective_cap() may return negative errno
Yu Watanabe [Fri, 23 Dec 2022 13:10:38 +0000 (22:10 +0900)]
Merge pull request #25830 from yuwata/wait-online-unmanaged
wait-online: exit with success when all interfaces are ready or unmanaged
Lennart Poettering [Fri, 23 Dec 2022 12:14:14 +0000 (13:14 +0100)]
Merge pull request #25777 from PeterCxy/enroll-fido2
cryptenroll: Implement support for unlocking via FIDO2 tokens
Lennart Poettering [Wed, 21 Dec 2022 13:32:22 +0000 (14:32 +0100)]
update TODO
Lennart Poettering [Wed, 21 Dec 2022 11:28:31 +0000 (12:28 +0100)]
gpt-auto-generator: enable referencing partitions via diskseq symlinks
Lennart Poettering [Wed, 21 Dec 2022 11:26:21 +0000 (12:26 +0100)]
dissect-image: optionally, reference dissected partition device nodes by diskseq
This is useful to make the dissection logic at boot a bit safer, as we
can reference device nodes by diskseq.
This locks down dissection a bit, since it makes it harder to swap out
the backing device between the time we dissected and validated it, until
we actually mounted it.
This is not complete though, as /bin/mount would have to verify the
diskseq after opening the diskseq symlink again.
See: https://github.com/util-linux/util-linux/issues/1786
Lennart Poettering [Wed, 21 Dec 2022 11:25:32 +0000 (12:25 +0100)]
dissect-image: simplify things by avoiding one string copy
We don't need the node in its original variable anymore, hence let's
just move it over instead of allocating a copy.
Lennart Poettering [Wed, 21 Dec 2022 11:24:41 +0000 (12:24 +0100)]
udev: also create partition /dev/disk/by-diskseq/ symlinks
Lennart Poettering [Thu, 22 Dec 2022 16:57:56 +0000 (17:57 +0100)]
import-creds: don't try to import VM creds in a container
If we run in a container we shouldn#t try to import creds passed in from
a VMM, as they are not for us, but for the VM itself.
Peter Cai [Sun, 18 Dec 2022 01:33:05 +0000 (20:33 -0500)]
cryptenroll: Implement support for unlocking via FIDO2 tokens
This allows FIDO2 users to wipe out password slots and still be able to
enroll new key slots via systemd-cryptenroll. Note that when the user
wants to both unlock with a FIDO2 token and enroll a new FIDO2 token,
they cannot be set to automatic discovery. This is to safeguard against
confusion, because there will be multiple tokens connected to the system
when doing so -- and we require users to explicitly confirm which one to
use for unlocking and which one to use for enrollment.
Addresses #20230 for the FIDO2 case.
Luca Boccassi [Thu, 22 Dec 2022 21:19:05 +0000 (22:19 +0100)]
Merge pull request #25814 from DaanDeMeyer/ukify
ukify: Prefer using llvm-objcopy instead of objcopy
Peter Cai [Sun, 18 Dec 2022 01:28:51 +0000 (20:28 -0500)]
cryptsetup-fido2: Remove plain mode parameters from `acquire_fido2_key_auto()`
`acquire_fido2_key_auto()` will not be used in PLAIN mode, and
parameters such as the salt will be acquired from the LUKS header.
Parameters intended for PLAIN mode are useless in
`acquire_fido2_key_auto()`.
Peter Cai [Sat, 17 Dec 2022 20:46:36 +0000 (15:46 -0500)]
cryptsetup-fido2: Relocate to libsystemd-shared
Daan De Meyer [Wed, 21 Dec 2022 14:18:13 +0000 (15:18 +0100)]
ukify: Validate that there are no overlapping sections
Let's make sure that after calling objcopy we have no overlapping
sections in the UKI
Daan De Meyer [Mon, 19 Dec 2022 14:29:43 +0000 (15:29 +0100)]
ukify: Prefer using llvm-objcopy instead of objcopy
llvm-objcopy works on stubs built for foreign architectures whereas
objcopy doesn't so let's prefer using llvm-objcopy instead of objcopy.
llvm-objcopy automatically sets the virtual address and doesn't provide
an option to set it manually so we only add --change-section-vma when
using objcopy
The default section flags differ between llvm-objcopy and objcopy
so we add a default for the section flags so we make sure all sections
are read-only data unless specified otherwise.
Daan De Meyer [Mon, 19 Dec 2022 14:36:07 +0000 (15:36 +0100)]
ukify: Allow passing multiple directories to --tools
Luca Boccassi [Thu, 22 Dec 2022 11:10:32 +0000 (12:10 +0100)]
Merge pull request #25791 from keszybz/ukify-check-inputs
ukify: check inputs
Yu Watanabe [Mon, 19 Dec 2022 12:07:39 +0000 (21:07 +0900)]
macro: check existence of cleanup function before call it
The free function specified in the macro may be provided by a
dynamically loaded library.
Replaces #25781.
Yu Watanabe [Thu, 22 Dec 2022 07:42:55 +0000 (16:42 +0900)]
test-network: add testcase for no managed interface
Yu Watanabe [Thu, 22 Dec 2022 07:29:20 +0000 (16:29 +0900)]
test-network: split out wait-online related test case
Yu Watanabe [Thu, 22 Dec 2022 07:27:58 +0000 (16:27 +0900)]
test-network: move one test case
Lennart Poettering [Wed, 21 Dec 2022 09:00:06 +0000 (10:00 +0100)]
dissect-image: let's lock down fstypes a bit
When we dissect images automatically, let's be a bit more conservative
with the file system types we are willing to mount: only mount common
file systems automatically.
Explicit mounts requested by admins should always be OK, but when we do
automatic mounts, let's not permit barely maintained, possibly legacy
file systems.
The list for now covers the four common writable and two common
read-only file systems. Sooner or later we might want to add more to the
list.
Also, it might make sense to eventually make this configurable via the
image dissection policy logic.
Yu Watanabe [Thu, 22 Dec 2022 01:29:59 +0000 (10:29 +0900)]
Merge pull request #25829 from poettering/empty-to-null-const-fix
string-util: don't add `const` to return pointer of empty_to_null() if input didn't have it
Yu Watanabe [Thu, 22 Dec 2022 00:40:37 +0000 (09:40 +0900)]
wait-online: exit with success when all interfaces are ready or unmanaged
Previously, when neither '--any' nor '--interface' options specified,
at least one of the interfaces must be in configured state.
This patch makes wait-online exit with success even if all interfaces
are in unmanaged state.
This may break backward compatibility in a rare situation. But in most
cases, this typically not change anything, as at least one interface
is managed by networkd.service when it is enabled.
This is mostly for making wait-online gracefully handle the case that
networkd.service and wait-online.service are enabled by mistake. In such
situation, all interfaces are typically not managed.
Fixes #25813.
Lennart Poettering [Wed, 21 Dec 2022 21:47:47 +0000 (22:47 +0100)]
creds: use empty_or_dash() where appropriate
Lennart Poettering [Wed, 21 Dec 2022 21:35:51 +0000 (22:35 +0100)]
string-util: rework empty_to_null() to not change "const" qualifier of input
This changes the definition from enpty_to_null() so that we are still
typesafe (i.e. only accept strings) but do not drop (or add) any const
to the returned string that wasn't also on the input.
Inspired by: https://github.com/systemd/systemd/pull/25805/commits/
3196e2996f613a2e3568a791c503306b7c58d593
Lennart Poettering [Wed, 21 Dec 2022 08:47:46 +0000 (09:47 +0100)]
gpt-auto-generator: honour rootfstype= and rootflags= kernel cmdline option
Even if root= is not specified on the kernel cmdline, we should honour
the other rootXYZ= options.
Fixes: #8411
See: #17034
Hans de Goede [Wed, 21 Dec 2022 11:18:52 +0000 (12:18 +0100)]
hwdb: Add mic-mute, control-center and screen-rotation mappings for MSI laptops
The MSI Summit E16 Flip A12UCT laptop sends the following unmapped
atkbd scancodes:
0x91: Launch MSI Control Center
0xf1: Toggle mic mute
0xf2: Rotate screen
The 0x91, 0xf1 and 0xf2 codes are already present in the MSI Prestige/Modern
series specific keymappings and the 0xf1 mapping is also already present in
the MSI Bravo 15-B5DX FnKeys entry.
This shows that these are generic to many MSI models, so add mappings for
these to the generic MSI mappings.
Since the MSI Bravo 15-B5DX FnKeys entry only contains the 0xf1 mapping and
that is covered by the generic MSI mappings now, that entry is removed.
Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/822
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216824
Philipp Jungkamp [Wed, 21 Dec 2022 11:43:49 +0000 (12:43 +0100)]
hwdb: change definition of PROXIMITY_NEAR_LEVEL for sensors
The [kernel documentation][0] for the in_proximity_nearlevel sysfs
attribute on iio proximity devices states:
If the value read from the sensor is above or equal to the value in
this file an object should typically be considered near.
Meaning a 'greater than or equal to' comparison.
Make the documentation comment in 60-sensors.hwdb suggest a
greater-or-equal rather than a strict greater-than comparison.
[0]: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-iio-proximity
Fixes #25793
Antonio Alvarez Feijoo [Wed, 21 Dec 2022 10:25:03 +0000 (11:25 +0100)]
systemctl: fix typo
Yu Watanabe [Wed, 21 Dec 2022 08:32:56 +0000 (17:32 +0900)]
rules: add missing line continuation
Fixes a bug introduced by
953c928c24455744d5534679998d129b947a5e04.
Fixes #25811.
Steve Ramage [Wed, 21 Dec 2022 04:31:09 +0000 (20:31 -0800)]
man: create a new section for nspawn files in systemd.syntax man page (#25807)
Closes #25806.
Jacek Migacz [Tue, 20 Dec 2022 14:26:12 +0000 (15:26 +0100)]
resolve: fix enumerator name for DNS search domain
Lennart Poettering [Tue, 20 Dec 2022 18:01:54 +0000 (19:01 +0100)]
Merge pull request #25789 from yuwata/EBADF
tree-wide: use -EBADF more
Zbigniew Jędrzejewski-Szmek [Tue, 20 Dec 2022 16:56:28 +0000 (17:56 +0100)]
Merge branch 'systemd-security/coredump-capabilities'
CVE-2022-4415: systemd: coredump not respecting fs.suid_dumpable kernel setting
Affects systemd >= 247 with libacl support enabled.
This is a merge of https://github.com/systemd/systemd-security/pull/12/.
I'm doing the merge locally because github doesn't support merging directly
from systemd/systemd-security to systemd/systemd.
Yu Watanabe [Tue, 20 Dec 2022 02:09:08 +0000 (11:09 +0900)]
tree-wide: use -EBADF more
Zbigniew Jędrzejewski-Szmek [Tue, 20 Dec 2022 09:38:01 +0000 (10:38 +0100)]
ukify: check early if inputs exist and are readable
It's much nicer for the user if we fail early instead of doing partial
processing if we cannot read some input. We can't do those checks immediately
from argparse.Parser.parse_args(), because we want to fully process the
commandline first. In particular, even with invalid args, if --help is
specified somewhere, we want to handle that. Thus, we need to delay the checks
after argparse.Parser.parse_args() returns.
Ukify didn't have type annotations on functions, but it probably should.
Jörg's suggested correction included them and we might just as well start here.
Mike Yuan [Sat, 17 Dec 2022 13:07:32 +0000 (21:07 +0800)]
systemctl: new option --drop-in for specifying drop-in filename
Previously 'systemctl edit' would only operate on
'override.conf', but users may need more than that.
Thus the new option '--drop-in' is added to allow
users to specify the drop-in file name.
Closes #25767
Zbigniew Jędrzejewski-Szmek [Tue, 20 Dec 2022 14:12:28 +0000 (15:12 +0100)]
github: update version in bug templates
Zbigniew Jędrzejewski-Szmek [Tue, 20 Dec 2022 09:20:35 +0000 (10:20 +0100)]
ukify: catch error when loading foreign pe file
The autodetection code is supposed to throw ValueError when it
cannot figure out the version so that we fall back to the next method.
With the patch:
Kernel version not specified, starting autodetection 😖.
Real-Mode Kernel Header magic not found
+ readelf --notes vmlinuz/arm64/vmlinuz-6.0.9-300.fc37.aarch64
readelf: vmlinuz/arm64/vmlinuz-6.0.9-300.fc37.aarch64: Error: Not an ELF file - it has the wrong magic bytes at the start
Found uname version: 6.0.9-300.fc37.aarch64
Yu Watanabe [Tue, 20 Dec 2022 01:10:19 +0000 (10:10 +0900)]
tree-wide: introduce PIPE_EBADF macro
Yu Watanabe [Tue, 20 Dec 2022 02:08:53 +0000 (11:08 +0900)]
fuzz: sort headers
Yu Watanabe [Tue, 20 Dec 2022 01:02:10 +0000 (10:02 +0900)]
Merge pull request #25786 from keszybz/ebadf
Use -EBADF for fd initialization
Yu Watanabe [Tue, 20 Dec 2022 00:58:47 +0000 (09:58 +0900)]
Merge pull request #25787 from msekletar/rename-process-cap
units: allow systemd-userdbd to change process name
noodlejetski [Tue, 20 Dec 2022 00:57:54 +0000 (01:57 +0100)]
hwdb: Fn+F5 fix for MSI Bravo 15-B5DX (#25788)
Closes #25782.
Michal Sekletar [Mon, 19 Dec 2022 16:58:49 +0000 (17:58 +0100)]
units: allow systemd-userdbd to change process name
rename_process() requires CAP_SYS_RESOURCE so let's make sure it is in
our permitted set after execve() by adding in to the bounding set.
Previously,
systemd-userdbd.service - User Database Manager
Loaded: loaded (/usr/lib/systemd/system/systemd-userdbd.service; indirect; preset: disabled)
Active: active (running) since Mon 2022-12-19 17:07:21 CET; 17min ago
TriggeredBy: ● systemd-userdbd.socket
Docs: man:systemd-userdbd.service(8)
Main PID: 1880 (systemd-userdbd)
Status: "Processing requests..."
Tasks: 4 (limit: 2272)
Memory: 5.2M
CPU: 244ms
CGroup: /system.slice/systemd-userdbd.service
├─1880 /usr/lib/systemd/systemd-userdbd
├─2270 systemd-userwork
├─2271 systemd-userwork
└─2272 systemd-userwork
Now,
Loaded: loaded (/usr/lib/systemd/system/systemd-userdbd.service; indirect; preset: disabled)
Active: active (running) since Mon 2022-12-19 17:27:02 CET; 15s ago
TriggeredBy: ● systemd-userdbd.socket
Docs: man:systemd-userdbd.service(8)
Main PID: 2404 (systemd-userdbd)
Status: "Processing requests..."
Tasks: 4 (limit: 2272)
Memory: 5.5M
CPU: 89ms
CGroup: /system.slice/systemd-userdbd.service
├─2404 /usr/lib/systemd/systemd-userdbd
├─2407 "systemd-userwork: waiting..."
├─2408 "systemd-userwork: waiting..."
└─2409 "systemd-userwork: waiting..."
Michal Sekletar [Mon, 19 Dec 2022 16:29:40 +0000 (17:29 +0100)]
argv-util: do proper permission check while when changing process name
Process renaming happens very seldomly so we are able to afford proper
permission check, i.e. actually check for CAP_SYS_RESOURCE capability
instead of euid.
Lennart Poettering [Mon, 19 Dec 2022 16:01:51 +0000 (17:01 +0100)]
Merge pull request #25783 from keszybz/trivial-cleanups
Trivial cleanups
Lennart Poettering [Mon, 19 Dec 2022 16:01:02 +0000 (17:01 +0100)]
Merge pull request #25771 from bluca/pkcs11_dlopen
p11kit: switch to dlopen()
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 10:19:18 +0000 (11:19 +0100)]
basic/hashmap: add comment
Coverity complains that the check is suspicious. Add a comment to help
the reader.
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 10:17:07 +0000 (11:17 +0100)]
efi: do not use 'r' as pointer name
'r' should only be used as in 'int r'.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Dec 2022 07:35:59 +0000 (08:35 +0100)]
userdb: fix typo
Zbigniew Jędrzejewski-Szmek [Mon, 12 Dec 2022 14:01:49 +0000 (15:01 +0100)]
shared/dns-domain: reduce scope of variable declarations
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 12:26:17 +0000 (13:26 +0100)]
basic/fd-util: rearrange variable declarations
Having two blocks of normal variable declarations was unnecessary.
Also 'i' can be narrower in scope.
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 12:20:30 +0000 (13:20 +0100)]
tree-wide: use -EBADF also in pipe initializers
In some places, initialization is dropped when unnecesary.
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 12:11:05 +0000 (13:11 +0100)]
tree-wide: change initialization to use EBADF instead of EBADFD
Those fds never were, so it's not fair to say that they are in "bad state".
Let's use the shorter and more direct errno.
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 12:07:42 +0000 (13:07 +0100)]
tree-wide: use -EBADF for fd initialization
-1 was used everywhere, but -EBADF or -EBADFD started being used in various
places. Let's make things consistent in the new style.
Note that there are two candidates:
EBADF 9 Bad file descriptor
EBADFD 77 File descriptor in bad state
Since we're initializating the fd, we're just assigning a value that means
"no fd yet", so it's just a bad file descriptor, and the first errno fits
better. If instead we had a valid file descriptor that became invalid because
of some operation or state change, the other errno would fit better.
In some places, initialization is dropped if unnecessary.
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 13:36:08 +0000 (14:36 +0100)]
sd-event: never pass negative errnos as signalfd to signalfd
We treat any negative value as "invalid fd", but signalfd only
accepts -1.
Zbigniew Jędrzejewski-Szmek [Mon, 19 Dec 2022 13:35:05 +0000 (14:35 +0100)]
socket-proxyd: do not hardcode -1 in a check for fd validity
Luca Boccassi [Sat, 17 Dec 2022 01:50:39 +0000 (01:50 +0000)]
Update TODO
Luca Boccassi [Sat, 17 Dec 2022 01:33:46 +0000 (01:33 +0000)]
p11kit: switch to dlopen()
Lennart Poettering [Mon, 19 Dec 2022 13:37:52 +0000 (14:37 +0100)]
Merge pull request #25784 from poettering/bootctl-split
bootctl: split up bootctl.c into multiple files
Yu Watanabe [Thu, 15 Dec 2022 19:02:25 +0000 (04:02 +0900)]
unit: use underbar for module name
For consistency with src/core/unit.c.
Lennart Poettering [Mon, 19 Dec 2022 10:42:15 +0000 (11:42 +0100)]
bootctl: split out "install" verb too
Lennart Poettering [Mon, 19 Dec 2022 10:04:17 +0000 (11:04 +0100)]
bootctl: split out "status" verb too
Lennart Poettering [Fri, 16 Dec 2022 17:51:10 +0000 (18:51 +0100)]
bootctl: split out "set-efivar" verbs, too
Lennart Poettering [Fri, 16 Dec 2022 17:45:55 +0000 (18:45 +0100)]
bootctl: also split out 'systemd-efi-options' verb
Lennart Poettering [Fri, 16 Dec 2022 17:42:39 +0000 (18:42 +0100)]
bootctl: split out random seed verb, too
Lennart Poettering [Fri, 16 Dec 2022 17:27:06 +0000 (18:27 +0100)]
bootctl: let's start splitting up bootctl like we did for systemctl and others
Yu Watanabe [Mon, 19 Dec 2022 00:44:04 +0000 (09:44 +0900)]
Merge pull request #25779 from bluca/journa_remote_vacuum
journal-remote: follow-ups for #25076
Luca Boccassi [Sun, 18 Dec 2022 10:58:37 +0000 (10:58 +0000)]
journal-remote: fix memory leak on initialization error
Follow-up for
f12b399dd6362a03379cb769954ebfb9972236ed from
https://github.com/systemd/systemd/pull/25076
CID#
1501550
Luca Boccassi [Sun, 18 Dec 2022 10:51:36 +0000 (10:51 +0000)]
journal-remote: fix initialization of vacuum metrics
Follow-up for
f12b399dd6362a03379cb769954ebfb9972236ed from
https://github.com/systemd/systemd/pull/25076
CID#
1501551
asavah [Sat, 17 Dec 2022 16:00:56 +0000 (17:00 +0100)]
meson: fix cross-compilation of LONG_MAX
https://github.com/systemd/systemd/pull/25618#issuecomment-
1355019553
berenddeschouwer [Sat, 17 Dec 2022 13:54:16 +0000 (15:54 +0200)]
vacuum journal remote (#25076)
* Support vacuuming for journal-remote
Co-authored-by: Berend De Schouwer <berend@deschouwer.co.za>
Luca Boccassi [Sat, 17 Dec 2022 13:51:39 +0000 (14:51 +0100)]
Merge pull request #25221 from enr0n/nic-rename-fallback
udev: set link alternative name if link is already up during rename
Luca Boccassi [Sat, 17 Dec 2022 13:49:21 +0000 (14:49 +0100)]
Merge pull request #25387 from yuwata/core-fix-gc-logic
core: fix logic of merging units
наб [Tue, 22 Nov 2022 04:14:01 +0000 (05:14 +0100)]
Add basic systemctl edit test
Lennart Poettering [Fri, 16 Dec 2022 10:42:11 +0000 (11:42 +0100)]
TODO
Yu Watanabe [Thu, 15 Dec 2022 18:04:22 +0000 (03:04 +0900)]
test: systemd-mount --list and systemd-umount requires the device is initialized by udevd
Fixes #25674.
Jade Lovelace [Wed, 7 Dec 2022 19:34:22 +0000 (11:34 -0800)]
man/systemd-oomd.service: Document command line options
Previously these were not written down. This PR depends on #25670, since
`--dry-run` prints at debug level in `main`, which is surprising
behaviour.
Lennart Poettering [Thu, 15 Dec 2022 21:22:32 +0000 (22:22 +0100)]
Merge pull request #25487 from poettering/systemctl-edit-newline-fix
systemctl: simplify trim_edit_markers()
Aidan Dang [Sat, 10 Dec 2022 10:58:27 +0000 (21:58 +1100)]
Implement SYSTEMD_HOME_MKFS_OPTIONS_* envvars to configure mkfs options for homed LUKS directories
Daan De Meyer [Thu, 15 Dec 2022 14:06:40 +0000 (14:06 +0000)]
repart: Always derive fs/luks UUIDs from generated partition UUID
When generating verity partitions, we only know the partition UUID
of the verity data and hash partition after doing the verity
formatting. This means we can't use the verity partition UUID as
input for deriving the filesystem/luks UUIDs. Currently, we derive
the filesystem/luks UUID from the null UUID instead, which isn't
ideal. Instead, let's always generate a partition UUID and use it
to derive the fs/luks UUIDs, but only use it as the actual partition
UUID if we're not doing verity for the partition.
Lennart Poettering [Thu, 15 Dec 2022 17:07:20 +0000 (18:07 +0100)]
pcrphase: gracefully exit if TPM2 support is incomplete
If everything points to the fact that TPM2 should work, but then the
driver fails to initialize we should handle this gracefully and not
cause failing services all over the place.
Fixes: #25700
Yu Watanabe [Thu, 15 Dec 2022 16:11:39 +0000 (01:11 +0900)]
test: show and check almost all journal entries since the relevant command being invoked
For some reasons, journal timestamps from other sources sometimes
inconsistent. For example,
```
$ journalctl --file system.journal -o short-monotonic -u resmontest.service
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN AAAA
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN A
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← A: ns1.unsigned.test IN A 10.0.0.1
[ 1112.171961] ns1.unsigned.test systemd[1]: resmontest.service: Failed to load configuration: No such file or directory
[ 1112.172223] ns1.unsigned.test systemd[1]: resmontest.service: Trying to enqueue job resmontest.service/start/fail
[ 1112.179866] ns1.unsigned.test systemd[1]: resmontest.service: Installed new job resmontest.service/start as 312
[ 1112.179894] ns1.unsigned.test systemd[1]: resmontest.service: Enqueued job resmontest.service/start as 312
[ 1112.180389] ns1.unsigned.test systemd[1]: resmontest.service: Will spawn child (service_enter_start): /usr/bin/resolvectl
[ 1112.180418] ns1.unsigned.test systemd[1]: resmontest.service: Passing 0 fds to service
[ 1112.180447] ns1.unsigned.test systemd[1]: resmontest.service: About to execute /usr/bin/resolvectl monitor
[ 1112.180477] ns1.unsigned.test systemd[1]: resmontest.service: Forked /usr/bin/resolvectl as 419
[ 1112.180619] ns1.unsigned.test systemd[1]: resmontest.service: Changed dead -> start
[ 1112.180651] ns1.unsigned.test systemd[1]: Starting resmontest.service...
[ 1112.180799] ns1.unsigned.test systemd[419]: resmontest.service: Kernel keyring access prohibited, ignoring.
[ 1112.180895] ns1.unsigned.test systemd[419]: resmontest.service: Executing: /usr/bin/resolvectl monitor
[ 1112.181383] ns1.unsigned.test systemd[1]: resmontest.service: Got notification message from PID 419 (READY=1)
[ 1112.181413] ns1.unsigned.test systemd[1]: resmontest.service: Changed start -> running
[ 1112.181441] ns1.unsigned.test systemd[1]: resmontest.service: Job 312 resmontest.service/start finished, result=done
[ 1112.181469] ns1.unsigned.test systemd[1]: Started resmontest.service.
```
In such case, `journalctl -f` may not show the entries what we are interested in.
Fixes #25749. (At least, workarond for the issue.)
Alvin Šipraga [Wed, 7 Dec 2022 15:43:06 +0000 (16:43 +0100)]
network: wifi: check SSID when AP interfaces go up
When an AP goes up, the kernel may emit a netlink event indicating that
the interface has gained carrier. In that event, we should check if the
SSID has changed before attempting to reconfigure. Not doing so means
that the link->ssid member is not updated, leading to a potential
mismatch if some of the .network configurations match on SSID=.
There are however scenarios where the above heuristic is not enough.
Specifically, if the interface carrier state flip-flops within a short
enough interval, the internal throttling of netlink events inside the
kernel may suppress intermediate linkdown+linkup events (cf. Linux
net/core/link_watch.c). So there is no linkup event to react on.
To improve on the latter scenario, it is proposed to make newer kernels
emit an NL80211_CMD_START_AP multicast event when an AP goes up. This
event will not be dropped by link_watch. systemd-networkd can then react
to such events as well, and optionally reconfigure the link if the SSID
has changed. This will only work with newer kernels though.
Yu Watanabe [Tue, 15 Nov 2022 13:59:01 +0000 (22:59 +0900)]
core/unit: fix log message
As you can see in the below, the dropped dependency Before=issue-24990.service
is not logged, but the dependency Before=test1.service which is not owned by
the units generated by the TEST-26 is logged.
Before:
systemd[1]: issue-24990.service: Dependency After=test1.service dropped, merged into issue-24990.service
systemd[1]: issue-24990.service: Dependency Before=test1.service dropped, merged into issue-24990.service
After:
systemd[1]: issue-24990.service: Dependency After=test1.service is dropped, as test1.service is merged into issue-24990.service.
systemd[1]: issue-24990.service: Dependency Before=issue-24990.service in test1.service is dropped, as test1.service is merged into issue-24990.service.
Lennart Poettering [Thu, 15 Dec 2022 13:48:08 +0000 (14:48 +0100)]
man: add two signature key example to systemd-measure
@keszybz asked for an example with --append= used in the systemd-measure
man page. Here it is.
As requested: https://github.com/systemd/systemd/pull/25224#pullrequestreview-
1190709772
Lennart Poettering [Thu, 24 Nov 2022 13:59:25 +0000 (14:59 +0100)]
systemctl: don't unlink non-existing temporary files
Lennart Poettering [Tue, 22 Nov 2022 16:14:51 +0000 (17:14 +0100)]
systemctl: if we edit a single file only, jump to the right line
Lennart Poettering [Tue, 22 Nov 2022 17:46:20 +0000 (18:46 +0100)]
systemctl: stop using basename() at one more place
Lennart Poettering [Tue, 22 Nov 2022 17:46:01 +0000 (18:46 +0100)]
systemctl: line break string where the newlines are