Commit Graph
69261 Commits
Author SHA1 Message Date
Mike Yuan ced3e6bc0e elf2efi: remove outdated comment mentioning linker script
Follow-up for 142f0c61a3
2023-12-10 12:50:14 +00:00
Yu Watanabe fca212b022 resolve: fix wrong error cause assignment to log_debug_errno()
Fixes #30392.
2023-12-10 17:47:36 +08:00
Mike Yuan c8f7c9a11d core/exec-invoke: sigwait() returns positive errno and never EINTR
Follow-up for 5b6319dcee (gosh this is
ancient), and effectively reverts 3dead8d925.

sigwait() is documented to "suspend execution of the calling thread
until one of the signals specified in the signal set becomes pending".
And the only error it returns is EINVAL, when "set contains an invalid
signal number". Therefore, there's no need to run it in a loop or
to check for runtime error.
2023-12-10 09:44:44 +01:00
Yu Watanabe a753d30303 systemctl: fix typo
Follow-up for 329050c5e2.
2023-12-10 14:26:33 +09:00
Yu Watanabe 0500f755fc networkctl: fix typo
Follow-up for 2b98926f98.
2023-12-10 14:25:33 +09:00
Mike Yuan ba8245a77a core/executor: do destruct static variables and selinux before exiting
I was wondering why I couldn't trigger the assertion in safe_fclose()
when submitting #30251. It turned out that the static destructor was
not run at all :/

Replace main() with a minimized version of main-func.h. This also
prevents emitting negative exit codes.
2023-12-10 14:13:35 +09:00
Yu Watanabe f1e89cb9b1 Merge pull request #30399 from YHNdnzj/memory-accounting-always-peak
systemctl-show: always show memory peak if available
2023-12-10 14:11:05 +09:00
Mike Yuan 8ad973ed99 hibernate-util: de-duplicate clear_efi_hibernate_location 2023-12-10 14:08:46 +09:00
Yu Watanabe 3a4e3d4f9e Merge pull request #30400 from bluca/coverity
Assorted coverity fixes
2023-12-10 14:07:37 +09:00
Luca Boccassi 3b3bce04f0 test-login: remove dead code
HANDLE_SLEEP is == _HANDLE_ACTION_SLEEP_LAST and the loop is bounded
by < _HANDLE_ACTION_SLEEP_LAST, so no need to check for it

CID#1529414
2023-12-09 13:17:02 +00:00
Luca Boccassi 2343f6b11e logind: use ASSERT_PTR to validate result before use
handle_action_lookup() in general can return NULL, but not
here as the handle is checked before, so add an assert.

CID#1529415
CID#1529416
2023-12-09 13:17:02 +00:00
Luca Boccassi fc9d7ddbac systemctl: fix copy/paste
on_circle is set twice to the same value

CID#1529418
2023-12-09 13:17:02 +00:00
Luca Boccassi 5572e9d82f journal-remote: set upper length bound when parsing incoming headers
CID#1529420
2023-12-09 13:17:02 +00:00
Mike Yuan 2747cd6d17 systemctl-show: always show memory peak if available 2023-12-09 20:42:48 +08:00
Mike Yuan ad009380e1 core/cgroup: cache the last memory usage values before destroying cgroup
Currently, memory accounting values are only cached if it was queued
at least once before destroying cgroup. Let's always cache it like
what we already do for CPU usage.

Preparation for later changes.
2023-12-09 20:42:48 +08:00
Luca Boccassi 9614dd542b mount: check that MountParameters is valid before use
Follow-up for 6c75eff6af

CID#1530430
2023-12-09 11:57:01 +00:00
Florian Schmaus 7ba8260c46 NEWS: fix typo s/show/shown/ 2023-12-09 19:44:20 +08:00
Luca Boccassi 1d13163520 Merge pull request #30387 from mrc0mmand/TEST-17-tweaks
test: a couple of tweaks for TEST-17-UDEV
2023-12-09 11:06:37 +00:00
Mike Yuan 32a0004c62 Merge pull request #30384 from YHNdnzj/rename-process
core/executor: save argv for later use by rename_process()
2023-12-09 19:04:07 +08:00
Yu Watanabe 2b2f192a0e Merge pull request #30362 from mrc0mmand/cat-highlight-directives
shared: highlight directives when dumping configs
2023-12-09 18:54:46 +09:00
Zbigniew Jędrzejewski-Szmek ba056e146a Revert "packit: don't take ownership of /etc/ssh/sshd_config.d/"
This reverts commit 9f7d189923.
systemd.spec was updated in [1], so we don't need this here anymore.

[1] https://src.fedoraproject.org/rpms/systemd/c/245a2587e095a08a61af4e48f7daa57dee3629e6
2023-12-08 19:12:19 +00:00
Frantisek Sumsal e23fc070e2 test: backup /etc/udev/udev.conf only if it exists
On Fedora systemd recently moved all of its configuration files to
/usr/lib/ [0], so make sure we account for this case as well.

[   42.450325] testsuite-17.sh[800]: + mkdir -p /run/udev/rules.d
[   42.466504] testsuite-17.sh[800]: + cp -f /etc/udev/udev.conf /etc/udev/udev.conf.bckp
[   42.503348] testsuite-17.sh[802]: cp: cannot stat '/etc/udev/udev.conf': No such file or directory

[0] https://src.fedoraproject.org/rpms/systemd/c/29eb35530b29232eed65718d0cd96d67cd7ffd6b?branch=rawhide
2023-12-08 18:38:41 +01:00
Frantisek Sumsal ad23ff13de test: reset systemd-udevd.service restart counter
Since we restart systemd-udevd here a couple of times, we might hit the
rate limit in later tests:

[   26.028355] testsuite-17.sh[2074]: + udevadm control -e
[   26.028355] testsuite-17.sh[2074]: + udevadm control -l emerg
[   26.126160] systemd[1]: systemd-udevd.service: Start request repeated too quickly.
[   26.126213] systemd[1]: systemd-udevd.service: Failed with result 'start-limit-hit'.
[   26.140310] systemd[1]: Failed to start systemd-udevd.service.
[   26.140897] systemd[1]: systemd-udevd-control.socket: Failed with result 'service-start-limit-hit'.
[   26.141286] systemd[1]: systemd-udevd-kernel.socket: Failed with result 'service-start-limit-hit'.
[   26.142225] testsuite-17.sh[2074]: + udevadm control -l alert
[   26.149206] udevadm[2088]: Failed to send request to set log level: No such file or directory

Follow-up to: 6ef512c0bb
2023-12-08 18:14:05 +01:00
Mike Yuan b041175e08 core/executor: save argv for later use by rename_process()
Partially fixes #30352
2023-12-08 21:49:27 +08:00
Mike Yuan c0e82e3a23 core/exec-invoke: voidify one rename_process call 2023-12-08 19:46:53 +08:00
Daan De Meyer 4ae703b2b5 repart: Don't look for --make-ddi= definitions inside --root=
It doesn't really make sense to go looking for these inside the
given root directory. While we should resolve specifiers and such
based on the given root directory, let's look up the image definitions
on the host system as there's a good chance they're coupled to the
repart version we're using so there's all kinds of chances for problems
if we use the definitions from the image we're building instead of those
from the host.
2023-12-08 09:33:24 +01:00
Luca Boccassi 6c75eff6af core: create workdir/upperdir when mounting a Type=overlay mount unit
So far we created the target directory, and the source for bind mounts,
but not workdir/upperdir for overlays, so it has to be done separately
and strictly before the unit is started, which is annoying. Check the
options when creating directories, and if upper/work directories are
specified, create them.
2023-12-08 11:22:14 +09:00
Frantisek Sumsal fe6e0cfa19 install: don't translate unit instances to paths when reenabling them
For unit instances install_info_discover() returns path to the template,
which then generates confusing errors when passed to
do_unit_file_enable():

~# build/systemctl --root=/tmp/systemctl-test.N9ysbz reenable templ1@two.service
Unit name: templ1@two.service; p: /etc/systemd/system/templ1@.service
Removed "/tmp/systemctl-test.N9ysbz/etc/systemd/system/services.target.wants/templ1@two.service".
Failed to reenable templ1@.service, destination unit services.target is a non-template unit.

This can also be seen with a different reproducer using getty@.service
and a simple bind mount to / - there's no error this time, but it tries
to create a symlink for the default instance (from DefaultInstance=tty1),
which is also incorrect:

~# SYSTEMD_LOG_LEVEL=debug systemctl --root /mnt/bindroot/ reenable getty@test.service
Symlink /mnt/bindroot/etc/systemd/system/getty.target.wants/getty@tty1.service → /usr/lib/systemd/system/getty@.service already exists

Follow-up to: 29a7c59abb
Resolves: #24740
2023-12-08 11:20:12 +09:00
Luca Boccassi ebc7510380 core: relax dependency on RootImage= storage from Requires= to Wants=
If a unit is running in an image and wants to survive a soft-reboot,
then it can't be deactivated by the storage of the image going away.
Relax the dependency to a Wants=. Access to the image is not needed
when the unit is running anyway, so downgrade to Wants=.
2023-12-08 11:16:31 +09:00
Luca Boccassi ae7482b994 core: do not make private /dev/ read-only too soon
The read-only bit is flipped after setting up all the mounts, so that
bind mounts can be added. Remove the early config, and add a unit
test.

Fixes https://github.com/systemd/systemd/issues/30372
2023-12-08 11:09:14 +09:00
Daan De Meyer 0122c7d060 repart: Re-open file descriptor to partition target after mkfs
The mkfs binary might unlink the path we give it and replace it with
a new file so let's make sure that our fd points to any new file rather
than the old deleted file.

Specifically this fixes erofs partition generation.
2023-12-08 10:59:36 +09:00
Mike Yuan 3b25958e64 tmpfiles.d/systemd-nologin.conf: use f+ instead of F (deprecated)
Fixes #30368
2023-12-08 10:58:05 +09:00
Nick Rosbrook cd3207491d firstboot: remove /etc/localtime on --reset
The --reset option is supposed to remove all files configured by
firstboot, but currently it does not remove /etc/localtime.
2023-12-08 10:57:23 +09:00
aslepykh a6f1551fe7 test: avoid NO_CAST.INTEGER_OVERFLOW in test-oomd-util (#30365)
The  `.mem_total` variable has `uint64_t` type, therefore, when multiplying the number
`20971512` by the number `1024` with the suffix `U`, we will not get the expected result of
`21,474,828,288`, since the number `20971512` without an explicit type indication has
`uint32_t` type.

First, multiplication will occur in accordance with the `uint32_t` type; this operation will
cause a **type overflow**, and only then will this result be assigned to a `uint64_t` type
variable.

It's worth adding the `UL` suffix to the number `20971512` to avoid **overflow**.

Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE. 
Author A. Slepykh.
2023-12-08 10:54:52 +09:00
Mike Yuan 513412a69c various: don't log synthetic EIO for fwrite
Follow-up for f9568765d4
2023-12-08 10:49:08 +09:00
Shulhan 59b13e07f2 man: correct the path for location of "machinectl edit" setting file
The correct path where setting file located should be
"under /etc/systemd/nspawn", not "under /etc".
2023-12-07 14:51:05 +00:00
Frantisek Sumsal f57d06c308 analyze: dump system config files with highlighted sections/directives 2023-12-07 15:35:54 +01:00
Frantisek Sumsal 22b0b7bfbf shared: highlight directives when dumping configs
We already highlight sections and "de-highlight" comments, so let's add
the last piece of the puzzle and highlight the configuration directives
to visually distinguish them from the values.

Closes: #13416
2023-12-07 15:35:54 +01:00
Frantisek Sumsal 9f7d189923 packit: don't take ownership of /etc/ssh/sshd_config.d/
7e3607996a creates a symlink under /etc/ssh/sshd_config.d/ and with
current Rawhide RPM stuff the systemd RPM tries to take ownership of
that directory which conflicts with the openssh-server package. Let's
temporarily tweak the regex in split-files.py until this changes makes
it to Rawhide.
2023-12-07 10:30:44 +00:00
Yu Watanabe 786a337817 Merge pull request #30060 from poettering/analyze-archs
analyze: add "archs" verb that lists all known architectures
2023-12-07 15:47:30 +09:00
Frantisek Sumsal 4207a5577a journalctl: don't skip over messages not matching the cursor
When --after-cursor=/--cursor-file= is used together with a journal
filter, we still skipped over the first matching entry even if it wasn't
the entry the cursor points at, thus missing one "valid" entry
completely. Let's fix this by checking if the entry cursor after seeking
matches the user provided cursor, and skip to the next entry only when
the cursors match.

Resolves: #30288
2023-12-07 13:31:25 +09:00
Yu Watanabe 65cf964662 Merge pull request #30312 from yuwata/journal-cleanups
journal: several cleanups
2023-12-07 13:23:06 +09:00
Daan De Meyer dd78141c53 nspawn: Check later whether to keep/drop CAP_NET_BIND_SERVICE
Currently the check doesn't take any settings from nspawn settings
files into account, so let's delay the check until after we've
loaded any settings file.
2023-12-06 23:07:26 +00:00
Daan De Meyer b952663cd1 gpt-auto-generator: Pass cryptsetup credentials to cryptsetup
cryptsetup reads a bunch of credentials now but we don't pass import
those in any service units yet. Let's pass through all cryptsetup
prefixed credentials to the systemd-cryptsetup@root instance.
2023-12-06 23:37:32 +01:00
Zbigniew Jędrzejewski-Szmek d50bf46f19 Merge pull request #30322 from YHNdnzj/hibernate-improvements
A few improvements for hibernate-util/hibernate-resume
2023-12-06 22:29:43 +01:00
Zbigniew Jędrzejewski-Szmek 0d08149801 Merge pull request #30316 from mrc0mmand/revert-journal-upload-user
Revert "sysusers.d: create the user for systemd-journal-upload.service"
2023-12-06 22:28:34 +01:00
Zbigniew Jędrzejewski-Szmek 34f4fcb59f Merge pull request #30302 from keszybz/systemd-edit-stdin
systemctl edit --stdin
2023-12-06 22:28:02 +01:00
Zbigniew Jędrzejewski-Szmek fd72d1e794 Merge pull request #30085 from YHNdnzj/networkctl-edit-runtime
networkctl: introduce --runtime for editing network config under /run/
2023-12-06 22:27:01 +01:00
Lennart Poettering 4482ea0c24 Merge pull request #30271 from YHNdnzj/executor-cloexec
fdset,core/executor: ocloexecification ™️
2023-12-06 22:26:40 +01:00
Zbigniew Jędrzejewski-Szmek bfa95c369a Merge pull request #29987 from yuwata/network-bridge-vlan
network: remove unnecessary bridge vlan IDs
2023-12-06 22:25:42 +01:00