1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-10 16:58:28 +03:00

68047 Commits

Author SHA1 Message Date
Emil Velikov
5b45fad4fc bootctl, sd-boot: cross document the menu-hidden/force ABI
Document the current state and how we got here.

v2:
 - rewrap command to 109 columns

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-10-17 15:01:27 +01:00
Emil Velikov
b9de6a7b94 docs/BOOT_LOADER_INTERFACE: mention that menu-* options are strings
To be on the safe side, explicitly mention that apart from the numerical
entries we can allow string ones.

Implementation-wise, bootctl will use internal numerical values that
match sd-boot's ABI. The latter also accepts the string options.

Going forward we'd like to avoid adding more internal magic and be more
explicit.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-10-17 14:59:26 +01:00
Frantisek Sumsal
41231bec0c test: don't restart journal-upload on an expected fail
In c08bec1587 the journal-upload unit gained Restart=on-fail, which goes
against this one particular test that expects the unit to fail, making
the test flaky. Let's disable the automatic restarts just for this test
to make it stable once again.
2023-10-17 14:55:12 +01:00
Lennart Poettering
0ff6ff2b29 tree-wide: port various parsers over to read_stripped_line() 2023-10-17 14:36:54 +02:00
Lennart Poettering
c56cb33f09 fileio: add read_stripped_line() as trivial read_line() + strstrip() combo 2023-10-17 14:36:54 +02:00
Mike Yuan
74b2c22fd7 docs/FILE_DESCRIPTOR_STORE: NotifyAccess=cgroup -> all
Fixes #29590
2023-10-17 11:59:38 +01:00
Mike Yuan
707ecf1423 core/mount: allow disabling stop propagation from backing device
With file systems that have volume management functionalities or
volume managers like LVM, it's fine for the backing device of a mount
to disappear after mounted. Currently, we enforce BindsTo= or
StopPropagatedFrom= on the backing device, thus prohibiting such
cases. Instead, let's make this configurable through x-systemd.device-bound.

Closes #16801
Closes #29543
2023-10-17 11:23:36 +01:00
Yu Watanabe
dced8fe402
Merge pull request #29588 from keszybz/net-naming-scheme-255
Untangle the net-naming-scheme mess with SR-IOV-R "representor" information
2023-10-17 19:18:29 +09:00
Matthias Schiffer
84ff5894db rules: add mtd/by-name symlinks
Add persistent symlinks for MTD devices like SPI-NOR flash, based on the
partition names specified on the cmdline, in a Device Tree, or by other
MTD partitioning parser drivers. Using the persistent name can be
preferable to using the numbered /dev/mtdX device, as the latter can
change depending on probe order or when partitioning has changed.
2023-10-17 11:43:30 +02:00
Daan De Meyer
37ba73b1b2
Merge pull request #28373 from DaanDeMeyer/udevadm-query
Add --json and filtering options for --export-db to udevadm info
2023-10-17 10:16:43 +02:00
Jan Janssen
79f4870384 meson: Fix unused format parameter warning 2023-10-17 12:15:07 +08:00
Nick Rosbrook
869c1cf88f nspawn: check if we can set CoredumpReceive= before doing so
If systemd-nspawn is newer than the running systemd, we might try to set
CoredumpReceive=yes when systemd doesn't know about it yet. Try and
check if the running systemd is aware of this setting, and if not, don't
try and use it.

Fixes 411d8c72ec
("nspawn: set CoredumpReceive=yes on container's scope when --boot is set").
2023-10-16 22:53:50 +02:00
Zbigniew Jędrzejewski-Szmek
386256e699 test: make sure that the default naming scheme name maps back to itself
We were testing the that C constant is defined, but we weren't actually testing
that the string name maps back to itself. This would catch the issue fixed by
the grandparent commit.

The test for the default name is moved to the test file to keep the tests
together. The define is renamed to not have "_TEST" in the name. The issue here
is complicated by the fact that we allow downstreams to inject additional
fields, so we don't know the name of the default scheme if it not set with
-Ddefault-net-naming-scheme=, so _DEFAULT_NET_NAMING_SCHEME[_TEST] is not
defined in all cases, but at least in principle it could be used in other
places. If it exists, it is fully valid.
2023-10-16 21:21:54 +02:00
Zbigniew Jędrzejewski-Szmek
8b01831950 shared/netif-naming-scheme: align tables 2023-10-16 21:21:54 +02:00
Zbigniew Jędrzejewski-Szmek
64f2cf77d1 NEWS, man: move description of SR-IOV-R net naming to v255
https://github.com/systemd/systemd/pull/29582 adds the "v254" name. This also
changes what the default is and what "latest" refers to. Without the name, the
code could be enabled via runtime configuration. Nevertheless, it could be
enabled at compilation time. In other words:
  meson setup build -Ddefault-net-naming-scheme=v254
would work, but
  net.naming-scheme=v254
would fail.

It is possible that people were using the compile-time override, so I think
we should allow "v254" scheme to stay and clearly document that it wasn't the
default.

Unfortunately, unless people manually introduced the compile-time override, we
were never actually testing the new code too. So all the pull request testing
was not useful.
2023-10-16 21:21:54 +02:00
Antonio Alvarez Feijoo
acd3f69217 net_id: add missing naming scheme name for v254
Follow up to 88d2bda8120dcc375a90e28b64de06b9646ab3b6
2023-10-16 21:19:54 +02:00
Lennart Poettering
e0eb051f95
Merge pull request #29546 from poettering/run-invoc-id
run: output invocation ID when starting service and scope units
2023-10-16 19:00:18 +02:00
Daan De Meyer
a6b4b2fa01 udev: Enable filtering the output of udevadm info --export-db
Let's support the same filtering options that we also support in
udevadm trigger in udevadm info to filter the devices produced by
--export-db.

One difference is that all properties specified by --propery-match=
have to be satisfied in udevadm info unlike udevadm trigger where just
one of them has to be satisfied.
2023-10-16 17:02:00 +02:00
Lennart Poettering
cde8cc946b
Merge pull request #29272 from enr0n/coredump-container
coredump: support forwarding coredumps to containers
2023-10-16 16:13:16 +02:00
Luca Boccassi
7c83d42ef8 mount-util: use mount beneath to replace previous namespace mount
Instead of mounting over, do an atomic swap using mount beneath, if
available. This way assets can be mounted again and again (e.g.:
updates) without leaking mounts.
2023-10-16 14:33:47 +01:00
Lennart Poettering
f5e6f3117c
Merge pull request #29548 from poettering/sysext-varlink
sysext: add a varlink IPC interface
2023-10-16 15:10:24 +02:00
Lennart Poettering
6c16c87baf
Merge pull request #29562 from poettering/namespace-fuckup-fix
namespace: normalize memory management of mount list
2023-10-16 15:10:08 +02:00
Lennart Poettering
4d4c4ae9cb update TODO 2023-10-16 14:30:11 +02:00
Lennart Poettering
49a510eba2 run: pin the unit we invoke continously while we are running
We read properties of the unit, hence it shouldn't be GC'ed as long as
we run. Hence, let's just set AddRef unconditionally for the units we
create.
2023-10-16 14:30:11 +02:00
Lennart Poettering
7693661a84 run: output invocation ID when starting service and scope units 2023-10-16 14:30:11 +02:00
Lennart Poettering
7fcd134399 namespace: add // FIXME comments on some suplicate logging
@bluca thinks duplicate logging as a feature, hence simply mark these
log messages as // FIXME, but don't bother.
2023-10-16 13:35:36 +02:00
Lennart Poettering
d4f0878e02 namespace: downgrade log messages to LOG_DEBUG
almost all code in namespace.c only logs at debug level as it is
"library-like" code. But there are some outliers. Adjust them to match
the rest of the code

(Well, there are some left)
2023-10-16 13:35:28 +02:00
Lennart Poettering
283eb4fdd1 namespace: don't retry to a mount if we didn't actually manage to create an inode 2023-10-16 13:18:03 +02:00
Lennart Poettering
3c36f7636c namespace: downgrade log message of error we ignore to LOG_WARNING
frankly, the log message shouldn't be there at all, but the error path
be propagated up, with a recognizable error code. But apparently this is
important to @bluca.
2023-10-16 13:17:59 +02:00
Lennart Poettering
3d1b999b53 namespace: convert ProtectHostname= logic to a static table
Let's simplify things, and make them more alike handling more similar to
the other ProtectXYZ= settings.
2023-10-16 13:12:48 +02:00
Daan De Meyer
d6e5f170ef Add --json switch to udevadm info
This allows getting the udevadm info --export-db and query "all" output
as JSON.
2023-10-16 13:01:54 +02:00
Lennart Poettering
063c977a79 namespace: normalize memory management of mount list
So far we calculated exactly how many mounts we will generate, which is
a bit fragile, and easy to get wrong.

Let's normalize this, and grow the array of mounts as we need.

Various other modernizations while we are at it, such as FOREACH_ARRAY
usage, or `_cleanup_` usage.
2023-10-16 12:17:56 +02:00
Lennart Poettering
dbf9e04591 update TODO 2023-10-16 12:08:40 +02:00
Lennart Poettering
f5151fb459 sysext: make some calls available via varlink 2023-10-16 12:08:39 +02:00
Lukas
c7fda70716 stub: NULL checks for DeviceHandle and FilePath
UKIs may be loaded in a way, that there can not be a device handle to
the filesystem, that contains the image, for example when using a
bootloader to load the image from a partition with a file system that is
not supported by the firmware.

With the current systemd stub, this causes a failed assertion, because
stub gets passed a NULL DeviceHandle and FilePath. Inserting two
explicit checks enables proper boot even in this case.

Fixes: #29331
2023-10-16 10:44:03 +02:00
Daan De Meyer
36d87065f2
Merge pull request #29558 from mrc0mmand/varlinkctl-tests
varlink: add a couple of tests + accompanying fixes
2023-10-16 09:49:42 +02:00
Vishal Chillara Srinivas
57cf92f741 resolve: fix no mDNS announcement after probing
According to RFC 6762 section 8, an mDNS responder is supposed to announce its
records after probing.
Currently, there is a check in dns_scope_announce which returns if there are any
pending transactions. This prevents announcements from being sent out even if there
are pending non-probe transactions.

To fix this, return only if there are active probe transactions.
2023-10-16 09:21:51 +02:00
Jan Janssen
e9e40862de fuzz: Add fuzzer for efi conf/osrel parsing 2023-10-15 17:41:25 +02:00
Jan Janssen
5ce851ab99 boot: Fix OOB reads in conf/osrel parsing 2023-10-15 17:41:25 +02:00
Jan Janssen
f17670a0c3 boot: Move line_get_key_value to efi-string
No functional changes.
2023-10-15 17:41:25 +02:00
Jan Janssen
539d000740 boot: Move parse_boolean to efi-string
No functional changes.
2023-10-15 17:41:25 +02:00
Jan Janssen
ec9d3fc51c test: Remove unnecessary test prefix 2023-10-15 12:10:37 +01:00
Frantisek Sumsal
abcf59970d core: don't downgrade multi-state settings to boolean
Protect{Home,System,Proc,Subset}= are not booleans, so make sure we use
the intended value instead of just true/false.

See: https://github.com/systemd/systemd/pull/29552
Follow-up to: 79d956d
2023-10-15 14:04:28 +08:00
Frantisek Sumsal
d04af6aaca docs: update fuzzers docs 2023-10-14 17:55:29 +02:00
Frantisek Sumsal
78ea6a549f test: update Ubuntu CI instructions 2023-10-14 17:40:07 +02:00
Frantisek Sumsal
e97f2dfde4 varlink: drop dead code
'#' is never part of either allowed_chars or allowed_delimiters when we
parse structs/enums.
2023-10-14 17:40:07 +02:00
Frantisek Sumsal
a972870ea2 varlink: use int for log level 2023-10-14 17:40:07 +02:00
Frantisek Sumsal
779e7b4410 varlink: don't panic on malformed method definition 2023-10-14 17:40:07 +02:00
Frantisek Sumsal
13de7c7e66 test: add a fuzzer for the varlink IDL stuff 2023-10-14 17:40:07 +02:00
Frantisek Sumsal
4b2391c4e3 test: add a couple of tests for varlinkctl 2023-10-14 17:40:07 +02:00