]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 months 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)

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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.

2 months 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

2 months 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().

2 months 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

2 months 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

2 months 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.

2 months 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

2 months 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.

2 months 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

2 months 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

2 months 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.

2 months 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.

2 months 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)

2 months 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

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

2 months 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

2 months 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

2 months 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.

2 months 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)

2 months 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)

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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()

2 months 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

2 months 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

2 months 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.

2 months 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

2 months agocore/socket: fix reversed symlink direction in error message
Zbigniew Jędrzejewski-Szmek [Thu, 26 Feb 2026 08:25:48 +0000 (09:25 +0100)] 
core/socket: fix reversed symlink direction in error message

After the update to 260-rc1 in Fedora Rawhide, we get a lot of messages like
this:
  systemd[1]: systemd-resolved-monitor.socket:
  Failed to create symlink /run/systemd/resolve/io.systemd.Resolve.Monitor →
  /run/varlink/registry/io.systemd.Resolve.Monitor, ignoring: Permission denied

The actual issue will need to be fixed too, but let's fix the message first.
While at it, let's rename the variables to be meaningful.

2 months agotest-qr-code: allow specifying the text to encode
Zbigniew Jędrzejewski-Szmek [Wed, 25 Feb 2026 08:35:37 +0000 (09:35 +0100)] 
test-qr-code: allow specifying the text to encode

2 months agonetwork: do not create state file for removed interface
Yu Watanabe [Wed, 25 Feb 2026 15:31:39 +0000 (00:31 +0900)] 
network: do not create state file for removed interface

Fixes #40817.

2 months agomkosi: explicitly add mount package to build image
Luca Boccassi [Wed, 25 Feb 2026 23:12:28 +0000 (23:12 +0000)] 
mkosi: explicitly add mount package to build image

Some dependency changed in testing and it's not pulled in anymore:

‣  Running build script /home/runner/work/systemd/systemd/mkosi/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.build.chroot…
/work/build-script: line 35: mount: command not found
‣ /work/build-script failed with non-zero exit code 127
‣ (Maybe a program was not found or the script interpreter (e.g. bash) is not installed?)
FAILED: [code=127] mkosi

2 months agosemaphore: switch to debian stable
Luca Boccassi [Wed, 25 Feb 2026 23:08:41 +0000 (23:08 +0000)] 
semaphore: switch to debian stable

oldstable is close to moving to LTS so switch to stable

2 months agorpm/systemd-update-helper: use 'enqueue-marked-jobs'
Zbigniew Jędrzejewski-Szmek [Wed, 25 Feb 2026 21:04:16 +0000 (22:04 +0100)] 
rpm/systemd-update-helper: use 'enqueue-marked-jobs'

Without this, a warning is emitted on upgrades.
Follow-up for c008f88dede789ce4572c21a2bca16ff7eede193.

2 months agoman: fix typo
Luca Boccassi [Wed, 25 Feb 2026 18:57:59 +0000 (18:57 +0000)] 
man: fix typo

Follow-up for 23115eeaf10

2 months agotest: delete one more test artifact on shutdown
Luca Boccassi [Wed, 25 Feb 2026 18:35:06 +0000 (18:35 +0000)] 
test: delete one more test artifact on shutdown

Hopefully fixes:

[  154.500726] TEST-13-NSPAWN.sh[4351]: + tar -C /var/tmp/mangletest/ -cvzf /var/tmp/mangletest.tar.gz mangletest-0.1
[  154.504485] TEST-13-NSPAWN.sh[5402]: mangletest-0.1/
[  154.506908] TEST-13-NSPAWN.sh[5402]: mangletest-0.1/usr/
[  154.508713] TEST-13-NSPAWN.sh[5402]: mangletest-0.1/usr/lib/
[  154.509208] TEST-13-NSPAWN.sh[5402]: mangletest-0.1/usr/lib/os-release
[  154.509877] TEST-13-NSPAWN.sh[4351]: + run0 --pipe -u testuser importctl -m --user import-tar /var/tmp/mangletest.tar.gz
[  154.693870] TEST-13-NSPAWN.sh[5405]: Enqueued transfer job 9. Press C-c to continue download in background.
[  154.696371] TEST-13-NSPAWN.sh[5405]: Image 'mangletest' already exists.

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

Follow-up for 4248b02c443de2981b2e8da199fdc63dc3121658

2 months agomeson: bump version to v260~rc1 v260-rc1
Luca Boccassi [Wed, 25 Feb 2026 15:54:00 +0000 (15:54 +0000)] 
meson: bump version to v260~rc1

2 months agomeson: bump library sonames for v260~rc1
Luca Boccassi [Wed, 25 Feb 2026 15:53:38 +0000 (15:53 +0000)] 
meson: bump library sonames for v260~rc1

2 months agoNEWS: add date and place
Luca Boccassi [Wed, 25 Feb 2026 15:52:57 +0000 (15:52 +0000)] 
NEWS: add date and place

2 months agoNEWS: add contributors list
Luca Boccassi [Wed, 25 Feb 2026 15:52:48 +0000 (15:52 +0000)] 
NEWS: add contributors list

2 months agoNEWS: list hwids change
Luca Boccassi [Wed, 25 Feb 2026 15:51:27 +0000 (15:51 +0000)] 
NEWS: list hwids change

2 months agoboot: import Snapdragon device hwid json files, install them and use them from ukify...
Luca Boccassi [Wed, 25 Feb 2026 15:46:30 +0000 (15:46 +0000)] 
boot: import Snapdragon device hwid json files, install them and use them from ukify (#40541)

The json files were originally generated for Ubuntu stubble and are kown
to work since they ship in all Ubuntu arm64 ISOs by default.

Some of the devices might not be supported in mainline Linux yet and use
preliminary compatible strings.

2 months agoUpgrade /tmp when PrivateTmp=yes/DefaultDeps=no to disconnected (#39790)
Zbigniew Jędrzejewski-Szmek [Wed, 25 Feb 2026 15:14:13 +0000 (16:14 +0100)] 
Upgrade /tmp when PrivateTmp=yes/DefaultDeps=no to disconnected (#39790)

2 months agobootctl: override is_efi_boot() check by --variables= option (#40413)
Zbigniew Jędrzejewski-Szmek [Wed, 25 Feb 2026 14:42:53 +0000 (15:42 +0100)] 
bootctl: override is_efi_boot() check by --variables= option (#40413)

Fixes #40392.

2 months agoukify: default --hwids to /usr/lib/systemd/boot/hwids/<EFI_ARCH>/ 40541/head
Luca Boccassi [Tue, 24 Feb 2026 22:00:35 +0000 (22:00 +0000)] 
ukify: default --hwids to /usr/lib/systemd/boot/hwids/<EFI_ARCH>/

If the option is not manually specified, and the hwids directory exists
for the target EFI architecture, default to it. Allow passing '' to skip.

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

2 months agoman: fix line breaking in ukify manpage
Luca Boccassi [Tue, 24 Feb 2026 21:56:48 +0000 (21:56 +0000)] 
man: fix line breaking in ukify manpage

Follow-up for 098e44d03cf1968434990b7d62a0e6221fc675e0

2 months agoInstall hwids in /usr/lib/systemd/boot/hwids/<EFI_ARCH>/
Luca Boccassi [Tue, 24 Feb 2026 21:09:26 +0000 (21:09 +0000)] 
Install hwids in /usr/lib/systemd/boot/hwids/<EFI_ARCH>/

These are meant to ship with ukify, in the same package,
so install them when ukify is enabled. Given they are
hardware-specific, use a per-arch subdirectory to make it
easier to enable them by default in ukify.

2 months agoboot: import Snapdragon device hwid json files
Tobias Heider [Mon, 2 Feb 2026 11:08:46 +0000 (12:08 +0100)] 
boot: import Snapdragon device hwid json files

Add hwids json files for Snapdragon devices that use of this
feature since they don't ship with devie trees embedded in firmware.
The json files were originally generated for Ubuntu stubble and
are kown to work since they ship in all Ubuntu arm64 ISOs by default.

Some of the devices might not be supported in mainline Linux yet
and use preliminary compatible strings.

2 months agotest: move test hwids to separate subdirectory
Luca Boccassi [Tue, 24 Feb 2026 18:17:45 +0000 (18:17 +0000)] 
test: move test hwids to separate subdirectory

Will allow installing the actual hwids as a single subdir

2 months agomkosi: update fedora commit reference to 23a1c1fed99e152d9c498204175a7643371a822c
Luca Boccassi [Wed, 25 Feb 2026 13:50:25 +0000 (13:50 +0000)] 
mkosi: update fedora commit reference to 23a1c1fed99e152d9c498204175a7643371a822c

23a1c1fed9 Install /usr/lib/systemd/boot/hwids/ in ukify package
985170fdc6 Version 259.1
2e10d7da1e Revert getty changes a bit harder
96c683c3de Revert all remaing changes to getty@.service
24a305a398 Revert to previous handling of getty@.service
6a500eb814 Create getty@tty1.service again and move autovt@.service alias to /usr/lib
88bd4ab206 Properly enable systemd-tmpfiles-clear.service in scriptlets
d9f3f02206 Raise the number of placeholder sections in kernel and addon stubs
e301db0151 Stop enabling getty@tty1.service
a1c33507a2 Fix unit names in systemd-udev scriptlet
b7b3e024d6 Enable getty@.service through presets
ec5e1b1ed7 Move tpm2 and getty support to -udev subpackage
9c9976a7f8 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
f353d244fd Add 2 patches for automatic aarch64 DTB selection change
399885597c Revert "Disable sysinit-path for upstream builds"

2 months agoNEWS: two news things (#40826)
Luca Boccassi [Wed, 25 Feb 2026 13:26:02 +0000 (13:26 +0000)] 
NEWS: two news things (#40826)

2 months agoNEWS: mention userns mapping change 40826/head
Zbigniew Jędrzejewski-Szmek [Wed, 25 Feb 2026 13:07:02 +0000 (14:07 +0100)] 
NEWS: mention userns mapping change

Closes #40495.
C.f. 24c73c79204bd22d243430bc0d9c2a7d814250bf,
     705cc82938b67fa110f2f6f5d28bfb9ec2f339c0.

2 months agoNEWS: typos and rewordings
Zbigniew Jędrzejewski-Szmek [Wed, 25 Feb 2026 12:53:33 +0000 (13:53 +0100)] 
NEWS: typos and rewordings

2 months agoAdditions to nsresourced and vmspawn required for making use of the foreign UID range...
Daan De Meyer [Wed, 25 Feb 2026 12:49:19 +0000 (13:49 +0100)] 
Additions to nsresourced and vmspawn required for making use of the foreign UID range in mkosi (#40415)

2 months agopo: Update translation files
Hosted Weblate [Wed, 25 Feb 2026 11:59:20 +0000 (11:59 +0000)] 
po: Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/
Translation: systemd/main

2 months agomkosi: add groupadd/groupmod to ASAN wrappers list
Luca Boccassi [Wed, 25 Feb 2026 11:16:28 +0000 (11:16 +0000)] 
mkosi: add groupadd/groupmod to ASAN wrappers list

TEST-74-AUX-UTILS.sh[3789]: + groupadd haldo
TEST-74-AUX-UTILS.sh[3875]: ==3875==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.

Follow-up for 1012c6ce76ce10772ece1c51b997b53b848054f5

2 months agoChores for RC1 (#40814)
Luca Boccassi [Wed, 25 Feb 2026 11:59:07 +0000 (11:59 +0000)] 
Chores for RC1 (#40814)

2 months agocore/namespace: clean up append_private_tmp() a bit 39790/head
Mike Yuan [Tue, 24 Feb 2026 18:40:14 +0000 (19:40 +0100)] 
core/namespace: clean up append_private_tmp() a bit

With the previous changes the modes for /tmp/ and /var/tmp/
may come in arbitrary directions, i.e. we may downgrade one
and upgrade another. Hence let's refactor the setup logic
a bit so they're truly independent.

2 months agocore: simplify requirements in unit_get_private_var_tmp() to just After=
Zbigniew Jędrzejewski-Szmek [Tue, 18 Nov 2025 14:12:55 +0000 (15:12 +0100)] 
core: simplify requirements in unit_get_private_var_tmp() to just After=

As in the previous commit, checking for both requirements and ordering seems
unnecessary. In practical cases, the mount will be pulled in by the rest
of the transaction, so ordering is the part that matters. (The setup is
racy without the ordering.)  If we drop the second check, the admin can
just use After=tmp.mount to achieve the desired behaviour, without needing
to explicitly pull in the unit. This is easier to configure and more robust.

This changes the implementation introduced in
6156bec7a464815084fa5218fe782ea6cb20ad52.

Also actually describe the implemented behaviour in the man page.

2 months agocore: upgrade /tmp when PrivateTmp=yes/DefaultDeps=no to disconnected
Zbigniew Jędrzejewski-Szmek [Tue, 18 Nov 2025 12:51:41 +0000 (13:51 +0100)] 
core: upgrade /tmp when PrivateTmp=yes/DefaultDeps=no to disconnected

In https://github.com/systemd/systemd/issues/28515, multiple people report that
services that have PrivateTmp=yes and DefaultDependencies=no fail to create the
temporary directories under /tmp, when /tmp is e.g. a bind mount or some other
kind of mount that takes more time.

Before PrivateTmp=disconnected was added, we didn't have a nice solution:
DefaultDependencies=no is used to start services very early, so we wouldn't
want to add a dependency on /tmp automatically. With PrivateTmp=disconnected we
have a fairly nice solution. Let's "upgrade" to this mode automatically.
Strictly speaking, it is a small compat break, but in practice it's unlikely to
matter for early-boot services whether their /tmp is private or disconnected.

The dependency on /tmp that is checked is After. I think this is enough,
since any tmp.mount would be pulled in by local-fs.target and the rest of
the transaction anyway, so we don't need to check more than After.

The asserts are relaxed, because now the two settings can now diverge
in either way.

Resolves https://github.com/systemd/systemd/issues/28515.

[yhndnzj: fix unit_add_exec_dependencies() to handle the new
          combination; add a comment in exec_needs_sys_admin()]

2 months agocore/execute: stop looking at ExecSharedRuntime to determine PrivateTmp= state
Mike Yuan [Tue, 24 Feb 2026 22:11:55 +0000 (23:11 +0100)] 
core/execute: stop looking at ExecSharedRuntime to determine PrivateTmp= state

The only reason why ExecSharedRuntime.(var_)tmp_dir might
be suppressed is when (/var)/tmp/ is listed in InaccessiblePaths=,
in which case mount namespace is needed anyways. Moreover,
the current logic imposes a chicken-and-egg problem:
at various places in pid1 we'd need to check whether
the unit runs in a mountns, but the ExecSharedRuntime
may not be allocated for it just yet.

2 months agocore/execute: make exec_shared_runtime_make() handle distinct PrivateTmp= modes properly
Mike Yuan [Tue, 24 Feb 2026 22:08:40 +0000 (23:08 +0100)] 
core/execute: make exec_shared_runtime_make() handle distinct PrivateTmp= modes properly

2 months agocore/namespace: two fixes for namespace_cleanup_tmpdir()
Mike Yuan [Wed, 25 Feb 2026 08:23:50 +0000 (09:23 +0100)] 
core/namespace: two fixes for namespace_cleanup_tmpdir()

* Make sure we're not passing NULL to rmdir()
* Remove the inner "tmp" subdir as well, so that callers
  can handle this transparently (e.g. exec_shared_runtime_make()
  is not aware of the nested rmdir() requirements)

While at it, remove unneeded PROTECT_ERRNO.

2 months agocore/namespace: rename() might return ENOTEMPTY if target dir exists
Mike Yuan [Wed, 25 Feb 2026 08:26:44 +0000 (09:26 +0100)] 
core/namespace: rename() might return ENOTEMPTY if target dir exists

2 months agocore/unit: refuse UserNamespacePath= + PrivateUsers=
Mike Yuan [Tue, 24 Feb 2026 22:33:24 +0000 (23:33 +0100)] 
core/unit: refuse UserNamespacePath= + PrivateUsers=

Such setup makes zero sense, as if we unshare userns ourselves
we'd immediately lose CAP_SYS_ADMIN over the userns specified.

2 months agocore/execute: do not suppress ExecSharedRuntime if userns path is specified
Mike Yuan [Tue, 24 Feb 2026 22:01:12 +0000 (23:01 +0100)] 
core/execute: do not suppress ExecSharedRuntime if userns path is specified

Follow-up for 79dd24cf14adc809620479d45a7b469cf3e82892

2 months agocore/exec-invoke: add missing char in comment
Zbigniew Jędrzejewski-Szmek [Thu, 5 Feb 2026 10:09:59 +0000 (11:09 +0100)] 
core/exec-invoke: add missing char in comment

2 months agoMinor follow-ups to inhibitor bug fixes
Adrian Vovk [Wed, 25 Feb 2026 00:15:29 +0000 (19:15 -0500)] 
Minor follow-ups to inhibitor bug fixes

Addresses Zbigniew's comments left on the previous MR after merging:
https://github.com/systemd/systemd/pull/40400#pullrequestreview-3849602215

2 months agoseccomp-util: add lsm_get_self_attr and lsm_list_modules to @default
Nick Rosbrook [Mon, 23 Feb 2026 20:25:27 +0000 (15:25 -0500)] 
seccomp-util: add lsm_get_self_attr and lsm_list_modules to @default

These syscalls are part of a newer kernel API to replace interaction
with /proc/self/attr, with the goal of allowing LSM stacking. These are
being used now by e.g. libapparmor, so should be more easily available
to services using seccomp filtering.

2 months agonspawn: Add support for delegated UID ranges 40415/head
Daan De Meyer [Fri, 20 Feb 2026 13:16:48 +0000 (14:16 +0100)] 
nspawn: Add support for delegated UID ranges

We expose this via --private-users-delegate= which takes the number of
ranges to delegate. On top of delegating the ranges, we also mount in
the nsresourced socket and the mountfsd socket so that nested containers
can use nsresourced to allocate from the delegated ranges and mountfsd to
mount images.

Finally, we also create /run/systemd/dissect-root with systemd-tmpfiles to
make sure it is always available as unpriv users won't be able to create it
themselves.

2 months agovmspawn: Add support for foreign UID range owned directories
Daan De Meyer [Thu, 22 Jan 2026 12:50:14 +0000 (13:50 +0100)] 
vmspawn: Add support for foreign UID range owned directories

2 months agoUpdate po files 40814/head
Luca Boccassi [Tue, 24 Feb 2026 18:49:38 +0000 (18:49 +0000)] 
Update po files

ninja -C build systemd-update-po

2 months agoUpdate systemd.pot
Luca Boccassi [Tue, 24 Feb 2026 18:43:25 +0000 (18:43 +0000)] 
Update systemd.pot

ninja -C build systemd-pot

2 months agoUpdate man/rules/meson.build
Luca Boccassi [Tue, 24 Feb 2026 18:42:43 +0000 (18:42 +0000)] 
Update man/rules/meson.build

ninja -C build update-man-rules

2 months agoman: drop conditional for systemd-mstack manpage
Luca Boccassi [Tue, 24 Feb 2026 18:40:49 +0000 (18:40 +0000)] 
man: drop conditional for systemd-mstack manpage

Follow-up for eb581ff6d9556d29f1b9b57d6a40c4adefde16a6

2 months agoUpdate hwdb autosuspend
Luca Boccassi [Tue, 24 Feb 2026 18:38:55 +0000 (18:38 +0000)] 
Update hwdb autosuspend

ninja -C build update-hwdb-autosuspend

2 months agoUpdate hwdb
Luca Boccassi [Tue, 24 Feb 2026 18:38:26 +0000 (18:38 +0000)] 
Update hwdb

ninja -C build update-hwdb

2 months agouserdbd: avoid sending gshadow hash to unprivileged callers via varlink
Luca Boccassi [Wed, 25 Feb 2026 00:21:17 +0000 (00:21 +0000)] 
userdbd: avoid sending gshadow hash to unprivileged callers via varlink

Reported on yeswehack as YWH-PGM9780-59

Follow-up for d093b62c941ebd6cf16ef9dd6430841eb361ed92

2 months agoNEWS: note recently added features
Luca Boccassi [Tue, 24 Feb 2026 23:53:45 +0000 (23:53 +0000)] 
NEWS: note recently added features

2 months agosystemctl-start-unit: drop redundant check for enqueue-marked-jobs --wait
Mike Yuan [Tue, 24 Feb 2026 17:48:31 +0000 (18:48 +0100)] 
systemctl-start-unit: drop redundant check for enqueue-marked-jobs --wait

Follow-up for c008f88dede789ce4572c21a2bca16ff7eede193

The check at the beginning of the function already covers this.

2 months agotest: avoid hanging forever waiting for udev if not a booted system
Luca Boccassi [Fri, 20 Feb 2026 19:28:34 +0000 (19:28 +0000)] 
test: avoid hanging forever waiting for udev if not a booted system

test_sd_device_enumerator_filter_subsystem hangs forever in OBS builds,
as it waits for the udev queue to be drained. But this is not a booted
system, with systemd and udev, so nothing will do that.
Skip the test in that case.

2 months agonetwork: several follow-ups for new varlink methods (#40808)
Daan De Meyer [Tue, 24 Feb 2026 18:59:01 +0000 (19:59 +0100)] 
network: several follow-ups for new varlink methods (#40808)

2 months agocore: check selinux/polkit access on varlink SetProperty
Luca Boccassi [Tue, 24 Feb 2026 15:38:47 +0000 (15:38 +0000)] 
core: check selinux/polkit access on varlink SetProperty

Reported on yeswehack.com as:
YWH-PGM9780-92

Follow-up for 0e1c4de235908dfe507fbbddb06ad49b53ccb86b

2 months agotree-wide: a small number of small fixlets all over the place (#40797)
Luca Boccassi [Tue, 24 Feb 2026 18:53:17 +0000 (18:53 +0000)] 
tree-wide: a small number of small fixlets all over the place (#40797)

2 months agobash-completion/systemctl: add enqueue-marked-jobs and deprecate --marked
Yu Watanabe [Tue, 24 Feb 2026 17:43:31 +0000 (02:43 +0900)] 
bash-completion/systemctl: add enqueue-marked-jobs and deprecate --marked

Follow-up for #40810.

2 months agodissect: Go via service on ENOENT from loop_device_make() as well
Daan De Meyer [Sat, 21 Feb 2026 20:36:16 +0000 (21:36 +0100)] 
dissect: Go via service on ENOENT from loop_device_make() as well

ENOENT means /dev/loop-control isn't there which means we're in a
container and should go via mountfsd.

At the same time, reverse the check for fatal actions as almost all
actions can be done via mountfsd, only --attach needs the loop device.

2 months agomountfsd: Relax user namespace checks
Daan De Meyer [Fri, 20 Feb 2026 18:14:55 +0000 (19:14 +0100)] 
mountfsd: Relax user namespace checks

- Allow foreign UID range
- Allow delegated UID ranges

Both of these can now be mapped by nsresourced into user namespaces
and hence should be accepted by mountfsd.

2 months agonsresourced: Optionally map foreign UID range
Daan De Meyer [Thu, 29 Jan 2026 15:45:59 +0000 (16:45 +0100)] 
nsresourced: Optionally map foreign UID range

Whenever delegating UID ranges to a user namespace, it can also be
useful to map the foreign UID range, so that the container running in
the user namespace with delegated UID ranges can download container
images and unpack them to the foreign UID range.

Let's add an option mapForeign to make this possible. Note that this option
gives unprivileged users full access to the any foreign UID range owned directory
that they can access. Hence it is recommended (and already was recommended) to
store foreign UID range owned directories in a 0700 directory owned by the
owner of the tree to avoid access and modifications by other users.

This is already the case for the main users of the foreign UID range,
namely /var/lib/machines, /var/lib/portables and /home/<user> which all
use 0700 as their mode.

Users will also be able to create foreign UID range owned inodes in any
directories their own user can write to (on most systems this means /tmp,
/var/tmp and /home/<user>).

2 months agonsresourced: Add support for self mappings with delegations
Daan De Meyer [Sat, 24 Jan 2026 00:03:35 +0000 (01:03 +0100)] 
nsresourced: Add support for self mappings with delegations

mkosi does all of its environment setup in an unprivileged user
namespace with an identity mapping. When it invokes nspawn and nspawn
tries to get a transient userns from nsresourced, this fails as no
transient ranges are mapped into mkosi's unprivileged userns (as doing
so would require privileges).

To fix this problem, let's allow allocating unprivileged self user
namespaces in nsresourced, similar to what the kernel allows, except that
we also support delegations for these. This means that mkosi can get its
unprivileged userns as before from nsresourced, but it can also request a
delegated 64K range inside that userns as well, which nsresourced can then
allocate to nspawn later when it asks for one.

Similar to the kernel, we disallow setgroups for self mappings. However,
instead of doing this via /proc/self/setgroups, which applies to the current
user namespace and all its child user namespaces, we use the BPF LSM to deny
setgroups instead, so that it can still be allowed for child user namespaces.
We need this because as soon as a container launches in a child user namespace
using one of the delegated mappings, it has to be able to do setgroups() to be
able to function properly.

To allow mapping the root user, we need to add the CAP_SETFCAP capability to
nsresourced.

2 months agonsresourced: Add support for delegated ranges
Daan De Meyer [Fri, 23 Jan 2026 11:31:47 +0000 (12:31 +0100)] 
nsresourced: Add support for delegated ranges

We want to support the scenario where we bind mount the nsresourced
varlink socket into a container to allow nested containers where the
outer container runs in its own transient range from nsresourced but
can still allocate transient ranges for its own nested containers.

To support this use case let's add support for delegation. Delegated
ranges are allocated when allocating the primary range and are propagated
1:1 to the user namespace. We track delegated ranges in ".delegate" files
in the userns registry so that they can't be used for other range allocations.

We make one exception for delegated ranges though, if we get a request from
a user namespace that is a child of the user namespace that owns the delegated
ranges, we allow allocating from the delegated range. The parent userns already
has full ownership over the child userns, so it doesn't matter that the parent
userns and the child userns share the same range. This allows making use of
delegated ranges without having to run another copy of nsresourced inside the
parent userns to hand out from the delegated range.

To support recursive delegations, we keep track of the previous owners of the
delegated range and restore ownership to the last previous owner when the current
owner is freed.