]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 weeks agomeson: bump version to 258.1 v258.1
Zbigniew Jędrzejewski-Szmek [Mon, 13 Oct 2025 15:01:55 +0000 (17:01 +0200)] 
meson: bump version to 258.1

3 weeks agohwdb: update to main@{2025-10-13}
Zbigniew Jędrzejewski-Szmek [Mon, 13 Oct 2025 10:28:13 +0000 (12:28 +0200)] 
hwdb: update to main@{2025-10-13}

git restore -s origin/main hwdb.d/ test/hwdb.d && git checkout hwdb.d/meson.build

This primarily reverts some changes made in the previous update.

3 weeks agosd-id128: Drop _sd_const_ from sd_id128_in_setv()
Daan De Meyer [Mon, 13 Oct 2025 08:43:16 +0000 (10:43 +0200)] 
sd-id128: Drop _sd_const_ from sd_id128_in_setv()

Both the const and pure attributes disallow modifying input arguments
but sd_id128_in_setv() clearly modifies its ap input argument by iterating
over it with va_arg() so drop the _sd_const_ attribute from
sd_id128_in_setv().

(cherry picked from commit 675fa49f69943b0f009c973ed3d1e90afc1d88b1)

3 weeks agotimer: don't run service immediately after restart of a timer
Lukas Nykryn [Tue, 9 Sep 2025 13:24:22 +0000 (15:24 +0200)] 
timer: don't run service immediately after restart of a timer

When a timer is restarted, don't reset the last_trigger field.
This prevents the timer from triggering immediately.

Fixes: #31231
(cherry picked from commit 3fc44a0f68412b649e16f12ff2f97a36c615457d)

3 weeks agotest: check the next elapse timer timestamp after deserialization
Frantisek Sumsal [Tue, 23 Sep 2025 19:04:12 +0000 (21:04 +0200)] 
test: check the next elapse timer timestamp after deserialization

When deserializing a serialized timer unit with RandomizedDelaySec= set,
systemd should use the last inactive exit timestamp instead of current
realtime to calculate the new next elapse, so the timer unit actually
runs in the given calendar window.

Provides coverage for:
  - https://github.com/systemd/systemd/issues/18678
  - https://github.com/systemd/systemd/pull/27752

(cherry picked from commit f4c3c107d9be4e922a080fc292ed3889c4e0f4a5)

3 weeks agotest: restarting elapsed timer shouldn't trigger the corresponding service
Frantisek Sumsal [Tue, 23 Sep 2025 15:42:01 +0000 (17:42 +0200)] 
test: restarting elapsed timer shouldn't trigger the corresponding service

Provides coverage for:
  - https://github.com/systemd/systemd/issues/31231
  - https://github.com/systemd/systemd/issues/35805

(cherry picked from commit 5730a400fd5ee82566fe03eb832121a0d4bc26b6)

3 weeks agotest: rename TEST-53-ISSUE-16347 to TEST-53-TIMER
Frantisek Sumsal [Tue, 23 Sep 2025 12:28:33 +0000 (14:28 +0200)] 
test: rename TEST-53-ISSUE-16347 to TEST-53-TIMER

And split the existing test into a separate subtest.

(cherry picked from commit 953c347fb6f293acbd6da009646bfc071b68ddd7)

3 weeks agosysext: do not attempt to unlock images interactively
Luca Boccassi [Tue, 26 Aug 2025 18:12:53 +0000 (19:12 +0100)] 
sysext: do not attempt to unlock images interactively

These images are not using a passphrase, they are using keys
or at most TPM-based sealing (not yet implemented, for contexts).

Do not use the interactive helper, as it will block and ask the
user for a password if it fails to find the signing cert, which
is not useful for this tool.

Fixes https://github.com/systemd/systemd/issues/33179

(cherry picked from commit 09f655ad4af59ef4ff8ebd02ca5421f8901cb16b)

3 weeks agomeson: fix link-udev-shared option
Luca Boccassi [Wed, 17 Sep 2025 15:13:37 +0000 (16:13 +0100)] 
meson: fix link-udev-shared option

This doesn't work anymore, setting it to false still makes
udev link to libsystemd-shared, as an argument was mistakenly
dropped.

Follow-up for 6350d2dbd97746440b9c8303ddc140ffda568732

(cherry picked from commit 9736f634c8b61343be966114ce1c9eddaf0fa742)

3 weeks agoFix path in docs for local pcrlock.d directory
Kai Wohlfahrt [Wed, 17 Sep 2025 21:53:59 +0000 (23:53 +0200)] 
Fix path in docs for local pcrlock.d directory

(cherry picked from commit 9ba0fd9293b3be88d64199119f257b13a21caf67)

3 weeks agomountfsd: uncomment CapabilityBoundingSet= line
Lennart Poettering [Sat, 23 Aug 2025 06:08:06 +0000 (08:08 +0200)] 
mountfsd: uncomment CapabilityBoundingSet= line

Since mountfsd was added in 702a52f4b5d49cce11e2adbc740deb3b644e2de0 the
caps bounding set line was commented. That's an accident. Fix that. (We
need to add a bunch of caps to the list).

(cherry picked from commit 818bd1dfa1e4ac222b1fc5d238807e49fd1d7939)

3 weeks agocore: fix status output suppression
Lennart Poettering [Fri, 19 Sep 2025 08:13:45 +0000 (10:13 +0200)] 
core: fix status output suppression

This fixes two things: first of all it ensures we take the override
status output field properly into account, instead of going directly to
the regular one.

Moreover, it ensures that we bypass auto for both notice + emergency,
since both have the same "impact", and, don't limit this for notice
only.

(cherry picked from commit 9ecc969855ce7d8e587ea2ea0b6c3120877a7887)

3 weeks agounit: line-break overly long parameter list + add assert()
Lennart Poettering [Fri, 19 Sep 2025 08:12:52 +0000 (10:12 +0200)] 
unit: line-break overly long parameter list + add assert()

(cherry picked from commit 8e9b722b4ad94d1739810ff2792b9c03ba5c850e)

3 weeks agojob: shorten code
Lennart Poettering [Fri, 19 Sep 2025 08:12:13 +0000 (10:12 +0200)] 
job: shorten code

(cherry picked from commit 84ba8721de9d70340747758f9d028a3f9c4e302e)

3 weeks agocore/manager: honor show_status_overridden in manager_watch_jobs_next_time()
Mike Yuan [Fri, 19 Sep 2025 17:35:08 +0000 (19:35 +0200)] 
core/manager: honor show_status_overridden in manager_watch_jobs_next_time()

Prompted by #39029

(cherry picked from commit 4f8c1de21317818b8968f065435a2afb7cadf645)

3 weeks agomachine: fix crash on update from older than v258
Yu Watanabe [Sun, 21 Sep 2025 15:45:14 +0000 (00:45 +0900)] 
machine: fix crash on update from older than v258

UID entry in the machine state file is introduced in v258,
hence when a host is upgraded to v258, the field does not exist in the
file, thus the variable 'uid' is NULL.

Follow-up for 276d20018623ef14956ce87975be48da5de63f29.
Fixes #39061.

(cherry picked from commit 43cea09f95e5a051432e040c823e945b8b327ed4)

3 weeks agocore/bpf-firewall: replace unnecessary unit_setup_cgroup_runtime() with unit_get_cgro...
Yu Watanabe [Tue, 23 Sep 2025 19:45:21 +0000 (04:45 +0900)] 
core/bpf-firewall: replace unnecessary unit_setup_cgroup_runtime() with unit_get_cgroup_runtime()

Except for the test, bpf_firewall_compile() is only called by the following:
  cgroup_context_apply() -> cgroup_apply_firewall() -> bpf_firewall_compile()
and in the early stage of cgroup_context_apply(), it checks if the cgroup
runtime exists. Hence, it is not necessary to try to allocate the
runtime in bpf_firewall_compile().

(cherry picked from commit e8a5cda4714fc6fe622a03cfca6c75888d63e354)

3 weeks agocore/cgroup: make sure deserialized accounting data is not voided
Mike Yuan [Thu, 25 Sep 2025 20:28:33 +0000 (22:28 +0200)] 
core/cgroup: make sure deserialized accounting data is not voided

Currently, cgroup_path is (de-)serialized after all the cached
accounting data. This is bogus though, since unit_set_cgroup_path()
destroys the CGroupRuntime object and starts afresh, discarding
all deserialized values. This matters especially for IP accounting,
whose BPF maps get recreated on reload/reexec and the previous values
are exclusively retrievable from deserialization. Let's hence swap things
around and serialize cgroup_path first, accounting data only afterwards.

(cherry picked from commit 055a5a236c6776fa281890aa17972c6ed3a1132e)

3 weeks agocore/cgroup: realign macro line continuation
Mike Yuan [Thu, 25 Sep 2025 20:33:19 +0000 (22:33 +0200)] 
core/cgroup: realign macro line continuation

(cherry picked from commit e99f741cdf714c900fc6cafc53d19701ed6b02a1)

3 weeks agopidfd-util: add missing trailing argument for ioctl(PIDFD_GET_*_NAMESPACE)
Yu Watanabe [Fri, 10 Oct 2025 06:14:07 +0000 (15:14 +0900)] 
pidfd-util: add missing trailing argument for ioctl(PIDFD_GET_*_NAMESPACE)

Otherwise, it always fails with EINVAL.

(cherry picked from commit 608fc3fa2c4902d84fd925b328b730d3b2dbff50)

3 weeks agonspawn: correct the option name `--private-users-ownership=` when it's not expected...
n0099 [Thu, 2 Oct 2025 08:44:28 +0000 (08:44 +0000)] 
nspawn: correct the option name `--private-users-ownership=` when it's not expected value

(cherry picked from commit 613f7f26aa7524b7f2c9a6246e4ecfbecb40c4fa)

3 weeks agoshared/bootspec: parse loader.conf options added in v258
Felix Pehla [Sat, 27 Sep 2025 19:58:21 +0000 (21:58 +0200)] 
shared/bootspec: parse loader.conf options added in v258

(cherry picked from commit aaa3e6880da71c2faefb619ea7a974dab6a8443d)

3 weeks agoshared/bootspec: parse 'uki' boot entry option
Felix Pehla [Sat, 27 Sep 2025 13:01:06 +0000 (15:01 +0200)] 
shared/bootspec: parse 'uki' boot entry option

Commit e2a3d562189c413de3262ec47cdc1e1b0b13d78b (as part of #36314)
makes sd-boot recognize a 'uki' stanza in a boot loader entry and
uapi-group/specifications@3f2bd8236d7f9ce6dedf8bda9cadffd0d363cb08 adds
it to the BLS, but bootctl and other components parsing said config do
not know about it, leading to the error message
`Unknown line 'uki', ignoring.` when attempting to parse the same entry.

This commit makes it get parsed the same way that that 'efi' is.

(cherry picked from commit 4a94a1b83f8857b906bc7924b3f853768b5499b5)

3 weeks agosystemctl.xml: fix line breaks in documentation anchor links
Managor [Sat, 27 Sep 2025 11:48:23 +0000 (14:48 +0300)] 
systemctl.xml: fix line breaks in documentation anchor links

This combines two commits:
(cherry picked from commit 9f4f7f0372688127adc27f82a75db58749eb6d6e)
+
(cherry picked from commit b0fe317d14c4e9a02ff661c2ccd37f093cfda396)

3 weeks agomeasure: silence warning on TCG protocol
Christian Hesse [Fri, 10 Oct 2025 15:46:18 +0000 (17:46 +0200)] 
measure: silence warning on TCG protocol

This pops up for some people, and adds a delay on boot.

The proper fix is in #38701, but technically it is a new feature. So
let's just silence the message in v258-stable.

3 weeks agonspawn: don't try to connect to D-Bus when it's not necessary (#39045)
Aleksandr Mezin [Mon, 22 Sep 2025 10:59:38 +0000 (13:59 +0300)] 
nspawn: don't try to connect to D-Bus when it's not necessary (#39045)

`runtime_bus` is only used if `!arg_keep_unit`.

`system_bus` is additionally used if `arg_register`.

So for `!arg_register && arg_keep_unit`, none of them should be
necessary, and nspawn should be able to work without any D-Bus
connections.

Fixes https://github.com/systemd/systemd/issues/39044

Follow-up for f2f26f1527529b1ea7dcb0dba85456ac98800627

(cherry picked from commit c3d5f5f165ce7ccf8d57c4272c39d83a08279db7)

3 weeks agologin: update ACL on static device nodes again
Yu Watanabe [Tue, 23 Sep 2025 01:17:47 +0000 (10:17 +0900)] 
login: update ACL on static device nodes again

In the commit c960ca2be1cfd183675df581f049a0c022c1c802, the logic of
updating ACL on device node was moved from logind to udevd, but at that
time, mistakenly removed the logic for static nodes.

Fixes a regression caused by c960ca2be1cfd183675df581f049a0c022c1c802 (v258).
Fixes #39043.

(cherry picked from commit 2c762d90cfe7d67f10af87986ed2e6f0005eabfb)

3 weeks agoudev: move devnode_acl() back to libshared
Yu Watanabe [Tue, 23 Sep 2025 00:56:09 +0000 (09:56 +0900)] 
udev: move devnode_acl() back to libshared

This effectively reverts 1abb592f2f886913492e4967cc96816c167177a9.
No functional change, preparation for the next commit.

(cherry picked from commit 41c4a69653f7ca48a449de172e73acd43eda81a4)

4 weeks agohwdb: update to main@{2025-10-10} 39272/head
Zbigniew Jędrzejewski-Szmek [Fri, 10 Oct 2025 08:24:53 +0000 (10:24 +0200)] 
hwdb: update to main@{2025-10-10}

git restore -s origin/main hwdb.d/ test/hwdb.d && git checkout hwdb.d/meson.build

4 weeks agoman: fix a missing word
Frantisek Sumsal [Wed, 8 Oct 2025 15:23:31 +0000 (17:23 +0200)] 
man: fix a missing word

Follow-up for 6d48c7cf736ced70c1c2fef1e1f03618911d04bc.

(cherry picked from commit 67111e1bd918f9e1b4b542d1e0fe84f1d571876e)

4 weeks agoman/factory-reset: fix typo in EFI variable name
Antonio Alvarez Feijoo [Wed, 8 Oct 2025 13:05:06 +0000 (15:05 +0200)] 
man/factory-reset: fix typo in EFI variable name

(cherry picked from commit 575087d68b0f5b7129484e50fd3d2b1a313d87c5)

4 weeks agolicensing: update address of FSF
Zbigniew Jędrzejewski-Szmek [Tue, 7 Oct 2025 11:04:47 +0000 (13:04 +0200)] 
licensing: update address of FSF

rpmlint complains about the old address, even though it totally
doesn't matter and nobody cares.

(cherry picked from commit 4a8c41f3eb83aa1524501d9dc1c56c9026579f18)

4 weeks agosysctl: add missing help entry for --strict
Yu Watanabe [Sun, 5 Oct 2025 17:20:21 +0000 (02:20 +0900)] 
sysctl: add missing help entry for --strict

Follow-up for e88748c17e58aad6818e64fd3071de011808165e.

(cherry picked from commit 95c71c8f6e2f689789eb9f882c605252a83d5827)

4 weeks agoNEWS: Document new uaccess udev rule priority requirement
Guido Günther [Sun, 5 Oct 2025 07:26:26 +0000 (09:26 +0200)] 
NEWS: Document new uaccess udev rule priority requirement

Closes: https://github.com/systemd/systemd/issues/39206
Signed-off-by: Guido Günther <agx@sigxcpu.org>
(cherry picked from commit 01703b776148929f42c74cdc4be9c515f4856d90)

4 weeks agomam: add sd_bus_track_handler_t signature to manpage (#39204)
jsks [Sun, 5 Oct 2025 10:00:22 +0000 (12:00 +0200)] 
mam: add sd_bus_track_handler_t signature to manpage (#39204)

This is consistent with how the other handler/callback types are
documented.

(cherry picked from commit fc890aedd3176e2c7fe465b268218aca30b006cd)

4 weeks agoman/sd-login: minor grammar updates
Zbigniew Jędrzejewski-Szmek [Fri, 3 Oct 2025 16:36:39 +0000 (18:36 +0200)] 
man/sd-login: minor grammar updates

(cherry picked from commit 60597825ef87e53cb4b530888fcfe78a2a090da0)

4 weeks agoman: fix advice regarding thread safety of libsystemd
Zbigniew Jędrzejewski-Szmek [Fri, 3 Oct 2025 11:17:32 +0000 (13:17 +0200)] 
man: fix advice regarding thread safety of libsystemd

The prohibition to move libsystemd objects between threads was added in
64a7ef8bc06b5dcfcd9f99ea10a43bde75c4370f ('man: be more explicit about thread
safety of sd_journal'). At the time, this was valid, because we were using the
mempool for allocation and it apparently didn't handle access from different
threads. Sadlly, the commit links to a bugzilla entry referenced in the commit
is not publicly visible anymore, so the details are murky. But we stopped using
the mempool in a5d8835c78112206bbf0812dd4cb471f803bfe88 ('mempool: only enable
mempool use when linked to libsystemd-shared.so'), with subsequent followup in
b01f31954f1c7c4601925173ae2638b572224e9a ('Turn mempool_enabled() into a weak
symbol'). The restriction added in the man page is not necessary since then.

The text in the man page was arguably incorrect in calling the code
"thread-agnostic". If the code does not support being touched from threads at
all and has global state to tied to the main thread, it is not "agnostic", but
just doesn't support threads.

(I'm looking into https://github.com/systemd/python-systemd/issues/143, and
with the current scheme, the python-systemd module and all python code using
libsystemd would be very hard to use. With the change to free-threaded python
in python3.13, i.e. the replacement of single Global Interpreter Lock by
locking on individual objects, this limitation would become even more
constraining.)

(cherry picked from commit 4a3620c55a83317dc397f840bffe445a2ab1c038)

4 weeks agoman: document --prompt-new-user which was added back in v256
Lennart Poettering [Fri, 26 Sep 2025 14:09:02 +0000 (16:09 +0200)] 
man: document --prompt-new-user which was added back in v256

(cherry picked from commit 6f496236bc3241a9aa191d9e084f566771286d3a)

4 weeks agobash-completion: update systemd-sysext, systemd-confext
Pascal Bachor [Fri, 26 Sep 2025 18:20:49 +0000 (20:20 +0200)] 
bash-completion: update systemd-sysext, systemd-confext

(cherry picked from commit 9b5f1a61121b5757f8b5b2f5a8afb29d1ddab172)

4 weeks agodocs(boot): fix typo in code block
Le_Futuriste [Fri, 26 Sep 2025 14:41:19 +0000 (16:41 +0200)] 
docs(boot): fix typo in code block

(cherry picked from commit 83b5dabb40e5f2533d38fa3e7da212287f717174)

4 weeks agoTEST-64-UDEV-STORAGE: do not use -f/--force option for wipefs
Yu Watanabe [Sun, 31 Aug 2025 00:30:22 +0000 (09:30 +0900)] 
TEST-64-UDEV-STORAGE: do not use -f/--force option for wipefs

When -f/--force is used, wipefs does not call ioctl(BLKRRPART), hence
the partitions will remain in sysfs. Let's not use the option.

This also makes it use 'udevadm lock' for safety.

(cherry picked from commit 0f8706915a5a8aae4791e09af12f81386ec9cc35)

4 weeks agopam_systemd: downgrade OSC sequence writing at close to LOG_DEBUG
Lennart Poettering [Fri, 26 Sep 2025 10:30:54 +0000 (12:30 +0200)] 
pam_systemd: downgrade OSC sequence writing at close to LOG_DEBUG

Fixes: #39135
(cherry picked from commit cd8a1a8ef7a4eade1d11e28ccbb2fcd8f39b3f04)

4 weeks agonetwork-generator: ip: do not fail on ntp value
Sebastian Gross [Fri, 26 Sep 2025 09:14:30 +0000 (11:14 +0200)] 
network-generator: ip: do not fail on ntp value

linux https://www.kernel.org/doc/html/latest/admin-guide/nfs/nfsroot.html
states `ntp0-ip` as parameter to `ip=` command line.

Until now systemd-network-generator would fail if ntp was provided with
-EINVAL due to trailing arguments.

Stay in line with kernel doc and handle ntp value properly.

(cherry picked from commit 582a1e187701b02ab3ed948dc452f1387848c788)

4 weeks agonetworkd: fia xRequiredOperationalStateForOnline serializtion
Anton Tiurin [Mon, 15 Sep 2025 19:32:39 +0000 (12:32 -0700)] 
networkd: fia xRequiredOperationalStateForOnline serializtion

In integration tests (for example TEST-85-NETWORK-NetworkctlTests)

LINK_OPERSTATE_RANGE_INVALID and required_for_online == -1 are serialized as
```
"RequiredForOnline": "true",
"RequiredOperationalStateForOnline": [null, null]
```
Such link should be reported as required_for_online=False and not
serialize nulls.

(cherry picked from commit 59d946ee6b3612ef2fd646055e39282b0e0189ff)

4 weeks agonetworkctl: change bitrate format from 'bps' to 'Bps'
Anton Tiurin [Tue, 16 Sep 2025 20:58:56 +0000 (21:58 +0100)] 
networkctl: change bitrate format from 'bps' to 'Bps'

(cherry picked from commit 9893859beb0de2d04d5e7c8f64412981a3f964a3)

4 weeks agoosc-context: fix typo: 8003 -> 3008
Yu Watanabe [Thu, 25 Sep 2025 17:16:17 +0000 (02:16 +0900)] 
osc-context: fix typo: 8003 -> 3008

Follow-up for dadbb34919abd3fefeb5b8ccc9794da9398a2503 (v258).

(cherry picked from commit 3b6288f6becf0e55da6de9ff55e824c2ada93f2c)

4 weeks agomachined: do not allow unprivileged users to shell into the root namespace
Luca Boccassi [Wed, 24 Sep 2025 14:42:51 +0000 (15:42 +0100)] 
machined: do not allow unprivileged users to shell into the root namespace

We intend to make self-registering machines an unprivileged operation,
but currently that would allow an unprivileged user to register a
process they own in the root namespace, and then login as any
user they like, including root, which is not ideal.

Forbid non-root from shelling into a machine that is running in
the root user namespace.

(cherry picked from commit c5e48e3a66b23313cd4931b9dc25a8f48cfb1035)

4 weeks agoresolve: undo change to return code of next_search_domain() (#39119)
Mantas Mikulėnas [Thu, 25 Sep 2025 19:52:18 +0000 (22:52 +0300)] 
resolve: undo change to return code of next_search_domain() (#39119)

This caused resolved to only consider the 1st search domain of every
interface and ignore the rest.

Fixes a regression caused by 81ae2237c1792943a1ec712ae2e630bcc592175b (v258).
Fixes #39118.

(cherry picked from commit 6cae201ca1b0bf4a136bdf1002b4bc7983f0ceee)

4 weeks agoman: Add missing parentheses
Daan De Meyer [Wed, 24 Sep 2025 14:30:02 +0000 (16:30 +0200)] 
man: Add missing parentheses

(cherry picked from commit 938442ac27d3ec2d076b59bf8bc1150a4fab9201)

4 weeks agomachine: fix wrong field name in varlink IDL
Yu Watanabe [Wed, 24 Sep 2025 12:46:51 +0000 (21:46 +0900)] 
machine: fix wrong field name in varlink IDL

Follow-up for d5feeb373cc13d96fa66967a6bdb7461df32c920 (v258).

(cherry picked from commit faa3cc29740e8523f40f9a7ddbafa7780451edd0)

4 weeks agoboot: check protocol version before assuming GetActiveBanks() exists
Lennart Poettering [Tue, 23 Sep 2025 11:42:02 +0000 (13:42 +0200)] 
boot: check protocol version before assuming GetActiveBanks() exists

Alternative to: #39034
Fixes: #38932
Follow-up to: 6eab4cd44c3c43698dcfc2c3bc8cd31ed610a812

(cherry picked from commit b388fa20c735add38080a746fd831273820c93ac)

4 weeks agomeasure: strip tpm 1.x remnants
Lennart Poettering [Tue, 23 Sep 2025 11:18:56 +0000 (13:18 +0200)] 
measure: strip tpm 1.x remnants

Let's never bother with old TPM 1.x structures, they are not mentioned
in the TCG for TPM2 spec at all. However, the spec does say we should
check the Size field of the relevant structs, before accessing them,
hence do that.

(cherry picked from commit 496489c2a70b1675af679c1d33cee035fe7c9aff)

4 weeks agofs-util: prefer glibc's fchmodat() if possible
Luca Boccassi [Tue, 23 Sep 2025 22:13:23 +0000 (23:13 +0100)] 
fs-util: prefer glibc's fchmodat() if possible

Since v2.39 glibc's fchmodat() will call into the kernel's fchmodat2()
if flags are passed:

https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=65341f7bbea824d2ff9d37db15d8be162df42bd3;hp=c52c2c32db15aba8bbe1a0b4d3235f97d9c1a525

On older versions, if the flag is anything other than AT_SYMLINK_NOFOLLOW,
it returns EINVAL, so we can detect it and call the kernel syscall directly
ourselves.

Using the glibc wrappers when possible is prefereable so that programs
like fakeroot can intercept its calls and redirect them.

Follow-up for adecfb3bc0be0def49433277fcad5333893756cc

(cherry picked from commit 696b1263dc78858f96345a366933c66d53ae4899)

4 weeks agoFix sd_bus_can_send signature in manpage
Joshua Krusell [Tue, 23 Sep 2025 09:21:51 +0000 (11:21 +0200)] 
Fix sd_bus_can_send signature in manpage

(cherry picked from commit e216876fc6b12a9153fb94f089bab7b41b50c19b)

4 weeks agojournal: make JournalConfig.set_audit as enum
Yu Watanabe [Mon, 22 Sep 2025 06:22:48 +0000 (15:22 +0900)] 
journal: make JournalConfig.set_audit as enum

In systemd <= 257, each set_audit tristate value had special meaning,
- true: enable the kernel audit subsystem,
- false: disable the kernel audit subsystem,
- negative: keep the current kernel audit subsystem state.

And the default is true, rather than negative. So, users sometimes
explicitly pass an empty string to Audit= setting to keep the state.

But since f48cf2a96dfdc23fe30ba0f870125fe55cab64c7 (v258), the negative
value is mistakenly used as 'really unspecified' even if an empty string
is explicitly specified.

This makes negative values handled as unspecified as usual, and assign a new
positive value AUDIT_KEEP for when an empty string is explicitly specified.
Also, make the Audit= setting accept "keep" setting, and suggest to use "keep"
rather than an empty string.

Fixes a regression caused by f48cf2a96dfdc23fe30ba0f870125fe55cab64c7 (v258).
Fixes #39057.

(cherry picked from commit b5fdfedf729712b9824a5cb457a07d5699d2946c)

4 weeks agojournal: add missing initialization
Yu Watanabe [Mon, 22 Sep 2025 06:52:04 +0000 (15:52 +0900)] 
journal: add missing initialization

Otherwise, SplitMode= in journald.conf is always ignored.

Fixes a regression caused by f48cf2a96dfdc23fe30ba0f870125fe55cab64c7 (v258).
Fixes #39046.

(cherry picked from commit adacdfd9d657a649251e341423602ff44a65bee2)

4 weeks agotree-wide: Fix two curl warnings
Daan De Meyer [Fri, 19 Sep 2025 09:29:36 +0000 (11:29 +0200)] 
tree-wide: Fix two curl warnings

(cherry picked from commit 1403faeb152e24ef74230891cc6bf1875292324f)

4 weeks agovirt: revert to detect chroot by comparing with / rather than /proc/PID/root
Mike Yuan [Thu, 18 Sep 2025 23:16:19 +0000 (01:16 +0200)] 
virt: revert to detect chroot by comparing with / rather than /proc/PID/root

This partially reverts d6267b9b18a30c81dd3335230ef71af04e1ea330

So, arch-chroot currently uses a rather cursed setup:
it sets up a PID namespace, but mounts /proc/ from the outside
into the chroot tree, and then call chroot(2), essentially
making it somewhere between chroot(8) and a full-blown
container. Hence, the PID dirs in /proc/ reveal the outer world.
The offending commit switched chroot detection to compare
/proc/1/root and /proc/OUR_PID/root, exhibiting the faulty behavior
where the mentioned environment now gets deemed to be non-chroot.

Now, this is very much an issue in arch-chroot. However,
if /proc/ is to be properly associated with the pidns,
then we'd treat it as a container and no longer a chroot.
Also, the previous logic feels more readable and more
honestly reported errors in proc_mounted(). Hence I opted
for reverting the change here. Still note that the culprit
(once again :/) lies in the arch-chroot's pidns impl, not
systemd.

Fixes https://gitlab.archlinux.org/archlinux/packaging/packages/systemd/-/issues/54

(cherry picked from commit 01184496a2b518f33c56b5803549f27fa8f226fe)

4 weeks agoTEST-81-GENERATORS: libmount disallows omitting fstype
Mike Yuan [Thu, 18 Sep 2025 18:21:29 +0000 (20:21 +0200)] 
TEST-81-GENERATORS: libmount disallows omitting fstype

It's not well-formed to begin with. And util-linux's mount(8)
is pretty much ubiquitously employed, hence it will be rejected
elsewhere too. Just stop pretending it is valid just because
glibc parser is sloppy.

(cherry picked from commit afba4d4387bb02370a58aeaf6ae537a591a5d9cd)

4 weeks agocreds-util: don't reference superblocks when decrypting creds
Lennart Poettering [Thu, 18 Sep 2025 06:44:02 +0000 (08:44 +0200)] 
creds-util: don't reference superblocks when decrypting creds

(cherry picked from commit 7d4b0df9f8955f5f36df86655c305ec2cdcd9a5e)

4 weeks agocore: if we cannot decode a TPM credential skip over it for ImportCredential=
Lennart Poettering [Wed, 17 Sep 2025 08:37:31 +0000 (10:37 +0200)] 
core: if we cannot decode a TPM credential skip over it for ImportCredential=

let's skip over credentials we cannot decode when they are found with
ImportCredential=. When installing an OS on some disk and using that
disk on a different machine than assumed we'll otherwise end up with a
broken boot, because the credentials cannot be decoded when starting
systemd-firstboot. Let's handle this somewhat gracefully.

This leaves handling for LoadCredential=/SetCredential= as it is (i.e.
failure to decrypt results in service failure), because it is a lot more
explicit and focussed as opposed to ImportCredentials= which looks
everywhere, uses globs and so on and is hence very vague and unfocussed.

Fixes: #34740
(cherry picked from commit 4be269563db777bb30f2609b3d4f5180fe9e2d2a)

4 weeks agoman: Point to the nss-systemd manpage for more details.
Andreas Schneider [Thu, 18 Sep 2025 09:22:35 +0000 (11:22 +0200)] 
man: Point to the nss-systemd manpage for more details.

(cherry picked from commit 3b3af5d020c08327b1a50210fe807abb4a98db81)

4 weeks agobasic/efivars: read EFI variables using one read(), not two
Zbigniew Jędrzejewski-Szmek [Tue, 9 Sep 2025 09:39:35 +0000 (11:39 +0200)] 
basic/efivars: read EFI variables using one read(), not two

In https://github.com/systemd/systemd/issues/38842 it is reported that we're again
having trouble accessing EFI variables:
  [  292.212415] H (udev-worker)[253]: Reading EFI variable /sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
  ...
  [  344.397961] H (udev-worker)[253]: Detected slow EFI variable read access on LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: 52.185510s

We don't know what causes the slowdown, but it seems reasonable to avoid
unnecessary read() calls. We would read the 4-byte attr first, and then the
actual value later. But our code always reads the value (and discards the attr
in all cases except one, when _writing_ the variable), so let's optimize for
the case where we read the value and read the whole contents in one readv().

(cherry picked from commit 9db9d6806e398465a6366dfc5bdde2e24338ac29)

4 weeks agostub: fix file path handling for loaded kernel
Tobias Heider [Mon, 25 Aug 2025 14:07:54 +0000 (16:07 +0200)] 
stub: fix file path handling for loaded kernel

- Actually pass the new memory file path to parent_loaded_image->FilePath
- Restore old parent_loaded_image if Linux returns
- Pass the same kernel_file_path in load_via_boot_services path
- s/Re-use/Patch in comment explaining what we are doing

Fixes #38566

(cherry picked from commit f4051650657cd337ceba67b773f0e3bf854cbaff)

4 weeks agorepart: do not fail when CopyBlocks= is used in the initrd
Luca Boccassi [Sun, 24 Aug 2025 19:51:23 +0000 (20:51 +0100)] 
repart: do not fail when CopyBlocks= is used in the initrd

When running in the initrd --root= is automatically set to /sysroot or /sysusr
but then using CopyBlocks fails due to a security measure:

root@particle-caba-1e47:~# systemd-repart --dry-run=no /dev/vda
No machine ID set, using randomized partition UUIDs.
Automatic discovery of backing block devices not permitted in --root= mode, refusing.

Follow-up for 5c08da586fc8fe7cda4010e0057cb79ba1d74335

(cherry picked from commit ab0ffca1308240455d6d423490300ea53b873f59)

4 weeks agopull: fix SHA256SUMS fallback for file:// URLs
Lennart Poettering [Mon, 25 Aug 2025 15:05:09 +0000 (17:05 +0200)] 
pull: fix SHA256SUMS fallback for file:// URLs

For file:// there's no http error code 404, but there's
CURLE_FILE_COULDNT_READ_FILE hence call ->on_not_found() in that case
too.

Follow-up for: c456862f87237831ce2bbaeb53a37d1b3d669285

(cherry picked from commit aa7574417b86ac0bb7ed492b7cfc872e9ace15d7)

4 weeks agonetworkctl: list drop unused dbus connection
Zbigniew Jędrzejewski-Szmek [Fri, 10 Oct 2025 08:32:28 +0000 (10:32 +0200)] 
networkctl: list drop unused dbus connection

Do not acquire dbus connection as it is unused in list_links

(cherry picked from commit 505deaff019dadfb9121cd3e265d6b3f7524f5fd)

4 weeks agosd-device: improve and downgrade error message
Zbigniew Jędrzejewski-Szmek [Tue, 9 Sep 2025 10:53:38 +0000 (12:53 +0200)] 
sd-device: improve and downgrade error message

I'm seeing this in the initrd (with the dev_ksmg_record line added to clarify
where the error is coming from):
[    6.114232] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.2
[    6.116842] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.2".
[    6.134115] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.2".
[    6.139427] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.3
[    6.144327] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.3".
[    6.149442] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.3".
[    6.155091] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.3
[    6.160118] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.3".
[    6.164814] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.3".
[    6.169201] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.3
[    6.173990] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.3".
[    6.183104] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.3".
[    6.187746] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.3
[    6.192825] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.3".
[    6.197733] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.3".
[    6.203015] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.3
[    6.207184] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.3".
[    6.211943] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.3".
[    6.216703] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.4
[    6.221944] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.4".
[    6.226803] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.4".
[    6.231238] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.4
[    6.236078] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.4".
[    6.241845] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.4".
[    6.247976] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.4
[    6.252545] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.4".
[    6.256146] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.4".
[    6.260651] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.4
[    6.265151] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.4".
[    6.269755] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.4".
[    6.276206] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.4
[    6.280034] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.4".
[    6.284603] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.4".
[    6.288710] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.5
[    6.293312] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.5".
[    6.297763] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.5".
[    6.302438] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.5
[    6.306948] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.5".
[    6.310797] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.5".
[    6.315097] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.5
[    6.319033] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.5".
[    6.323593] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.5".
[    6.328834] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.5
[    6.333057] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.5".
[    6.337644] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.5".
[    6.341152] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.5
[    6.345436] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.5".
[    6.349824] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.5".
[    6.354306] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.6
[    6.358131] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.6".
[    6.366568] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.6".
[    6.371139] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.6
[    6.375207] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.6".
[    6.378681] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.6".
[    6.382820] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.6
[    6.387143] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.6".
[    6.392192] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.6".
[    6.397109] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.6
[    6.400991] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.6".
[    6.405992] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.6".
[    6.410889] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.6
[    6.414730] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.6".
[    6.418266] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.6".
[    6.422575] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.7
[    6.429942] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.7".
[    6.433780] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.7".
[    6.438509] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.7
[    6.442293] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.7".
[    6.447236] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.7".
[    6.453336] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.7
[    6.458031] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.7".
[    6.461948] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.7".
[    6.465883] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.7
[    6.470072] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.7".
[    6.476196] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.7".
[    6.481182] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:02.7
[    6.484938] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:02.7".
[    6.491322] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:02.7".
[    6.497289] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:03.0
[    6.501935] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:03.0".
[    6.505217] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:03.0".
[    6.509819] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:03.0
[    6.516078] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:03.0".
[    6.520942] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:03.0".
[    6.525178] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:03.0
[    6.528505] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:03.0".
[    6.534669] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:03.0".
[    6.539353] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:03.0
[    6.543035] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:03.0".
[    6.547441] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:03.0".
[    6.553211] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:03.0
[    6.557452] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/class/pci/0000:00:03.0".
[    6.562468] systemd-journald[251]: sd-device: Failed to chase symlinks in "/sys/firmware/pci/0000:00:03.0".
[    6.566955] systemd-journald[251]: dev_kmsg_record: kernel_device=+pci:0000:00:03.1
[    6.570846] systemd-journald[251]: Too many messages being logged to kmsg, ignoring

The error message was misleading, since it sounds like there's an issue with
symlinks, but the device simply doesn't exist. But I think we should suppress
the message altogether. journald spewing messages like this fills up the logs
for no benefit. The sd_device_new* functions can legitimately be used for
"invalid" devices, e.g. to check if they even exist. We have no idea for what
purpose the caller is creating the device object, so let's not log this at all.
The caller can log if appropriate.

(cherry picked from commit 75924efd5a8ddc796c5f2a179a50f137294c868c)

4 weeks agoboot: Strip boot counter from entry id
Danilo Spinella [Thu, 11 Sep 2025 08:51:27 +0000 (10:51 +0200)] 
boot: Strip boot counter from entry id

When boot counter is found in the boot entry filename, strip it from the
id to match bootctl id.

Fixes #38813.

(cherry picked from commit 4301ad00ef715885be5c3bdf84c152030b7d36ff)

4 weeks agovarlink: add IDL comments to basic Varlink service interface
Lennart Poettering [Thu, 11 Sep 2025 12:40:56 +0000 (14:40 +0200)] 
varlink: add IDL comments to basic Varlink service interface

(cherry picked from commit 23860b49753189e2aaf2e0c8d7b50fe6b1e5a065)

4 weeks agomacro: flip ONCE macro to make log_once() and friend actually log once
Yu Watanabe [Wed, 10 Sep 2025 23:39:17 +0000 (08:39 +0900)] 
macro: flip ONCE macro to make log_once() and friend actually log once

Previously, ONCE is false for the first time, and true for later times,
hence log_once() and log_once_errno() suppress logging in the first call,
rather than later calls.

Fortunately, ONCE macro is only used in log_once() and log_once_errno(),
hence this only fixes spurious logging.

(cherry picked from commit acd33c5df8ba35bcfa595ea0be9f74afa6aab289)

4 weeks agojournalctl: fix erroneuous mention of "local" hostnames
Zbigniew Jędrzejewski-Szmek [Tue, 26 Aug 2025 09:08:12 +0000 (11:08 +0200)] 
journalctl: fix erroneuous mention of "local" hostnames

--no-hostname applies equally to remote and local logs.

This change is a separate commit to make it easy to backport.

(cherry picked from commit 8b6c1d392e1471876b57648b2102fe36f39c5cba)

4 weeks agomkosi: switch deb packaging to ci/v258-stable
Luca Boccassi [Wed, 8 Oct 2025 09:46:17 +0000 (10:46 +0100)] 
mkosi: switch deb packaging to ci/v258-stable

4 weeks agosemaphore: switch to ci/v258-stable branch
Luca Boccassi [Wed, 8 Oct 2025 09:45:24 +0000 (10:45 +0100)] 
semaphore: switch to ci/v258-stable branch

debian/master now installs new files for main, time to switch

4 weeks agomkosi: pull in new knot package for TEST-75-RESOLVED
Luca Boccassi [Sun, 5 Oct 2025 13:12:17 +0000 (14:12 +0100)] 
mkosi: pull in new knot package for TEST-75-RESOLVED

5728s TEST-75-RESOLVED.sh[439]: /usr/lib/systemd/tests/testdata/units/TEST-75-RESOLVED.sh: line 154: keymgr: command not found

The command was split out into a new package

(cherry picked from commit 6602a5f7208edd456569343f61b7e5661b0ce299)

4 weeks agomkosi: bump fedora from 42 to 43
Yu Watanabe [Thu, 25 Sep 2025 19:38:12 +0000 (04:38 +0900)] 
mkosi: bump fedora from 42 to 43

It seems
- the address sanitizer on fedora 42 reports false-positive, or
- probing partitions in libblkid 2.40.4 has a bug.

Not sure which causes the issue, but anyway the address sanitizer
kills udev-worker when sym_blkid_partition_get_name() is called
in udev-builtin-blkid.c.
```
systemd-udevd[488]: ==488==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7ffdd716e020 at pc 0x563e3ca66fcb bp 0x7ffdd716d970 sp 0x7ffdd716d968
systemd-udevd[488]: READ of size 8 at 0x7ffdd716e020 thread T0 ((udev-worker))
(snip)
systemd-udevd[488]: HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
systemd-udevd[488]:       (longjmp and C++ exceptions *are* supported)
systemd-udevd[488]: SUMMARY: AddressSanitizer: stack-buffer-underflow (/usr/bin/udevadm+0x187fca) (BuildId: 1fb56dbdf0447aba1185d6e34560b782b76098be)
(snip)
systemd-udevd[488]: Command: (udev-worker)
systemd-udevd[488]: ==488==ABORTING
```

Let's bump fedora from 42 to 43.

Fixes mkosi fedora 42 job failures after c349edfe49dc2c4b8a79e5d08ecf7c8e93c4c909.

(cherry picked from commit 97940e77a9e347085a0b174bafa90a2823f43657)

4 weeks agomkosi: pull in bsdutils for script, used by various integration tests
Luca Boccassi [Thu, 25 Sep 2025 12:41:58 +0000 (13:41 +0100)] 
mkosi: pull in bsdutils for script, used by various integration tests

4971s TEST-74-AUX-UTILS.sh[1212]: + script -ec 'networkctl edit --runtime "$NETWORK_NAME"' /dev/null
4971s TEST-74-AUX-UTILS.sh[1269]: .//usr/lib/systemd/tests/testdata/units/TEST-74-AUX-UTILS.networkctl.sh: line 55: script: command not found

Currently works due to a transitive dependency somewhere else
that is being dropped, pull it in directly given the tool is
used by the tests

(cherry picked from commit d5eb732724b22adca886c6e10941881b42b47c65)

4 weeks agomkosi: Add stress-ng to sanitizer wrapper programs
Daan De Meyer [Fri, 19 Sep 2025 11:54:37 +0000 (13:54 +0200)] 
mkosi: Add stress-ng to sanitizer wrapper programs

(cherry picked from commit db35a83fe91f651cb98ac7a594dc5169ced34285)

7 weeks agodocs: use '_' as separator for OSC page
Luca Boccassi [Fri, 19 Sep 2025 10:41:30 +0000 (11:41 +0100)] 
docs: use '_' as separator for OSC page

Make it consistent with other pages

Fixes https://github.com/systemd/systemd/issues/39019

(cherry picked from commit 12ef7e0a2c158695664a11f964265359c5bc77b1)

7 weeks agoCreate CNAME
Luca Boccassi [Wed, 17 Sep 2025 13:59:00 +0000 (14:59 +0100)] 
Create CNAME

7 weeks agoFinalize NEWS and meson.version for v258 v258
Luca Boccassi [Wed, 17 Sep 2025 12:00:20 +0000 (13:00 +0100)] 
Finalize NEWS and meson.version for v258

7 weeks agoChores for release (#38958)
Luca Boccassi [Wed, 17 Sep 2025 11:58:15 +0000 (12:58 +0100)] 
Chores for release (#38958)

7 weeks agoNEWS: update time and place 38958/head
Luca Boccassi [Wed, 17 Sep 2025 08:48:51 +0000 (09:48 +0100)] 
NEWS: update time and place

7 weeks agoNEWS: update contributors list
Luca Boccassi [Wed, 17 Sep 2025 08:48:38 +0000 (09:48 +0100)] 
NEWS: update contributors list

ninja -C build git-contrib

[zjs: deduplicate Daan]

7 weeks agomailmap: deduplicate Daan
Zbigniew Jędrzejewski-Szmek [Wed, 17 Sep 2025 10:07:49 +0000 (12:07 +0200)] 
mailmap: deduplicate Daan

7 weeks agoUpdate syscall numbers
Luca Boccassi [Wed, 17 Sep 2025 08:48:00 +0000 (09:48 +0100)] 
Update syscall numbers

ninja -C build update-syscall-tables update-syscall-header

7 weeks agohwdb: update
Luca Boccassi [Wed, 17 Sep 2025 08:41:25 +0000 (09:41 +0100)] 
hwdb: update

ninja -C build update-hwdb

7 weeks agomachine: do not allow unprivileged users to register other users' processes as machin...
Luca Boccassi [Tue, 16 Sep 2025 16:59:45 +0000 (17:59 +0100)] 
machine: do not allow unprivileged users to register other users' processes as machines (#38911)

Registering a process as a machine means a caller can get machined to
send sigterm to it, and more. If an unpriv user is registering, ensure
the registered process has the same uid.

Follow-up for adaff8eb35d9c471af81fddaa4403bc5843a256f

7 weeks agomkosi conf opensuse: ukify from systemd-ukify (#38942)
Luca Boccassi [Tue, 16 Sep 2025 16:58:56 +0000 (17:58 +0100)] 
mkosi conf opensuse: ukify from systemd-ukify (#38942)

* openSUSE tumbleweed moves ukify tool from systemd-experimental to
systemd-ukify.

This is needed to for the TEST-86-MULTI-PROFILE-UKI

7 weeks agomkosi conf opensuse: ukify from systemd-ukify 38942/head
val4oss [Mon, 15 Sep 2025 14:01:19 +0000 (16:01 +0200)] 
mkosi conf opensuse: ukify from systemd-ukify

* openSUSE tumbleweed moves ukify tool from systemd-experimental to
  systemd-ukify.

Signed-off-by: val4oss <github.widget541@passmail.net>
7 weeks agomkosi: update opensuse commit reference to 7d9cf5c934705c175766eaa688baa503da84e06a
val4oss [Tue, 16 Sep 2025 15:09:28 +0000 (17:09 +0200)] 
mkosi: update opensuse commit reference to 7d9cf5c934705c175766eaa688baa503da84e06a

7d9cf5c9347 Update systemd to version 257.9 / rev 456 via SR 1303345
439d743e5d6 Update systemd to version 257.7 / rev 455 via SR 1297651
4f72c6a6279 Update systemd to version 257.7 / rev 454 via SR 1296831
3b0afa5c6d1 Update systemd to version 257.7 / rev 453 via SR 1294979
d0eccd20f5a Update systemd to version 257.7 / rev 452 via SR 1292221
f9d183f8c57 Update systemd to version 257.7 / rev 451 via SR 1291008
cbd6908247d Update systemd to version 257.7 / rev 450 via SR 1289968
6e5c00f9f92 Update systemd to version 257.6 / rev 449 via SR 1286997

Signed-off-by: val4oss <github.widget541@passmail.net>
7 weeks agomachine: add a comment to clarify that root_directory is informational only 38911/head
Luca Boccassi [Tue, 16 Sep 2025 14:51:08 +0000 (15:51 +0100)] 
machine: add a comment to clarify that root_directory is informational only

To avoid any possible mistakes in the future, add a comment in the
object declaration

7 weeks agoman: clarify that machined RootDirectory parameter is informational only
Luca Boccassi [Tue, 16 Sep 2025 14:49:26 +0000 (15:49 +0100)] 
man: clarify that machined RootDirectory parameter is informational only

It's basically just a label, it is not used for any purpose

7 weeks agomachine: validate root directory over varlink
Luca Boccassi [Sat, 13 Sep 2025 00:28:24 +0000 (01:28 +0100)] 
machine: validate root directory over varlink

Use strict validation to reject invalid directories as the D-Bus
API already does

Follow-up for 5b44c81ff868a4d1b78a74e4770f7a8b2f1d0f91

7 weeks agomachine: do not allow unprivileged users to register other users' processes as machines
Luca Boccassi [Fri, 12 Sep 2025 18:59:26 +0000 (19:59 +0100)] 
machine: do not allow unprivileged users to register other users' processes as machines

Registering a process as a machine means a caller can get machined
to send sigterm to it, and more. If an unpriv user is registering,
ensure the registered process is actually owned by the user.

Follow-up for adaff8eb35d9c471af81fddaa4403bc5843a256f

7 weeks agogenerators: fix parameters naming in symlink helper
Luca Boccassi [Tue, 16 Sep 2025 09:11:58 +0000 (10:11 +0100)] 
generators: fix parameters naming in symlink helper

Coverity gets confused because the names were swapped. The parameters
are all passed in the right position, so there's no functional issue,
but the naming is confusing and trips static analyzers, so fix it.

CID#1621624

Follow-up for 8a9ab3dbbc86cf72ef8f511a3214f66a61f6bd01

7 weeks agoman: Update systemd-userdbd.service about .group extension
Andreas Schneider [Tue, 16 Sep 2025 11:38:20 +0000 (13:38 +0200)] 
man: Update systemd-userdbd.service about .group extension

7 weeks agohwdb: add SDRplay devices
AsciiWolf [Mon, 15 Sep 2025 23:06:18 +0000 (01:06 +0200)] 
hwdb: add SDRplay devices

Also remove duplicate MiriSDR device that is just a cheap SDRplay RSP1 copy

7 weeks agoRevert "TEST-55-OOMD: Verify that ExecStopPost= runs on oom-kill"
Luca Boccassi [Mon, 15 Sep 2025 16:33:07 +0000 (17:33 +0100)] 
Revert "TEST-55-OOMD: Verify that ExecStopPost= runs on oom-kill"

The test consistently fails on CentOS 9:

TEST-55-OOMD.sh[678]: + test -f /run/testbloat-exec-stop-post
[FAILED] Failed to start TEST-55-OOMD.service.

https://github.com/systemd/systemd/actions/runs/17689186773/job/50293446228?pr=38911

This reverts commit 5bf7438ff025ae05daf1b706f204f31373d5ab82.

7 weeks agotest: call mksquashfs with -noappend to be safe on reruns
Luca Boccassi [Fri, 12 Sep 2025 23:19:02 +0000 (00:19 +0100)] 
test: call mksquashfs with -noappend to be safe on reruns

If the test VM reboots and the test re-runs, creating the images
fails as they already exist:

[  218.227766] TEST-50-DISSECT.sh[889]: + mksquashfs testkit/ testkit.raw
[  218.238754] TEST-50-DISSECT.sh[2964]: FATAL ERROR: Could not read $HOME, use -recovery-path or -no-recovery options
[  218.239284] TEST-50-DISSECT.sh[2964]: Found a valid exportable SQUASHFS superblock on testkit.raw.
[  218.239554] TEST-50-DISSECT.sh[2964]:  Compression used gzip
[  218.240176] TEST-50-DISSECT.sh[2964]:  Inodes are compressed
[  218.240459] TEST-50-DISSECT.sh[2964]:  Data is compressed
[  218.241072] TEST-50-DISSECT.sh[2964]:  Fragments are compressed
[  218.241526] TEST-50-DISSECT.sh[2964]:  Xattrs are compressed
[  218.241953] TEST-50-DISSECT.sh[2964]:  Fragments are present in the filesystem
[  218.242411] TEST-50-DISSECT.sh[2964]:  Always-use-fragments option is not specified
[  218.242843] TEST-50-DISSECT.sh[2964]:  Duplicates are removed
[  218.243560] TEST-50-DISSECT.sh[2964]:  Xattrs are stored
[  218.243889] TEST-50-DISSECT.sh[2964]:  Filesystem size 0.38 Kbytes (0.00 Mbytes)
[  218.244563] TEST-50-DISSECT.sh[2964]:  Block size 131072
[  218.245051] TEST-50-DISSECT.sh[2964]:  Number of fragments 1
[  218.245512] TEST-50-DISSECT.sh[2964]:  Number of inodes 6
[  218.245851] TEST-50-DISSECT.sh[2964]:  Number of ids 1
[  218.246393] TEST-50-DISSECT.sh[2964]: Parallel mksquashfs: Using 2 processors
[  218.246820] TEST-50-DISSECT.sh[2964]: Scanning existing filesystem...
[  218.247286] TEST-50-DISSECT.sh[2964]: Read existing filesystem, 5 inodes scanned
[  218.252974] TEST-50-DISSECT.sh[2964]: Appending to existing 4.0 filesystem on testkit.raw, block size 131072
[  218.253593] TEST-50-DISSECT.sh[2964]: All -b, -noI, -noD, -noF, -noX, -noId, -no-duplicates, -no-fragments,
[  218.253848] TEST-50-DISSECT.sh[2964]: -always-use-fragments, -exportable and -comp options ignored
[  218.257196] TEST-50-DISSECT.sh[2964]: If appending is not wanted, please re-run with -noappend specified!

https://github.com/systemd/systemd/actions/runs/17674609143/job/50233691148?pr=38867