1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-26 14:04:03 +03:00

76949 Commits

Author SHA1 Message Date
Daan De Meyer
b53f2d5ed8 pcrlock: Take VirtualSize > SizeOfRawData into account
If VirtualSize > SizeOfRawData, measure extra zeros to take into
account the extra zeros also measured by the stub.
2024-10-21 17:22:35 +02:00
Daan De Meyer
0005411352 measure: Take SizeOfImage into account as well for .linux section
Same change as https://github.com/systemd/systemd/pull/34583 but for
systemd-measure. Otherwise we end up with PCR policy digest mismatches
as systemd-stub will measure the full virtual size of the kernel image
after it has been loaded while systemd-measure will disregard the extra
size introduced by SizeOfImage.

While ideally the stub would only measure the data that's actually on
disk and not the uninitialized data introduced by VirtualSize > SizeOfRawData,
we want newer systemd-measure to work with older stubs so we have to fix
systemd-measure and can't fix this in the stub.
2024-10-20 13:22:54 +02:00
Yu Watanabe
88bbf187a9 TEST-55-OOMD: workaround for kernel regression in 6.12-rcX
This ignore failures when running on kernel-6.12-rcX, which has a
regression in the kernel scheduler that breaks PSI.

From https://github.com/systemd/systemd/issues/32730#issuecomment-2415312260
> There is a known scheduler bug in 6.12 that breaks psi. It leaks
> "running tasks" counts, which matches your symptoms of seeing partial
> pressure only.
>
> Do you see "inconsistent task state" warnings in dmesg | grep psi?
>
> A fix is queued in the scheduler tree, should be sent to Linus shortly:
> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=c6508124193d42bbc3224571eb75bfa4c1821fbb

Workaround for #32730.
2024-10-19 12:34:48 +09:00
Yu Watanabe
12e58ab18d
Merge pull request #34820 from poettering/dissect-image-uclean
dissect-image: generate better log message for EUCLEAN dissect error
2024-10-19 02:15:01 +09:00
Zbigniew Jędrzejewski-Szmek
2c23b7054f
Merge pull request #34783 from keszybz/man-nspawn-private-users
Change systemd-nspawn man page to strongly recommend private users
2024-10-18 18:44:05 +02:00
Zbigniew Jędrzejewski-Szmek
487d412327 tree-wise: use "lightweight" spelling
Both spellings were used, but the dictionary says that "lightweight"
is the standard spelling.
2024-10-18 18:43:40 +02:00
Zbigniew Jędrzejewski-Szmek
9b1a5bc365 man/systemd-nspawn: emphasise that user namespaces are strongly recommended 2024-10-18 18:43:40 +02:00
Luca Boccassi
2f6fe4e113 test: customize /etc/os-release instead of /usr/lib/os-release
As per spec image builders can create a local /etc/os-release
with per-image IDs, so modify that one instead of the original
one in /usr/lib. For example we do this when we build debian
unstable images in mkosi.
2024-10-18 17:03:16 +01:00
Lennart Poettering
2186334e00 dissect-image: generate better log message for EUCLEAN dissect error
Fixes: #31799
2024-10-18 14:16:53 +02:00
Lennart Poettering
620a03f669 dissect-image: uppercase first char of dissect error message systematically
Some of the log message stricts used proper uppercasing, others didn't.
Fix that to make it uniform.
2024-10-18 14:16:15 +02:00
Lennart Poettering
562f7bde88 resolved: refresh resolv.conf files when link goes away
This might have the effect that some DNS server or search domain
disappears, hence rewrite the relevant files.

See: #27543
2024-10-18 20:58:50 +09:00
Luca Boccassi
77579c66ef mkosi: update opensuse commit reference and switch branch
'factory' was reset to 8 years ago
2024-10-18 12:32:08 +01:00
Lennart Poettering
2e2826d7d9 resolved: add some more comments to varlink interface
This is by no means complete, but gets us a bit closer.
2024-10-18 19:17:36 +09:00
Lennart Poettering
af7674f4ad networkd: raise limits on number of address 8x
Limits should be enforced, but not in a way real setups collide with
them.

There have been multiple reports that current limits are too low, hence
raise them 8x.

Fixes: #24852
2024-10-18 19:13:49 +09:00
Lennart Poettering
5fc46d7b87 update TODO 2024-10-18 09:54:32 +02:00
Lennart Poettering
3cc52015a8 update TODO 2024-10-18 09:23:54 +02:00
Adrian Vovk
fafc3c2d5c GREEDY_REALLOC_APPEND: Make more type safe
Previously, GREEDY_REALLOC_APPEND would compile perfectly fine and cause
subtle memory corruption if the caller messes up the type they're passing
in (i.e. by forgetting to pass-by-reference when appending a Type* to an
array of Type*). Now this will lead to compilation failure
2024-10-18 14:22:58 +09:00
Lennart Poettering
49fd31df58
Merge pull request #34801 from poettering/async-sd-notify-close
pid1: close unexpected fds received via sd_notify() asyncronously
2024-10-17 14:43:19 +02:00
Lennart Poettering
67fd2f0ef3
Merge pull request #34795 from YHNdnzj/bump-kernel-baseline-5.4
Bump kernel baseline to 5.4
2024-10-17 14:42:25 +02:00
Lennart Poettering
9da582984b udev: consider serial ports as unconfigured only if both port and iomem_base sysattr is zero
Various archs do not know the "io port" concept, hence check for the
"iomem" configuration, too.

Fixes: #34800
2024-10-17 18:59:38 +09:00
Lennart Poettering
4b3d7feb19 pid1: close fds we receive via sd_notify() and cannot make use of asynchronously
This addresses #11112 fully. It mostly was addressed by
99620f457ed0886852ba18c9093b59767299121c already, but for fds not
even passed to the fdstore, this adds the missing asynchronous close
codepath.

Fixes: #11112
2024-10-17 09:50:57 +02:00
Lennart Poettering
33dd894546 fdset: optionally, close remaining fds asynchronously 2024-10-17 09:48:05 +02:00
Yu Watanabe
5df9ebad70
Merge pull request #34597 from ryantimwilson/oomd-pressure-duration
Add ManagedOOMMemoryPressureDurationSec override setting for units
2024-10-17 14:30:13 +09:00
Ryan Wilson
f436c2195a Reformat load-fragment-gperf.gperf.in
This commit reformats load-fragment-gperf.gperf.in after changes
made for adding the ManagedOOMMemoryPressureDurationSec= property.
2024-10-16 20:12:47 -07:00
Ryan Wilson
63d4c4271c cgroup: Add ManagedOOMMemoryPressureDurationSec= override setting for units
This will allow units (scopes/slices/services) to override the default
systemd-oomd setting DefaultMemoryPressureDurationSec=.

The semantics of ManagedOOMMemoryPressureDurationSec= are:
- If >= 1 second, overrides DefaultMemoryPressureDurationSec= from oomd.conf
- If is empty, uses DefaultMemoryPressureDurationSec= from oomd.conf
- Ignored if ManagedOOMMemoryPressure= is not "kill"
- Disallowed if < 1 second

Note the corresponding dbus property is DefaultMemoryPressureDurationUSec
which is in microseconds. This is consistent with other time-based
dbus properties.
2024-10-16 20:12:38 -07:00
Ryan Wilson
c43ef2e883 oomd: Refactor DefaultMemoryPressureDurationSec= to use conf parser
Parsing DefaultMemoryPressureDurationSec= is currently split between
conf parser, main() and manager_start() methods. This commit centralizes
parsing and bounds checking logic within a single custom conf parser
function.
2024-10-16 20:05:48 -07:00
Yu Watanabe
4ce436fccf
Merge pull request #34797 from yuwata/test-mount
TEST-60: several cleanups and potential performance improvement
2024-10-17 07:23:36 +09:00
Yu Watanabe
73970cdcd1 TEST-60-MOUNT-RATELIMIT: disable journal ratelimiting
Otherwise, journal check in testcase_mount_ratelimit() may fail and we
need to wait 2 minutes.
2024-10-17 01:53:45 +09:00
Yu Watanabe
805d0eed0b TEST-60-MOUNT-RATEMINIT: split into small test cases
Then, use run_testcases().
2024-10-17 01:53:45 +09:00
Yu Watanabe
c5928a7684 TEST-60-MOUNT-RATELIMIT: wait for mount unit being started or stopped 2024-10-17 01:53:45 +09:00
Yu Watanabe
cadb074b9c
Merge pull request #34793 from yuwata/journalctl-copy-arguments
journalctl: copy arguments
2024-10-17 01:52:03 +09:00
Mike Yuan
102efcd312
Bump kernel recommended baseline to v5.4 2024-10-16 18:06:11 +02:00
Mike Yuan
7d3ae178fb
NEWS: rearrange incompatible changes, separate from Future Removals 2024-10-16 18:01:39 +02:00
Yu Watanabe
23615aca62 doc: fix typo
Follow-up for b3b7cf8b7c35df14c6eb4f79da1a241dc0aa8c7e.
2024-10-17 00:49:59 +09:00
Yu Watanabe
cd4b71b861 machine: fix typo
Follow-up for ad0d4f9a4c340f3fd5f0fcf646f7c762722737cd.
2024-10-17 00:48:43 +09:00
Yu Watanabe
6a6c0dab30 pidref: fix typo
Follow-up for de34ec188c4d4f682a337445aa7753259cd7f821.
2024-10-17 00:46:45 +09:00
Yu Watanabe
e776ab8e21 ukify: fix typo
Follow-up for 02eabaffe98c9a3b5dec1c4837968a4d3e2ff7db.
2024-10-17 00:44:41 +09:00
Yu Watanabe
8333badeb2
Merge pull request #34381 from DaanDeMeyer/extension-submounts
sysext: Deal with nested mounts properly
2024-10-17 00:11:17 +09:00
Luca Boccassi
5f911aca84 Fix maybe-uninitialized warnings with gcc 14.2
../src/resolve/resolved-bus.c: In function ‘call_link_method’:
../src/resolve/resolved-bus.c:1769:16: warning: ‘l’ may be used uninitialized [-Wmaybe-uninitialized]
 1769 |         return handler(message, l, error);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
../src/resolve/resolved-bus.c:1755:15: note: ‘l’ was declared here
 1755 |         Link *l;
      |               ^
../src/resolve/resolved-bus.c: In function ‘bus_method_get_link’:
../src/resolve/resolved-bus.c:1828:13: warning: ‘l’ may be used uninitialized [-Wmaybe-uninitialized]
 1828 |         p = link_bus_path(l);
      |             ^~~~~~~~~~~~~~~~
../src/resolve/resolved-bus.c:1816:15: note: ‘l’ was declared here
 1816 |         Link *l;
      |               ^
2024-10-16 16:07:40 +02:00
xujing
cc2030f928 pid1: add env var to override default mount rate limit interval
Similar to 24a4542c. 24a4542c can only be set 1 in 1s at most,
sometimes we may need to set to something else(such as 1 in 2s).
So it's best to let the user decide.

This also allows users to solve #34690.
2024-10-16 16:07:26 +02:00
Yu Watanabe
ce2b92e8b0 journalctl: do not directly use optarg, but copy optarg before use
Otherwise, if the process forks child processes, then the arguments
cannot be used from them.
To avoid potential issues like the one fixed by
6d3012bab4ce4c1ed260598d05b4e9f2ea471658.
2024-10-16 23:06:42 +09:00
Luca Boccassi
6eb8d2bc3a
Merge pull request #34791 from poettering/live-mount-tweak
tweaks to live mount property logging
2024-10-16 14:43:14 +01:00
Daan De Meyer
ddbddebe0c sysext: Deal with nested mounts properly
Nested mounts should be carried over from host to overlayfs to overlayfs
(and back to host if unmerged). Otherwise you run into hard to debug
issues where merging extensions means you can't unmount those nested mounts
anymore as they are hidden by the overlayfs mount.

To fix this, before unmerging any previous extensions, let's move the nested
mounts from the hierarchy to the workspace, then set up the new hierachy, and
finally, just before moving the hierarchy into place, move the nested mounts
back into place.

Because there might be multiple nested mounts that consists of one or more
mounts stacked on top of each other, we make sure to move all stacked mounts
properly to the overlayfs. The kernel doesn't really provide a nice way to do
this, so we create a stack, pop off each mount onto the stack and then pop from
the stack again to the destination to re-establish the stacked mounts in the same
order in the destination.
2024-10-16 14:18:24 +01:00
Daan De Meyer
5e81ce42e7 sysext: Run unmerge in a subprocess
Preparation for later commit where we need a private mount namespace
for unmerge.
2024-10-16 14:18:24 +01:00
Yu Watanabe
d0ad4e88d4 journalctl: erase verify key before free
Even optarg is erased, copied string was not erased.
Let's erase the copied key for safety.
2024-10-16 20:53:57 +09:00
Daan De Meyer
04f0a17e92 mount-util: Make get_submounts() a public function 2024-10-16 11:37:57 +01:00
Yu Watanabe
c256fb06d7
Merge pull request #34756 from yuwata/test-oomd-cleanups
TEST-55-OOMD: several cleanups
2024-10-16 18:39:33 +09:00
Yu Watanabe
7693e8d9d0 test: fix TOCTOU in test-json
Follow-up for 60ae3b86fb52d545b279e3927d2214462385e734.
Fixes CID#1563782.
2024-10-16 10:06:57 +01:00
Lennart Poettering
d24d546dd1 core: move debug logging from _can_live_mount() functions to caller
Let's debug log the returned dbus error where we want the logging, but
don't log it, where we don't.

This removes the noisy logging from the property handler for the
CanLiveMount property, but keeps it in place for the MountImage() method
call where we want it.

Alternative to #34175

Follow-up for 5162829ec87df20c7af763bdf274735bf9e53552 and 1cafbecabecc619b4e147abd9925282d0ff323bd
2024-10-16 10:50:15 +02:00
Luca Boccassi
dc851222cd core: one more Mount -> LiveMount rename
Missed by earlier search-and-replace

Follow-up for 5162829ec87df20c7af763bdf274735bf9e53552
2024-10-16 10:49:41 +02:00