]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 weeks agosystemctl: rename enqueue-marked-jobs to enqueue-marked 40930/head
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 14:22:08 +0000 (15:22 +0100)] 
systemctl: rename enqueue-marked-jobs to enqueue-marked

Closes #40883. As described in the issue, it's not "jobs" that are
marked, and also the name is unnecessarilly long.

I think we don't need any compatibility measures here. At least in the
rpm world, package upgrade scripts go through the helper which is part
of the package so the new systemctl and the new helper are upgraded
together.

5 weeks agoNEWS: mention the sd_varlink_field_type_t breakage
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 14:05:31 +0000 (15:05 +0100)] 
NEWS: mention the sd_varlink_field_type_t breakage

Follow-up for 93d768e0f36a62afed7ebbf3abe3385cfd186480. The commit with
the fix didn't mention this, but the reported reproducer was:
> Install openSUSE Tumbleweed with account-utils and systemd v258.
> Compile and install systemd v260. Run "varlinkctl list-methods
> /run/account/newidmapd-socket" -> the newidmap service crashes in
> varlink_idl_format_all_fields(). Recompile newidmap with systemd v260
> headers -> varlinkctl list-methods works again.

Other people might hit the same issue, so let's mention that this was
fixed.

5 weeks agosome chaseat() love (#40825)
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 13:53:20 +0000 (14:53 +0100)] 
some chaseat() love (#40825)

5 weeks agoTODO: fix typo
Yu Watanabe [Tue, 3 Mar 2026 13:11:44 +0000 (22:11 +0900)] 
TODO: fix typo

5 weeks agoman: fix typo in docs for notify-ready option
Bouke van der Bijl [Tue, 3 Mar 2026 12:21:15 +0000 (13:21 +0100)] 
man: fix typo in docs for notify-ready option

5 weeks agoshell-completion: update run0 completion
Eisuke Kawashima [Tue, 3 Mar 2026 08:25:55 +0000 (17:25 +0900)] 
shell-completion: update run0 completion

5 weeks agopo: Translated using Weblate (Catalan)
naly zzwd [Tue, 3 Mar 2026 08:58:26 +0000 (08:58 +0000)] 
po: Translated using Weblate (Catalan)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: naly zzwd <xeanhort007@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ca/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Greek)
Jim Spentzos [Tue, 3 Mar 2026 08:58:26 +0000 (08:58 +0000)] 
po: Translated using Weblate (Greek)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/el/
Translation: systemd/main

5 weeks agoxstatx_full(): add flag to acquire STATX_MNT_ID_UNIQUE if we can, with fallback. 40825/head
Lennart Poettering [Wed, 25 Feb 2026 13:16:47 +0000 (14:16 +0100)] 
xstatx_full(): add flag to acquire STATX_MNT_ID_UNIQUE if we can, with fallback.

5 weeks agostat-util: teach statx_mount_same() STATX_MNT_ID_UNIQUE
Lennart Poettering [Wed, 25 Feb 2026 14:10:12 +0000 (15:10 +0100)] 
stat-util: teach statx_mount_same() STATX_MNT_ID_UNIQUE

So far statx_mount_same() assumed STATX_MNT_ID_UNIQUE didn't exist.
However it does exist, hence do something useful if we see it set. Note
that this creates a certain ambiguity: if we compare one statx struct
with STATX_MNT_ID_UNIQUE and one without it (but with the regular mnt
id), then we cnanot really come to a clear conclusion, hence need to
introduce a third, unknown state.

Note that we don't request STATX_MNT_ID_UNIQUE yet wherever we call
statx_mount_same(). THis will be added in a later commit.

5 weeks agomountwork: use statx_mount_same() where appropriate
Lennart Poettering [Wed, 25 Feb 2026 12:08:48 +0000 (13:08 +0100)] 
mountwork: use statx_mount_same() where appropriate

5 weeks agofd-util: minor shortcut
Lennart Poettering [Wed, 25 Feb 2026 12:08:34 +0000 (13:08 +0100)] 
fd-util: minor shortcut

5 weeks agofd-util: rename fds_are_same_mount() fds_inode_and_mount_same()
Lennart Poettering [Wed, 25 Feb 2026 12:06:32 +0000 (13:06 +0100)] 
fd-util: rename fds_are_same_mount() fds_inode_and_mount_same()

The old name suggested this would only check if the two inodes are on
the same mount, but it actually checks if they are the same inodes too.

Let's rename it to make this clearer, in particular as we have
both statx_inode_same() and statx_mount_same() already, and they are
even used here, and hence very confusing.

This also drops two checks from the test case, which are simply wrong.
Given they apparently weren't load bearing (since no CI tripped up),
let's just drop them.

5 weeks agochase: drop wrong optimization
Lennart Poettering [Wed, 25 Feb 2026 11:51:29 +0000 (12:51 +0100)] 
chase: drop wrong optimization

The same optimization is already applied in the very similar
dir_fd_is_root() check a few lines up – with the exception that it
doesn't accept AT_FCWD there. And frankly turning off
CHASE_AT_RESOLVE_IN_ROOT if we operate on AT_FCWD is simply wrong. Hence
remove this code.

5 weeks agochase: tighten checks on ".." once we hit the root of an CHASE_AT_RESOLVE_IN_ROOT...
Lennart Poettering [Wed, 25 Feb 2026 11:26:42 +0000 (12:26 +0100)] 
chase: tighten checks on ".." once we hit the root of an CHASE_AT_RESOLVE_IN_ROOT root tree

Let's harden things in case concurrent access is allowed to a root tree
passed via CHASE_AT_RESOLVE_IN_ROOT: let's not just validate via the
path if we hit the root of the tree, but also by comparing inodes +
mount ids.

Hardening opportunity reported by Sebastian Wick.

5 weeks agochase: port to statx()
Lennart Poettering [Wed, 25 Feb 2026 11:15:14 +0000 (12:15 +0100)] 
chase: port to statx()

In one of the next commits we want to acquire .stx_mnt_id from statx()
for each inode we traverse (plain fstat() doesn't provide that field).
Hence let's port chase() over to statx() as preparation for that.

No change in behaviour.

5 weeks agochase: put limit on overall chase cycles
Lennart Poettering [Wed, 25 Feb 2026 10:43:11 +0000 (11:43 +0100)] 
chase: put limit on overall chase cycles

Let's add some protections in case we deal with inodes owned by an
untrusted person, with concurrent access: let's put a limit on how long
we traverse, and fail eventually so that live changes cannot send us in
circles indefinitely.

This reworks the current CHASE_MAX logic so that it not only applies to
symlinks transitions, but to any transitions.

This also bumps CHASE_MAX a bit, given that it's now bumped on every
single iteration of the loop.

5 weeks agostat-util: add statx() flavours of stat_verify_regular() + stat_verify_socket()
Lennart Poettering [Wed, 25 Feb 2026 11:13:31 +0000 (12:13 +0100)] 
stat-util: add statx() flavours of stat_verify_regular() + stat_verify_socket()

5 weeks agofd-util: make use of XAT_FDROOT in path_is_root_at()
Lennart Poettering [Mon, 2 Mar 2026 17:09:23 +0000 (18:09 +0100)] 
fd-util: make use of XAT_FDROOT in path_is_root_at()

5 weeks agomeson: Work around Meson install_subdir limitation
Kai Lüke [Tue, 3 Mar 2026 01:37:49 +0000 (10:37 +0900)] 
meson: Work around Meson install_subdir limitation

When install_subdir encounters a mkosi.tools tree with a /bin to
/usr/bin symlink it fails to copy it because it dereferences but still
treats it like a file.
Work around the Meson bug by excluding the mkosi.tools tree from
installation like mkosi.local is excluded. We anyway don't want the
tools tree end up there.

5 weeks agonetwork: fix error aggregation in wwan_check_and_set_configuration()
noxiouz [Mon, 2 Mar 2026 22:42:16 +0000 (22:42 +0000)] 
network: fix error aggregation in wwan_check_and_set_configuration()

When removing marked routes, the condition `if (ret)` incorrectly
overwrites any previously accumulated error in `ret` with the latest
return value `r`, even if `r >= 0` (success). This means an earlier
real error can be silently cleared by a subsequent successful
route_remove() call.

The parallel address_remove() block just above uses the correct
`if (r < 0)` pattern. Apply the same fix to the route_remove() block.

5 weeks agodocs: document the "verity" NvPCR measurements
Lennart Poettering [Mon, 2 Mar 2026 21:57:56 +0000 (22:57 +0100)] 
docs: document the "verity" NvPCR measurements

I forgot this when I posted 32f405074a3aa221982ad92a7f61560b9f6a2b03,
let's add it now.

5 weeks agonetwork: fix LLDP field type in Interface Varlink IDL
noxiouz [Thu, 26 Feb 2026 03:31:24 +0000 (03:31 +0000)] 
network: fix LLDP field type in Interface Varlink IDL

sd_lldp_tx_describe() returns a single object (the LLDP TX configuration),
but the IDL declared LLDP as SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE. This
caused server-side validation failures ("Field 'LLDP' should be an array,
but it is of type 'object'") whenever networkctl status was called on an
interface with LLDP TX active.

Also fix the field comment: the LLDP field represents the transmit
configuration, not received neighbors.

Follow-up for dd2934d44e2c9cd1a92ae0fd6806985c4bc031e6.

5 weeks agoimport,nspawn: fix a couple of typos in mountfsd
Frantisek Sumsal [Mon, 2 Mar 2026 19:58:09 +0000 (20:58 +0100)] 
import,nspawn: fix a couple of typos in mountfsd

5 weeks agonspawn: actually mask certain files under /proc/
Frantisek Sumsal [Wed, 25 Feb 2026 18:13:37 +0000 (19:13 +0100)] 
nspawn: actually mask certain files under /proc/

/run/systemd/inaccessible/ exists only on host - in the container we have
/run/host/inaccessible/, and since all the inaccessible mounts have
MOUNT_IN_USERNS we need to use the latter one, otherwise the masking
gets silently skipped:

~# SYSTEMD_LOG_LEVEL=debug systemd-nspawn -q --directory=foo ls -la /proc/kallsyms
...
Bind-mounting /run/systemd/inaccessible/reg on /proc/kallsyms (MS_BIND "")...
Failed to mount /run/systemd/inaccessible/reg (type n/a) on /proc/kallsyms (MS_BIND ""): No such file or directory
Changing mount flags /proc/kallsyms (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_BIND "")...
Failed to mount n/a (type n/a) on /proc/kallsyms (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_BIND ""): Invalid argument
Bind-mounting /run/systemd/inaccessible/reg on /proc/kcore (MS_BIND "")...
Failed to mount /run/systemd/inaccessible/reg (type n/a) on /proc/kcore (MS_BIND ""): No such file or directory
Changing mount flags /proc/kcore (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_BIND "")...
Failed to mount n/a (type n/a) on /proc/kcore (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_BIND ""): Invalid argument
...
Inner child finished, invoking payload.
-r--r--r--. 1 root root 0 Feb 25 13:19 /proc/kallsyms

5 weeks agoudev/varlink: ignore polkit related field
Yu Watanabe [Mon, 2 Mar 2026 14:41:26 +0000 (23:41 +0900)] 
udev/varlink: ignore polkit related field

Follow-up for da7374b2ae07b4d3801f5187aacc199978793680.

5 weeks agoupdate TODO
Lennart Poettering [Mon, 2 Mar 2026 16:56:53 +0000 (17:56 +0100)] 
update TODO

5 weeks agonetwork: add DHCPv6 message types to string table (#40912)
Skye Soss [Mon, 2 Mar 2026 16:50:12 +0000 (10:50 -0600)] 
network: add DHCPv6 message types to string table (#40912)

Adds the DHCPv6 message types ADDR-REG-INFORM and
ADDR-REG-REPLY to the DHCPv6 message types string table.

Follow-up for 1e55da38aab0a7e7d5ba4de3243512fa70401df9.

5 weeks agotree-wide: use _contains() rather than _get()/_find()
Yu Watanabe [Mon, 2 Mar 2026 07:06:33 +0000 (16:06 +0900)] 
tree-wide: use _contains() rather than _get()/_find()

5 weeks agojournal-remote: fix error number confusion
Lennart Poettering [Mon, 2 Mar 2026 10:34:42 +0000 (11:34 +0100)] 
journal-remote: fix error number confusion

See: https://lists.freedesktop.org/archives/systemd-devel/2026-February/051924.html

5 weeks agologin: fix two io.systemd.Login Varlink IDL issues (#40857)
Yu Watanabe [Mon, 2 Mar 2026 14:09:19 +0000 (23:09 +0900)] 
login: fix two io.systemd.Login Varlink IDL issues (#40857)

Add missing NoSessionPIDFD error to the interface definition; the error
is emitted by vl_method_create_session() when the session leader process
does not have a pidfd available, but was never declared in the IDL.

Drop SD_JSON_MANDATORY from the ReleaseSession.Id dispatch entry so that
omitting the field (which the IDL allows via SD_VARLINK_NULLABLE)
resolves to the caller's own session via session_is_self(NULL).

5 weeks agosystemd/sd-varlink-idl.h: fix ABI breakage (#40903)
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2026 13:08:22 +0000 (14:08 +0100)] 
systemd/sd-varlink-idl.h: fix ABI breakage (#40903)

5 weeks agologin: add missing NoSessionPIDFD error to io.systemd.Login IDL 40857/head
noxiouz [Mon, 2 Mar 2026 10:04:48 +0000 (10:04 +0000)] 
login: add missing NoSessionPIDFD error to io.systemd.Login IDL

The error is emitted by vl_method_create_session() when the session leader
process does not have a pidfd available, but was never declared in the IDL.

Fixes: 3180c4d46151673a9c985e60f205d4c76a81573f
5 weeks agologin: fix ReleaseSession.Id dispatch flag in io.systemd.Login Varlink handler
noxiouz [Mon, 2 Mar 2026 10:04:37 +0000 (10:04 +0000)] 
login: fix ReleaseSession.Id dispatch flag in io.systemd.Login Varlink handler

The ReleaseSession method's Id field is declared as nullable (?string) in
the IDL, allowing callers to omit it so that the method releases the
caller's own session via session_is_self(NULL). The SD_JSON_MANDATORY flag
in the dispatch table contradicts this and makes omitting Id return -EINVAL
("Invalid argument", parameter "Id") instead.

Drop the flag so omitting Id is treated as passing NULL.

Fixes: 2baca6c22b2d75b8ba2d0bd8a9e7f4a8579752ed
5 weeks agosystemd/sd-varlink-idl.h: fix ABI breakage 40903/head
Mike Yuan [Mon, 2 Mar 2026 09:49:17 +0000 (10:49 +0100)] 
systemd/sd-varlink-idl.h: fix ABI breakage

Follow-up for 2e51ed7fcb8a4215432ca189f8b3d2ad848ea93b

5 weeks agocore/varlink-unit: use VARLINK_ERROR_UNIT_NO_SUCH_UNIT macro
Mike Yuan [Mon, 2 Mar 2026 09:45:43 +0000 (10:45 +0100)] 
core/varlink-unit: use VARLINK_ERROR_UNIT_NO_SUCH_UNIT macro

Follow-up for 1fc868ac6b74d61c75d00a62aa4331961dead3ed

5 weeks agonspawn: allow cachestat systemcall
Thomas Weißschuh [Thu, 26 Feb 2026 17:30:32 +0000 (18:30 +0100)] 
nspawn: allow cachestat systemcall

cachestat(2) is essentially a better variant of mincore(2).
As mincore(2) is already allowed, also allow cachestat(2).

6 weeks agopidref: do not tamper with pidref_acquire_pidfd_id() retval
Mike Yuan [Thu, 19 Feb 2026 23:14:19 +0000 (00:14 +0100)] 
pidref: do not tamper with pidref_acquire_pidfd_id() retval

If a pidfd id is passed to us, it must have originated from
somewhere, i.e. pidfs should be supported on the system.
Hence let's be honest about -EOPNOTSUPP, which might indicate
some bigger problems under the hood, rather than allowing
it to be turned into mild -ESRCH.

6 weeks agozsh: add systemd-id128 completions
Ronan Pigott [Sun, 1 Mar 2026 16:47:16 +0000 (09:47 -0700)] 
zsh: add systemd-id128 completions

6 weeks agoresolved: use DNS_TYPE_DNSKEY for trust anchor support (#40850)
Anton Tiurin [Mon, 2 Mar 2026 04:44:26 +0000 (04:44 +0000)] 
resolved: use DNS_TYPE_DNSKEY for trust anchor support (#40850)

Fix typo: DNS_TYPE_DNSKEY should be used instead of DNS_TYPE_KEY.
- DNS_TYPE_KEY is deprecated
- Source code at resolved-dns-trust-anchor.c#L313 handles
DNS_TYPE_DNSKEY records, but not DNS_TYPE_KEY
So DNS_TYPE_KEY is not referenced anywhere

6 weeks agoresolve: add missing ServiceNotProvided error to Varlink IDL (#40858)
Anton Tiurin [Mon, 2 Mar 2026 04:22:14 +0000 (04:22 +0000)] 
resolve: add missing ServiceNotProvided error to Varlink IDL (#40858)

The error is emitted by `vl_method_resolve_service_complete()` when an
SRV record with a root domain hostname is found, indicating the service
is explicitly not offered on the queried domain (RFC 2782 Usage Rules),

but was not declared in the `io.systemd.Resolve` interface definition.

Follow-up for 3d8f2c14641f840e0ad6380ec3e773bbb40e67df.

6 weeks agocore: fix typo in Unit.List sentinel error name
noxiouz [Thu, 26 Feb 2026 23:54:46 +0000 (23:54 +0000)] 
core: fix typo in Unit.List sentinel error name

6 weeks agomountpoint-util: add overlay check to fstype_is_blockdev_backed() and simplify fstype...
Yu Watanabe [Mon, 2 Mar 2026 04:15:14 +0000 (13:15 +0900)] 
mountpoint-util: add overlay check to fstype_is_blockdev_backed() and simplify fstype_is_api_vfs() (#40866)

6 weeks agocore/exec-invoke: correct size for dont_close array in close_remaining_fds() (#40867)
Yu Watanabe [Mon, 2 Mar 2026 04:05:42 +0000 (13:05 +0900)] 
core/exec-invoke: correct size for dont_close array in close_remaining_fds() (#40867)

6 weeks agocryptsetup: fix 'tpm2-primary-alg' information in 'cryptsetup luksDump' (#40872)
Yu Watanabe [Mon, 2 Mar 2026 03:40:40 +0000 (12:40 +0900)] 
cryptsetup: fix 'tpm2-primary-alg' information in 'cryptsetup luksDump' (#40872)

It was noticed that cryptsetup luksDump outputs

  tpm2-primary-alg: ecc

regardless of the actual primary key type. Namely, in the situation when
RSA SRK is passed to 'systemd-cryptenroll', the output is incorrect and
misleading. Turns out 'tpm2-primary-alg' is not currently used for
unsealing as 'tpm2_srk' object has it in its properties but the
misleading information problem stays.

Fix the issue with a two-fold fix:
- Put the SRK primary alg type to the JSON token so 'cryptsetup
luksDump' has a chance to actually print the right information without
the need to inspect SRK.
- Avoid printing 'tpm2-primary-alg' when it is unset in the JSON as the
default 'ECC' may not match the reality.

No real functional change for the sealing/unsealing expected.

6 weeks agoman: improve documentation for RestartSteps (#40879)
Val Markovic [Mon, 2 Mar 2026 03:38:35 +0000 (04:38 +0100)] 
man: improve documentation for RestartSteps (#40879)

I found the existing explanation of RestartSteps to be simply
impenetrable. Even providing the full docs context to several of our new
AI overlords resulted in wildly different (and completely incorrect)
explanations of the final restart intervals.

Digging through the code, I found the restart delay computation in
`service_restart_usec_next` in `src/core/service.c`.

I've updated the documentation for RestartSteps with an example,
suggested value range and a detailed enough explanation that accurately
describes the current behavior.

6 weeks agoudev: tag kfd devices for xaccess-render (#40888)
Mario Limonciello [Mon, 2 Mar 2026 03:32:50 +0000 (21:32 -0600)] 
udev: tag kfd devices for xaccess-render (#40888)

The kfd device is used for running compute workloads on AMD
GPUs. Users that are logged in should be able to run compute
so tag them like other DRM and ACCEL devices are.

6 weeks agohwdb: add one more USB ID for 3D Connexion SpaceMouse Wireless BT (#40890)
IntenseWiggling [Mon, 2 Mar 2026 03:31:29 +0000 (22:31 -0500)] 
hwdb: add one more USB ID for 3D Connexion SpaceMouse Wireless BT (#40890)

The 3D Connexion SpaceMouse Wireless BT (256f:c63a) has an entry in
`70-mouse.hwdb` already as a bluetooth device, but it can also be
connected as a USB device.

`5-3.3: hwdb modalias key: "usb:v256FpC63A:SpaceMouse Wireless BT"`

Ref:
https://github.com/FreeSpacenav/spacenavd/blob/39856625a6de1e8c4b57c5938e1bf29d13cf1a9f/src/dev.c#L83

6 weeks agobuild(deps): bump github/codeql-action in the actions group
dependabot[bot] [Sun, 1 Mar 2026 09:35:33 +0000 (09:35 +0000)] 
build(deps): bump github/codeql-action in the actions group

Bumps the actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).

Updates `github/codeql-action` from 4.32.0 to 4.32.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b20883b0cd1f46c72ae0ba6d1090936928f9fa30...89a39a4e59826350b863aa6b6252a07ad50cf83e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
6 weeks agocore/exec-invoke: make fd array sizing less error-prone 40867/head
Mike Yuan [Fri, 27 Feb 2026 11:11:33 +0000 (12:11 +0100)] 
core/exec-invoke: make fd array sizing less error-prone

History has clearly shown that we're terrible at keeping
the size of the dont_close array up-to-date. Hence let's
step away from a hardcoded max size for that, instead
always collect all fds in the array initializer and
let compiler figure it out, taking advantage of the fact
that close_all_fds() gracefully handles invalid fds in
the 'except' array.

6 weeks agocore/exec-invoke: drop duplicate addition of handoff_timestamp_fd to dont_close array
Mike Yuan [Sat, 28 Feb 2026 21:16:51 +0000 (22:16 +0100)] 
core/exec-invoke: drop duplicate addition of handoff_timestamp_fd to dont_close array

Follow-up for 12001b1bf067339db089d52e08fd0b4c6a9945df

It is part of the keep_fds array already, which is intended
for fds that need to survive until the very end of executor
runtime, i.e. across the second close_all_fds() call.

6 weeks agocore/exec-invoke: correct size for dont_close array in close_remaining_fds()
Mike Yuan [Sat, 28 Feb 2026 21:14:51 +0000 (22:14 +0100)] 
core/exec-invoke: correct size for dont_close array in close_remaining_fds()

Follow-up for 79dd24cf14adc809620479d45a7b469cf3e82892

6 weeks agocore/exec-invoke: fix potential double close of socket/bpffs fds on failure
Mike Yuan [Sat, 28 Feb 2026 21:48:14 +0000 (22:48 +0100)] 
core/exec-invoke: fix potential double close of socket/bpffs fds on failure

The owned fds should be closed before close_all_fds() along the lines
of exec_params/runtime_close(), otherwise they would be left dangling
afterwards.

6 weeks agocore/execute: drop redundant close of root_directory_fd
Mike Yuan [Sun, 1 Mar 2026 12:53:35 +0000 (13:53 +0100)] 
core/execute: drop redundant close of root_directory_fd

exec_params_shallow_clear() will take care of it.

6 weeks agoprocess-util: leave actual log fd closing to close_all_fds() if the latter will be...
Mike Yuan [Sat, 28 Feb 2026 21:43:31 +0000 (22:43 +0100)] 
process-util: leave actual log fd closing to close_all_fds() if the latter will be done anyways

6 weeks agozsh: add userdbctl completion
Ronan Pigott [Sun, 1 Mar 2026 08:33:49 +0000 (01:33 -0700)] 
zsh: add userdbctl completion

6 weeks agofix: check error with -ENOMEDIUM not ENOMEDIUM
Weixie Cui [Sun, 1 Mar 2026 04:47:32 +0000 (12:47 +0800)] 
fix: check error with -ENOMEDIUM not ENOMEDIUM

Signed-off-by: Weixie Cui <cuiweixie@gmail.com>
6 weeks agonss-systemd,strv: use a common definition of a non-NULL but empty strv
Lennart Poettering [Fri, 27 Feb 2026 22:34:58 +0000 (23:34 +0100)] 
nss-systemd,strv: use a common definition of a non-NULL but empty strv

Follow-up for: 239903d44c12f10b5fe7c1f8457ae5203e47d8cc

6 weeks agosd-varlink: add missing space
Mike Yuan [Mon, 23 Feb 2026 07:59:38 +0000 (08:59 +0100)] 
sd-varlink: add missing space

6 weeks agoshared/pager: do not wait for process again after FORK_WAIT
Mike Yuan [Fri, 27 Feb 2026 15:51:10 +0000 (16:51 +0100)] 
shared/pager: do not wait for process again after FORK_WAIT

Follow-up for fbd276cb86a2f0292cc19fd57ee3d72bf73592dc

Fixes #40873

6 weeks agotmpfiles: minor logging fixes (#40875)
Mike Yuan [Sat, 28 Feb 2026 10:48:43 +0000 (11:48 +0100)] 
tmpfiles: minor logging fixes (#40875)

6 weeks agoNEWS: add various more features added in v260, and introduce more sections
Lennart Poettering [Fri, 27 Feb 2026 22:57:17 +0000 (23:57 +0100)] 
NEWS: add various more features added in v260, and introduce more sections

6 weeks agoTranslations update from Fedora Weblate (#40876)
Luca Boccassi [Fri, 27 Feb 2026 17:27:30 +0000 (17:27 +0000)] 
Translations update from Fedora Weblate (#40876)

Translations update from [Fedora
Weblate](https://translate.fedoraproject.org) for
[systemd/main](https://translate.fedoraproject.org/projects/systemd/main/).

Current translation status:

![Weblate translation
status](https://translate.fedoraproject.org/widget/systemd/main/horizontal-auto.svg)

6 weeks agopo: Translated using Weblate (Chinese (Simplified) (zh_CN)) 40876/head
lumingzh [Fri, 27 Feb 2026 16:58:42 +0000 (16:58 +0000)] 
po: Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: lumingzh <lumingzh@qq.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/zh_CN/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Korean)
김인수 [Fri, 27 Feb 2026 16:58:42 +0000 (16:58 +0000)] 
po: Translated using Weblate (Korean)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: 김인수 <simmon@nplob.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ko/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (French)
Léane GRASSER [Fri, 27 Feb 2026 16:58:42 +0000 (16:58 +0000)] 
po: Translated using Weblate (French)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Greek)
Efstathios Iosifidis [Fri, 27 Feb 2026 16:58:41 +0000 (16:58 +0000)] 
po: Translated using Weblate (Greek)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Efstathios Iosifidis <eiosifidis@yandex.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/el/
Translation: systemd/main

6 weeks agotmpfiles: downgrade log level for non-existent symlink target 40875/head
Mike Yuan [Fri, 27 Feb 2026 16:08:27 +0000 (17:08 +0100)] 
tmpfiles: downgrade log level for non-existent symlink target

I'm seeing a *lot* of noise induced by missing varlink sockets
under /run/host/ after 336369393588fcdf20e37d4c766e119db0b2f781.

6 weeks agotmpfiles: fix doubled "/" in root + path logging
Mike Yuan [Fri, 27 Feb 2026 16:04:41 +0000 (17:04 +0100)] 
tmpfiles: fix doubled "/" in root + path logging

6 weeks agocryptsetup-tokens: Print tpm2-primary-alg: only when it is known 40872/head
Vitaly Kuznetsov [Fri, 27 Feb 2026 13:20:20 +0000 (14:20 +0100)] 
cryptsetup-tokens: Print tpm2-primary-alg: only when it is known

When 'tpm2-primary-alg' is missing in LUKS JSON token, the output of
'cryptsetup luksDump' is always:

tpm2-primary-alg: ecc

because tpm2_parse_luks2_json() returns the default (TPM2_ALG_ECC). This can be
misleading and wrong. Make tpm2_parse_luks2_json() return the reality and move
the default to tpm2_unseal().

6 weeks agomountpoint-util: remove duplicate check in fstype_is_api_vfs() 40866/head
Pontus Lundkvist [Fri, 27 Feb 2026 13:09:59 +0000 (14:09 +0100)] 
mountpoint-util: remove duplicate check in fstype_is_api_vfs()

devtmpfs is part of the @basic-api filesystem-set

6 weeks agomountpoint-util: add exempt for overlay in fstype_is_blockdev_backed()
Pontus Lundkvist [Fri, 27 Feb 2026 13:05:10 +0000 (14:05 +0100)] 
mountpoint-util: add exempt for overlay in fstype_is_blockdev_backed()

This allows `systemd-mount` to be used with --type overlay

6 weeks agocryptenroll: Save primary algorithm type to the LUKS token
Vitaly Kuznetsov [Fri, 27 Feb 2026 12:46:07 +0000 (13:46 +0100)] 
cryptenroll: Save primary algorithm type to the LUKS token

'tpm2-primary-alg' field is currently unset in LUKS JSON token both for the
case when SRK was used for enrolling (--tpm2-device-key=) and for the case when
SRK was obtained/generated (--tpm2-device=). While this information is not
really needed for unsealing (the sealed object itself has key type in it), it
may be convenient to see key type in e.g. 'cryptsetup luksDump' in the
situations where key type matters. Since 'tpm2-primary-alg' is already defined,
just set it properly in all cases.

6 weeks agoshared/dropin: use set_contains() where appropriate
Mike Yuan [Thu, 26 Feb 2026 16:44:57 +0000 (17:44 +0100)] 
shared/dropin: use set_contains() where appropriate

6 weeks agoshared: fix sysext ImageType IDL missing mstack value, add enum IDL test
noxiouz [Fri, 27 Feb 2026 02:24:29 +0000 (02:24 +0000)] 
shared: fix sysext ImageType IDL missing mstack value, add enum IDL test

Add the missing 'mstack' value to the ImageType enum in the
io.systemd.sysext Varlink IDL — image_type_table in discover-image.c
already defines IMAGE_MSTACK = "mstack" but it was absent from the IDL.

Export vl_type_ImageType so the test can reference it, and add
TEST_IDL_ENUM(ImageType, ...) to the enums_idl test to catch
similar regressions in the future.

6 weeks agoshared: fix comment typos in Udev and AskPassword Varlink IDL
noxiouz [Fri, 27 Feb 2026 02:33:22 +0000 (02:33 +0000)] 
shared: fix comment typos in Udev and AskPassword Varlink IDL

6 weeks agomountfsd: include imageName in MountImage Varlink reply
noxiouz [Fri, 27 Feb 2026 02:42:26 +0000 (02:42 +0000)] 
mountfsd: include imageName in MountImage Varlink reply

6 weeks agoimport: fix AlreadyInProgress Varlink error missing remote field
noxiouz [Fri, 27 Feb 2026 00:02:12 +0000 (00:02 +0000)] 
import: fix AlreadyInProgress Varlink error missing remote field

The handler sends the remote URL as a parameter via sd_varlink_errorbo()
but the IDL declared the error with no fields, making the payload
undiscoverable via introspection.

6 weeks agohostname: fix OperatingSystemImageID/Version Varlink IDL
noxiouz [Thu, 26 Feb 2026 21:57:52 +0000 (21:57 +0000)] 
hostname: fix OperatingSystemImageID/Version Varlink IDL

Both fields are populated from IMAGE_ID/IMAGE_VERSION in os-release,
which are plain strings.

Fix typo in include.

6 weeks agotpm2-setup: make NV index space exhaustion issues more discoverable (#40841)
Luca Boccassi [Thu, 26 Feb 2026 23:52:28 +0000 (23:52 +0000)] 
tpm2-setup: make NV index space exhaustion issues more discoverable (#40841)

6 weeks agoNEWS: fix manpage section for os-release
Christopher Cooper [Thu, 26 Feb 2026 19:18:48 +0000 (11:18 -0800)] 
NEWS: fix manpage section for os-release

6 weeks agoSmall hwdb cleanups (#40854)
Luca Boccassi [Thu, 26 Feb 2026 20:12:47 +0000 (20:12 +0000)] 
Small hwdb cleanups (#40854)

6 weeks agohwdb: use more modern python syntax in one more place 40854/head
Zbigniew Jędrzejewski-Szmek [Thu, 26 Feb 2026 18:02:03 +0000 (19:02 +0100)] 
hwdb: use more modern python syntax in one more place

6 weeks agohwdb: fix typos reported by Copilot, reword comment
Zbigniew Jędrzejewski-Szmek [Thu, 26 Feb 2026 18:01:23 +0000 (19:01 +0100)] 
hwdb: fix typos reported by Copilot, reword comment

6 weeks agohwdb: drop trailing whitespace
Zbigniew Jędrzejewski-Szmek [Thu, 26 Feb 2026 17:12:03 +0000 (18:12 +0100)] 
hwdb: drop trailing whitespace

Fixup for f6f695ba5ac73d0a28ea88697eeeecb7dbaaa9c7 and
774e8059590fac45614a135161dee4669945e342.

6 weeks agoFixes for yeswehack reports (#40840)
Zbigniew Jędrzejewski-Szmek [Thu, 26 Feb 2026 16:55:52 +0000 (17:55 +0100)] 
Fixes for yeswehack reports (#40840)

6 weeks agoTranslations update from Fedora Weblate (#40842)
Luca Boccassi [Thu, 26 Feb 2026 14:47:39 +0000 (14:47 +0000)] 
Translations update from Fedora Weblate (#40842)

Translations update from [Fedora
Weblate](https://translate.fedoraproject.org) for
[systemd/main](https://translate.fedoraproject.org/projects/systemd/main/).

Current translation status:

![Weblate translation
status](https://translate.fedoraproject.org/widget/systemd/main/horizontal-auto.svg)

6 weeks agopo: Translated using Weblate (Arabic) 40842/head
joo es [Thu, 26 Feb 2026 13:58:31 +0000 (13:58 +0000)] 
po: Translated using Weblate (Arabic)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: joo es <jonnyse@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ar/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Swedish)
Daniel Nylander [Thu, 26 Feb 2026 13:58:30 +0000 (13:58 +0000)] 
po: Translated using Weblate (Swedish)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Daniel Nylander <po@danielnylander.se>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sv/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Portuguese)
Américo Monteiro [Thu, 26 Feb 2026 13:58:30 +0000 (13:58 +0000)] 
po: Translated using Weblate (Portuguese)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Américo Monteiro <a_monteiro@gmx.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/pt/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Ukrainian)
Yuri Chornoivan [Thu, 26 Feb 2026 13:58:30 +0000 (13:58 +0000)] 
po: Translated using Weblate (Ukrainian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/uk/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Kazakh)
Baurzhan Muftakhidinov [Thu, 26 Feb 2026 13:58:29 +0000 (13:58 +0000)] 
po: Translated using Weblate (Kazakh)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/kk/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Turkish)
Oğuz Ersen [Thu, 26 Feb 2026 13:58:29 +0000 (13:58 +0000)] 
po: Translated using Weblate (Turkish)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/tr/
Translation: systemd/main

6 weeks agopo: Translated using Weblate (Georgian)
Temuri Doghonadze [Thu, 26 Feb 2026 13:58:29 +0000 (13:58 +0000)] 
po: Translated using Weblate (Georgian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ka/
Translation: systemd/main

6 weeks agocore: validate input cgroup path more prudently 40840/head
Mike Yuan [Thu, 26 Feb 2026 10:06:34 +0000 (11:06 +0100)] 
core: validate input cgroup path more prudently

6 weeks agocore/cgroup: avoid one unnecessary strjoina()
Mike Yuan [Thu, 26 Feb 2026 10:06:00 +0000 (11:06 +0100)] 
core/cgroup: avoid one unnecessary strjoina()

6 weeks agocore/dbus-unit: query sender uid only once, validate unit uid early
Mike Yuan [Sat, 21 Feb 2026 18:53:03 +0000 (19:53 +0100)] 
core/dbus-unit: query sender uid only once, validate unit uid early

Follow-up for 05f5156ad1a3b84b54c104ee375b9ce7b746e0cd

6 weeks agosd-json: fix off-by-one issue when updating parent for array elements
Mike Yuan [Thu, 26 Feb 2026 10:07:39 +0000 (11:07 +0100)] 
sd-json: fix off-by-one issue when updating parent for array elements

Follow-up for 8525bb369a09f488ec77f94e1557ecc2343eb4ab

6 weeks agotpm2-setup: make NV index space exhaustion issues more discoverable 40841/head
Lennart Poettering [Thu, 26 Feb 2026 10:23:08 +0000 (11:23 +0100)] 
tpm2-setup: make NV index space exhaustion issues more discoverable

Let's log about this explicitly, and include a message catalog entry for
it.

6 weeks agotpm2-util: fix log level of one log call
Lennart Poettering [Thu, 26 Feb 2026 10:33:46 +0000 (11:33 +0100)] 
tpm2-util: fix log level of one log call