]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
7 weeks agonetworkctl: list drop unused dbus connection
Anton Tiurin [Sat, 6 Sep 2025 09:51:21 +0000 (02:51 -0700)] 
networkctl: list drop unused dbus connection

Do not acquire dbus connection as it is unused in list_links

7 weeks agoTwo logging fixups (#38794)
Zbigniew Jędrzejewski-Szmek [Wed, 17 Sep 2025 12:38:40 +0000 (14:38 +0200)] 
Two logging fixups (#38794)

7 weeks agocore: drop dead code
Luca Boccassi [Thu, 28 Aug 2025 18:46:41 +0000 (19:46 +0100)] 
core: drop dead code

Variable is not used anymore

7 weeks agocore/bpf-foreign: use RET_GATHER()
Yu Watanabe [Tue, 26 Aug 2025 18:45:41 +0000 (03:45 +0900)] 
core/bpf-foreign: use RET_GATHER()

7 weeks agobootctl: drop unnecessary verb_unlink()
Yu Watanabe [Mon, 25 Aug 2025 15:33:40 +0000 (00:33 +0900)] 
bootctl: drop unnecessary verb_unlink()

It is a trivial wrapper for verb_list(). Let's directly use verb_list()
and drop verb_unlink().

Follow-up for 8702496bfb0205764569782a9a2ebd11fd80e5e8.

7 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

7 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

7 weeks agoSome post unmerged-usr cleanups (#38696)
Zbigniew Jędrzejewski-Szmek [Wed, 17 Sep 2025 12:22:05 +0000 (14:22 +0200)] 
Some post unmerged-usr  cleanups (#38696)

I noticed in our NixOS packaging that we were working around the fact
that core/swap.c looks for swapon and swapoff in /sbin

Lets make it configurable just like all the other util-linux binaries
through meson and make it default to /usr/sbin/{swapon,swapoff}

This way mounts work on a systemd without the /sbin -> /usr/sbin
compatibility symlink. (And as a side-effect has NixOS be able to have
it in /nix/store too like the other util-linux tools).

Given that `unmerged-usr` support was dropped in 255 I think this is a
safe change?

7 weeks agoboot: add assertions
Yu Watanabe [Wed, 20 Aug 2025 07:49:32 +0000 (16:49 +0900)] 
boot: add assertions

To silence coverity.

Closes CID#1620098.

7 weeks agofd-util: fix path_is_root_at() when dealing with detached mounts (#38636)
Zbigniew Jędrzejewski-Szmek [Wed, 17 Sep 2025 12:14:58 +0000 (14:14 +0200)] 
fd-util: fix path_is_root_at() when dealing with detached mounts (#38636)

path_is_root_at() is supposed to detect if the inode referenced by the
specified fd is the "root inode". For that it checks if the inode and
its parent are the same inode and the same mount. Traditionally this
check was correct. But these days we actually have detached mounts (i.e.
those returned by fsmount() and related calls), whose root inode also
behaves like that.

Our uses for path_is_root_at() use the function to detect if an absolute
path would be identical to a relative path based on the specified fd
(sepifically: chaseat()), which goes really wrong if used on a detached
mount.

hence, let's adjust the function a bit, and let's go by path to "/" to
check if the referenced inode is the actual root inode in our chroot.

7 weeks agonspawn: add NamespacePath support for nspawn files
Alan Brady [Wed, 6 Aug 2025 17:38:59 +0000 (20:38 +0300)] 
nspawn: add NamespacePath support for nspawn files

Commit d7bea6b6 ("nspawn: introduce an option for specifying network
namespace path") already did most of the work here enabling a command
line option for specifying the namespace path for a given container.
Someone even took care of the merging code in merge_settings as though
this already worked. All that's then needed is to add a line to the
nspawn-gperf.gperf file to actually enable being able to specify
NamespacePath from nspawn files as well.

This greatly simplifies how we configure nspawn containers by being able
to give all the options we need in .nspawn files instead of needing to
also use command line parameters.

Closes: #27188
7 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

7 weeks agomeson: bump version to 259~devel for next cycle
Luca Boccassi [Wed, 17 Sep 2025 12:06:07 +0000 (13:06 +0100)] 
meson: bump version to 259~devel for next cycle

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

7 weeks agotest: consolidate checks for unpriv nspawn support in TEST-13-NSPAWN
Luca Boccassi [Sat, 13 Sep 2025 11:25:08 +0000 (12:25 +0100)] 
test: consolidate checks for unpriv nspawn support in TEST-13-NSPAWN

[   69.058386] systemd-nspawn[4371]: varlink: Sending message: {"method":"io.systemd.NamespaceResource.AllocateUserRange","parameters":{"name":"nspawn-4371-zurps","mangleName":true,"size":65536,"userNamespaceFileDescriptor":0}}
[   69.058447] systemd-nsresourcework[4339]: varlink-6-6: Received message: {"method":"io.systemd.NamespaceResource.AllocateUserRange","parameters":{"name":"nspawn-4371-zurps","mangleName":true,"size":65536,"userNamespaceFileDescriptor":0}}
[   69.058455] systemd-nsresourcework[4339]: varlink-6-6: Changing state idle-server → processing-method
[   69.058479] systemd-nsresourcework[4339]: varlink-6-6: Sending message: {"error":"io.systemd.NamespaceResource.UserNamespaceInterfaceNotSupported","parameters":{}}
[   69.058482] systemd-nsresourcework[4339]: varlink-6-6: Changing state processing-method → processed-method
[   69.058486] systemd-nsresourcework[4339]: varlink-6-6: Changing state processed-method → idle-server
[   69.058599] systemd-nspawn[4371]: varlink: Received message: {"error":"io.systemd.NamespaceResource.UserNamespaceInterfaceNotSupported","parameters":{}}
[   69.058604] systemd-nspawn[4371]: varlink: Changing state calling → called
[   69.058609] systemd-nspawn[4371]: varlink: Changing state called → idle-client
[   69.058614] systemd-nspawn[4371]: Unprivileged user namespace delegation is not supported on this system.
[   69.058637] systemd-nsresourcework[4339]: varlink-6-6: Got POLLHUP from socket.
[   69.058647] systemd-nsresourcework[4339]: varlink-6-6: Changing state idle-server → pending-disconnect
[   69.058653] systemd-nsresourcework[4339]: varlink-6-6: Changing state pending-disconnect → processing-disconnect
[   69.058656] systemd-nsresourcework[4339]: varlink-6-6: Changing state processing-disconnect → disconnected
[   69.058698] systemd-nspawn[4371]: Failed to allocate user namespace with 64K users: Operation not supported
[   69.058779] systemd[4344]: systemd-nspawn@zurps.service: Got notification message from PID 4371: STOPPING=1, STATUS=Terminating...

Follow-up for bfd356da63d9fe0720f1b5a61c527c8822c3b808

7 weeks agomeson: link with -Wl,-z,gcs-report-dynamic=none (#38901)
Luca Boccassi [Mon, 15 Sep 2025 11:42:48 +0000 (12:42 +0100)] 
meson: link with -Wl,-z,gcs-report-dynamic=none (#38901)

There is a botched arm64 linker transition going on, where a new feature
is enabled (GCS) and the linker fails the build unless all object files
being linked are built with the new specific feature. This was enabled
in the toolchain (GCC 15) _before_ all libraries were rebuilt, including
glibc, so everything fails. The toolchain maintainers declined to fix it
and instead say that this is a useless warning to have, and to just
disable it and ignore it.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110461
> systemd fails to build from source on arm64 if built with GCC-15, currently in
> experimental.
>
> GCC-15 includes support for an arm64 security feature called Guarded Control
> Stack (GCS). To help with GCS adoption, the linker warns about shared libraries
> built without GCS. For example:
>
> /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libncursesw.so.6:
> warning: GCS is required by -z gcs, but this shared library lacks the necessary property note.
> The dynamic loader might not enable GCS or refuse to load the program unless
> all the shared library dependencies have the GCS marking.
>
> The warning is harmless, and can be ignored. However, systemd is built with
> --fatal-warnings, and for this reason will fail to build on arm64 once GCC-15
> becomes the default compiler in Debian.

[585/3230] Linking target src/core/libsystemd-core-258.so
FAILED: src/core/libsystemd-core-258.so
gcc  -o src/core/libsystemd-core-258.so  -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libsystemd-core-258.so -Wl,--whole-archive -Wl,--start-group src/core/libsystemd-core-258.a -Wl,--no-whole-archive -fstack-protector -Wl,-z,relro -specs=/usr/share/debhelper/dh_package_notes/debian-package-notes.specs -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/work/src=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -O0 -g -Og -Wdate-time '-Wl,-rpath,$ORIGIN/../shared' src/shared/libsystemd-shared-258.so -shared -Wl,--version-script=/work/src/src/shared/libshared.sym /usr/lib/aarch64-linux-gnu/libacl.so /usr/lib/aarch64-linux-gnu/libaudit.so /usr/lib/aarch64-linux-gnu/libblkid.so -ldl -lm /usr/lib/aarch64-linux-gnu/libmount.so -lrt /usr/lib/aarch64-linux-gnu/libseccomp.so /usr/lib/aarch64-linux-gnu/libselinux.so -Wl,--end-group -pthread -Wl,--fatal-warnings -Wl,-z,now -Wl,-z,relro -Wl,--gc-sections -Wl,--warn-common
src/shared/libsystemd-shared-258.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/usr/lib/aarch64-linux-gnu/libacl.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/usr/lib/aarch64-linux-gnu/libaudit.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/usr/lib/aarch64-linux-gnu/libblkid.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/lib/aarch64-linux-gnu/libm.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/lib/aarch64-linux-gnu/libmvec.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/usr/lib/aarch64-linux-gnu/libmount.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/usr/lib/aarch64-linux-gnu/libseccomp.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/usr/lib/aarch64-linux-gnu/libselinux.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
/lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
collect2: error: ld returned 1 exit status

7 weeks agoRevert "test: propagate log env vars in run-unit-tests.py wrapper"
Luca Boccassi [Sat, 13 Sep 2025 13:45:54 +0000 (14:45 +0100)] 
Revert "test: propagate log env vars in run-unit-tests.py wrapper"

The default is already to propagate the env vars, so this
was unnecessary and actually creates problem as it removes
custom PATHs

This reverts commit 994af53395df1b572e9a9addc4c9a5452f427034.

7 weeks agogenerators: when creating symlinks, silently ignore existing links in one more place
Zbigniew Jędrzejewski-Szmek [Mon, 8 Sep 2025 17:47:28 +0000 (19:47 +0200)] 
generators: when creating symlinks, silently ignore existing links in one more place

After the update to systemd 257.7 in Fedora, there are reports that we fail to
create a symlink:
  systemd-gpt-auto-generator[585]: Failed to create symlink /run/systemd/generator/local-fs.target.wants/systemd-fsck-root.service: File exists
  (sd-exec-[574]: /usr/lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.

I guess that some other generator created the symlink. We silently ignore
EEXIST in similar codepaths, so add that in one more place. (The target of the
symlink doesn't really matter. The name of the link matters. So something like
symlink_idempotent would not be better. For example, a different generator
might use a slightly different target path, and symlink_idempotent would be too
strict.)

7 weeks agohwdb: add HydraSDR RFOne
AsciiWolf [Mon, 15 Sep 2025 00:14:08 +0000 (02:14 +0200)] 
hwdb: add HydraSDR RFOne

7 weeks agosystemd-path: return accumulated error instead of last result
anthisfan [Sun, 14 Sep 2025 15:04:47 +0000 (00:04 +0900)] 
systemd-path: return accumulated error instead of last result

Because it returns the result of the final sd_path_lookup() call rather than the return value of RET_GATHER,
it appears that it may return success even if an error occurs during processing.

With this patch, errors encountered during the loop will be properly tallied and returned, and failures will not be silently ignored.

Signed-off-by: anthisfan <gtpgx305@gmail.com>
7 weeks agotest: ensure journal dir is writable by container in TEST-13-NSPAWN
Luca Boccassi [Sat, 13 Sep 2025 15:14:17 +0000 (16:14 +0100)] 
test: ensure journal dir is writable by container in TEST-13-NSPAWN

The systemd-journal group is not mapped, so ensure the test directory
is owned by root:root so that the mapping works.

Follow-up for 88fce090263ba8944cf491346eae2e8022dfd88d

7 weeks agoshell-completion: add missing arguments for journalctl
Luca Boccassi [Sat, 13 Sep 2025 14:28:10 +0000 (15:28 +0100)] 
shell-completion: add missing arguments for journalctl

7 weeks agodissect: include unistd.h
Yu Watanabe [Sun, 14 Sep 2025 02:54:35 +0000 (11:54 +0900)] 
dissect: include unistd.h

This is required by e.g. geteuid(), for the case when unistd.h is
indirectly included by other headers.

Continuation of 4f18ff2e29b8054f30b084abcabf5f689f4b340b.

7 weeks agoTEST-55-OOMD: Verify that ExecStopPost= runs on oom-kill
Daan De Meyer [Tue, 9 Sep 2025 11:27:06 +0000 (13:27 +0200)] 
TEST-55-OOMD: Verify that ExecStopPost= runs on oom-kill

8 weeks agoansi-color: fix stack overflow with debug level and invalid SYSTEMD_COLORS env var
Luca Boccassi [Wed, 10 Sep 2025 12:25:30 +0000 (13:25 +0100)] 
ansi-color: fix stack overflow with debug level and invalid SYSTEMD_COLORS env var

When SYSTEMD_COLORS is invalid, parse_systemd_colors() logs about it.
Logging helpers then call into parse_systemd_colors() to pretty-print
the log message, which then fails, so it logs about the failure,
rinse and repeat until segfault.

Follow-up for c8210d98a4b64af6fadb1cb765c0451758af1303

8 weeks agomkosi conf opensuse: add libtss2-tcti-device0 dep
val4oss [Tue, 9 Sep 2025 13:57:26 +0000 (15:57 +0200)] 
mkosi conf opensuse: add libtss2-tcti-device0 dep

* Add the TPM recommended package for opensuse mkosi conf to fix the
  TEST-70-TPM failure.

Signed-off-by: val4oss <github.widget541@passmail.net>
8 weeks agomkosi: pass through more toolchain flags
Luca Boccassi [Thu, 11 Sep 2025 17:39:17 +0000 (18:39 +0100)] 
mkosi: pass through more toolchain flags

8 weeks agohwdb: add LimeSDR XTRX devices
AsciiWolf [Thu, 11 Sep 2025 19:32:18 +0000 (21:32 +0200)] 
hwdb: add LimeSDR XTRX devices

8 weeks agohwdb: add missing Ettus Research B200 rule
AsciiWolf [Thu, 11 Sep 2025 14:14:18 +0000 (16:14 +0200)] 
hwdb: add missing Ettus Research B200 rule

https://github.com/EttusResearch/uhd/blob/master/host/utils/uhd-usrp.rules#L18

Not sure why it was missing.

8 weeks agotest-namespace: more fixes (#38875)
Luca Boccassi [Thu, 11 Sep 2025 14:32:24 +0000 (15:32 +0100)] 
test-namespace: more fixes (#38875)

8 weeks agotest: PR_DEATHSIG is reset after changing id/gid 38875/head
Luca Boccassi [Thu, 11 Sep 2025 12:16:26 +0000 (13:16 +0100)] 
test: PR_DEATHSIG is reset after changing id/gid

Child processes are left hanging on abort() as these child procs
freeze(), so test suites hang as well when test-namespace fails,
and processes are leaked.

From the docs:

The parent-death signal setting is also cleared upon changes to any of
the following thread credentials: effective user ID, effective group ID,
filesystem user ID, or filesystem group ID.

Set the deathsig again after changing id.

Follow-up for 2ade8218598afba0802b1007535b5c8deaeceb58

8 weeks agotest: do not leave process hanging in test-namespace
Luca Boccassi [Tue, 9 Sep 2025 23:32:02 +0000 (00:32 +0100)] 
test: do not leave process hanging in test-namespace

It is killed when the main test process exists, but still,
it will be left hanging while other test cases run, so it's
not very clean.

Follow-up for 8b5e3be88eeb1bdba50c87cb24d9e6b31e825f38

8 weeks agoukify: fix backend/option applicability docs
Christopher Head [Thu, 11 Sep 2025 05:40:46 +0000 (22:40 -0700)] 
ukify: fix backend/option applicability docs

The `SecureBootPrivateKey` and `SecureBootCertificate` options are used
by the `systemd-sbsign` backend, not just the `sbsign` backend.

8 weeks agotodo - main
Lennart Poettering [Wed, 10 Sep 2025 16:31:20 +0000 (18:31 +0200)] 
todo - main

8 weeks agohwdb: add MiriSDR MSi2500 devices
AsciiWolf [Thu, 11 Sep 2025 00:38:06 +0000 (02:38 +0200)] 
hwdb: add MiriSDR MSi2500 devices

8 weeks agohwdb: add more devices
AsciiWolf [Wed, 10 Sep 2025 22:58:46 +0000 (00:58 +0200)] 
hwdb: add more devices

- FUNcube Dongle Pro
- Great Scott Gadgets HackRF
- Microtelecom Perseus

8 weeks agohwdb: add Airspy devices
AsciiWolf [Tue, 9 Sep 2025 09:56:18 +0000 (11:56 +0200)] 
hwdb: add Airspy devices

8 weeks agoUpdate 60-sensor.hwdb - Add support for Lenovo Legion Go
DeKoile [Wed, 10 Sep 2025 18:22:36 +0000 (20:22 +0200)] 
Update 60-sensor.hwdb - Add support for Lenovo Legion Go

This adds support for the 3D Accelerometer of the Lenovo Legion Go

8 weeks agoTEST-64-UDEV-STORAGE: forcibly create new physical volume
Yu Watanabe [Wed, 10 Sep 2025 12:45:56 +0000 (21:45 +0900)] 
TEST-64-UDEV-STORAGE: forcibly create new physical volume

When the test VM is accidentally rebooted, there exists the previously
created volume, and the command fails with the following:
```
TEST-64-UDEV-STORAGE.sh[282]: + lvm pvcreate -y /dev/md/mdlvm
TEST-64-UDEV-STORAGE.sh[442]:   Can't initialize physical volume "/dev/md127" of volume group "mdlvm_vg" without -ff
TEST-64-UDEV-STORAGE.sh[442]:   /dev/md127: physical volume not initialized.
[FAILED] Failed to start TEST-64-UDEV-STORAGE-mdadm_lvm.service.
```
Let's ignore the existence of previous volume and forcibly create new one.

Workaround for issue #38240.

8 weeks agotest: propagate log env vars in run-unit-tests.py wrapper
Luca Boccassi [Wed, 10 Sep 2025 11:42:33 +0000 (12:42 +0100)] 
test: propagate log env vars in run-unit-tests.py wrapper

To make it easier to debug unit test failures

8 weeks agotest: exit from test child processes
Luca Boccassi [Tue, 9 Sep 2025 22:14:22 +0000 (23:14 +0100)] 
test: exit from test child processes

Otherwise the child processes will continue, return to the test
main function, and try to run other test cases themselves:

<...>
/* test_namespace_get_leader */
PID hierarchy: 553438 ← 553459 ← 553460
/* test_detach_mount_namespace_harder */
/* test_detach_mount_namespace_harder */
/* test_detach_mount_namespace_harder */

Follow-up for 0b8b13324e652cfc3b9f25dec0cf834705bbb8d0

8 weeks agoAdd Hantek DSO-6022 oscilloscopes and compatible devices
Martin Homuth-Rosemann [Tue, 9 Sep 2025 15:32:45 +0000 (17:32 +0200)] 
Add Hantek DSO-6022 oscilloscopes and compatible devices

Signed-off-by: Martin Homuth-Rosemann <Ho-Ro@users.noreply.github.com>
8 weeks agoRemove mention of inactive Tanglu distro from systemd-nspawn man page (#38873)
Raura [Tue, 9 Sep 2025 21:19:46 +0000 (00:19 +0300)] 
Remove mention of inactive Tanglu distro from systemd-nspawn man page (#38873)

Distribution seems inactive for a long time, and the mentioned website has disappeared.
https://distrowatch.com/table.php?distribution=tanglu

8 weeks agotest: remove extension from /var/lib/extensions at the end of the test
Luca Boccassi [Mon, 8 Sep 2025 12:38:30 +0000 (13:38 +0100)] 
test: remove extension from /var/lib/extensions at the end of the test

Otherwise it remains there, and another test case accidentally
uses it on refresh, which then makes another later test fail,
as the hierarchy is already merged:

[  203.969708] TEST-50-DISSECT.sh[890]: + systemd-sysext status
[  203.981831] TEST-50-DISSECT.sh[2795]: HIERARCHY EXTENSIONS SINCE
[  203.982196] TEST-50-DISSECT.sh[2795]: /opt      app0       Mon 2025-09-08 11:49:11 UTC
[  203.982551] TEST-50-DISSECT.sh[2795]: /usr      app0       Mon 2025-09-08 11:49:11 UTC

[  204.119772] TEST-50-DISSECT.sh[2799]: Hierarchy '/usr' is already merged.

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

8 weeks agobootctl: minor fixups (#38856)
Luca Boccassi [Mon, 8 Sep 2025 17:38:56 +0000 (18:38 +0100)] 
bootctl: minor fixups (#38856)

8 weeks agoman/loader.conf: specify that default entry is id...
Christian Hesse [Mon, 8 Sep 2025 07:45:42 +0000 (09:45 +0200)] 
man/loader.conf: specify that default entry is id...

... which is the file name including literal suffix `.conf`.

8 weeks agobash-completion/bootctl: add missing options and verb 38856/head
Antonio Alvarez Feijoo [Mon, 8 Sep 2025 10:37:26 +0000 (12:37 +0200)] 
bash-completion/bootctl: add missing options and verb

8 weeks agoman/bootctl: replace reference to --no-variables with --variables=no
Antonio Alvarez Feijoo [Mon, 8 Sep 2025 10:32:13 +0000 (12:32 +0200)] 
man/bootctl: replace reference to --no-variables with --variables=no

8 weeks agobootctl: clarify that --secure-boot-auto-enroll requires a boolean value
Antonio Alvarez Feijoo [Mon, 8 Sep 2025 10:31:27 +0000 (12:31 +0200)] 
bootctl: clarify that --secure-boot-auto-enroll requires a boolean value

8 weeks agobootctl: fix reference to non-existent option in error log
Antonio Alvarez Feijoo [Mon, 8 Sep 2025 10:30:35 +0000 (12:30 +0200)] 
bootctl: fix reference to non-existent option in error log

8 weeks agopo: Translated using Weblate (Khmer (Central))
kanitha chim [Sun, 7 Sep 2025 19:28:13 +0000 (19:28 +0000)] 
po: Translated using Weblate (Khmer (Central))

Currently translated at 57.5% (152 of 264 strings)

Co-authored-by: kanitha chim <kchim@redhat.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/km/
Translation: systemd/main

2 months agocatalog: update Polish translation
Piotr Drąg [Sat, 6 Sep 2025 13:37:44 +0000 (15:37 +0200)] 
catalog: update Polish translation

Includes changes up to e4003f2d9cb93d09d99b87a3d2f68cb0889ecbe8

2 months agosd_bus_message_read.1: fix x/t being [iu]32 instead of [iu]64
наб [Sat, 6 Sep 2025 16:00:28 +0000 (18:00 +0200)] 
sd_bus_message_read.1: fix x/t being [iu]32 instead of [iu]64

2 months agomachine: restrict register-machine action again (#38835)
Luca Boccassi [Sat, 6 Sep 2025 10:04:49 +0000 (11:04 +0100)] 
machine: restrict register-machine action again (#38835)

Follow-up for adaff8eb35d9c471af81fddaa4403bc5843a256f

2 months agoNEWS: update register-machine paragraph 38835/head
Luca Boccassi [Fri, 5 Sep 2025 18:31:59 +0000 (19:31 +0100)] 
NEWS: update register-machine paragraph

2 months agomachine: restrict register-machine action again
Luca Boccassi [Fri, 5 Sep 2025 18:28:47 +0000 (19:28 +0100)] 
machine: restrict register-machine action again

Follow-up for adaff8eb35d9c471af81fddaa4403bc5843a256f

2 months agotest: use assertion macroses
Anton Tiurin [Thu, 4 Sep 2025 17:28:52 +0000 (10:28 -0700)] 
test: use assertion macroses

An assertion macros helps to debug failing tests as it reports
expression, arguments and errno (if applicable)

2 months agomeson: update version numbers for v258~rc4 v258-rc4
Luca Boccassi [Fri, 5 Sep 2025 10:34:36 +0000 (11:34 +0100)] 
meson: update version numbers for v258~rc4

2 months agoNEWS: update date
Luca Boccassi [Fri, 5 Sep 2025 10:34:07 +0000 (11:34 +0100)] 
NEWS: update date

2 months agoNEWS: note sd-stub incompatibility with older ukify
Luca Boccassi [Fri, 5 Sep 2025 10:33:51 +0000 (11:33 +0100)] 
NEWS: note sd-stub incompatibility with older ukify

2 months agotest: add more debug output
Luca Boccassi [Fri, 5 Sep 2025 09:03:32 +0000 (10:03 +0100)] 
test: add more debug output

The test occasionally fails with:

TEST-50-DISSECT.sh[3852]: Hierarchy '/usr' is already merged.

I can't really tell what is already merged as all previous ops
look as they are undone from the logs, so add status/list commands
just before the failing operation to hopefully give more info

For https://github.com/systemd/systemd/issues/38282

2 months agoUpdate hwdb and contributor list for v258-rc4 (#38828)
Daan De Meyer [Fri, 5 Sep 2025 09:19:31 +0000 (11:19 +0200)] 
Update hwdb and contributor list for v258-rc4 (#38828)

2 months agoRevert "terminal-util: explicitly reset cursor"
Zbigniew Jędrzejewski-Szmek [Fri, 5 Sep 2025 06:22:00 +0000 (08:22 +0200)] 
Revert "terminal-util: explicitly reset cursor"

This reverts commit b177095bfac9d04871762cff4febfca43e790529.

The original issue (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=375275,
https://github.com/systemd/systemd/issues/22168) was about having a block
cursor instead of a box cursor after VM reset, which doesn't seem particularly
urgent. OTOH, the patch causes a minor regression, where the splash screen is
cleared immediately and replaced by a blinking cursor. With the patch, we are
trading one visual issue for another visual issue. The second is probably more
noticeable, since some poeple put in quite a lot of work to have pretty boots
where the firmware splash screen is displayed until the login prompt pops up.
Avoiding a regression is more important than fixing a minor long-standing
issue, so let's revert this.

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

2 months agoClean up redirection ops in tests (#38827)
Luca Boccassi [Fri, 5 Sep 2025 08:41:53 +0000 (09:41 +0100)] 
Clean up redirection ops in tests (#38827)

2 months agoNEWS: update contributor list 38828/head
Zbigniew Jędrzejewski-Szmek [Fri, 5 Sep 2025 07:17:06 +0000 (09:17 +0200)] 
NEWS: update contributor list

2 months agohwdb: run "update-hwdb"
Zbigniew Jędrzejewski-Szmek [Fri, 5 Sep 2025 07:12:31 +0000 (09:12 +0200)] 
hwdb: run "update-hwdb"

As usual, just additions and corrections.

2 months agonspawn: Drop CAP_NET_BIND_SERVICE if in userns with identity mapping (#38723)
Daan De Meyer [Fri, 5 Sep 2025 07:08:44 +0000 (09:08 +0200)] 
nspawn: Drop CAP_NET_BIND_SERVICE if in userns with identity mapping (#38723)

Even if there's no uid shift, we still won't be able to bind to
privileged ports in the host network namespace, so drop the capability
regardless of whether we have a uid shift or not.

2 months agotests: drop pointless redirection of stderr from 'command -v' 38827/head
Zbigniew Jędrzejewski-Szmek [Fri, 5 Sep 2025 06:07:24 +0000 (08:07 +0200)] 
tests: drop pointless redirection of stderr from 'command -v'

The whole point of using 'command -v' is that it's a very portable
way to check if an executable exists. It doesn't print an error.

2 months agoTEST-75-RESOLVED: drop whitespace after shell redirection ops
Zbigniew Jędrzejewski-Szmek [Wed, 3 Sep 2025 10:00:21 +0000 (12:00 +0200)] 
TEST-75-RESOLVED: drop whitespace after shell redirection ops

2 months agotest: Add test for nspawn's handling of cap_net_bind_service 38723/head
Daan De Meyer [Thu, 4 Sep 2025 10:48:35 +0000 (12:48 +0200)] 
test: Add test for nspawn's handling of cap_net_bind_service

2 months agonspawn: Drop CAP_NET_BIND_SERVICE if in userns with identity mapping
DaanDeMeyer [Tue, 26 Aug 2025 10:35:58 +0000 (12:35 +0200)] 
nspawn: Drop CAP_NET_BIND_SERVICE if in userns with identity mapping

Even if there's no uid shift, we still won't be able to bind to privileged
ports in the host network namespace, so drop the capability regardless of
whether we have a uid shift or not.

2 months agoTEST-13-NSPAWN: Fix typo
Daan De Meyer [Thu, 4 Sep 2025 10:17:53 +0000 (12:17 +0200)] 
TEST-13-NSPAWN: Fix typo

2 months agomkosi: Install libcap-progs in main and minimal image
Daan De Meyer [Fri, 5 Sep 2025 06:23:58 +0000 (08:23 +0200)] 
mkosi: Install libcap-progs in main and minimal image

Let's make sure tools like capsh are available on OpenSUSE images
as well.

2 months agogpt-auto-generator: Pass verity settings to dissect_loop_device()
Daan De Meyer [Thu, 4 Sep 2025 12:02:09 +0000 (14:02 +0200)] 
gpt-auto-generator: Pass verity settings to dissect_loop_device()

The image policy might be configured to enforce verity protection on the
root or usr partitions. Currently, we get around that by ignoring the root
and usr partitions, given that by the time this code runs in the rootfs these
will have already been mounted.

However, we can't actually ignore the root partition, as we will enable
growfs and/or remounting the root partition rw based on the root partition
we find in the image.

Instead, let's just read any roothash= or usrhash= from the kernel command line
and pass in a populated verity settings struct into dissect_loop_device()
instead of NULL. If NULL is passed, any verity partitions in the image are
ignored. If we pass the default verity settings, the wrong verity partitions might
potentially be picked up, so we make sure to pass a fully populated instance. This
should be sufficient to satisfy any configured image policy verity protection checks.

Reverts 6d6538fb3f46b01dded23cc7eef5ed5ffe8b38e9

Fixes #38788

2 months agobootctl: make sure install verb also honors implied --graceful
Mike Yuan [Wed, 3 Sep 2025 14:44:32 +0000 (16:44 +0200)] 
bootctl: make sure install verb also honors implied --graceful

Follow-up for bcc73cafdbd9c3947c53e4cff3498f8a73e56d9d

2 months agolabeler: match src/bootctl/ for sd-boot/bootctl tag
Mike Yuan [Thu, 4 Sep 2025 15:28:02 +0000 (17:28 +0200)] 
labeler: match src/bootctl/ for sd-boot/bootctl tag

Follow-up for 0b676aab33be2fa8b092f1bf5f1f4e04f072eda4

2 months agomkosi conf opensuse: add systemd-journal-remote
val4oss [Wed, 3 Sep 2025 14:28:08 +0000 (16:28 +0200)] 
mkosi conf opensuse: add systemd-journal-remote

* Add the missing package for mkosi opensuse conf, otherwise TEST-04-JOURNAL
  fails with "/usr/lib/systemd/systemd-journal-remote: No such file or
  directory"

Signed-off-by: val4oss <github.widget541@passmail.net>
2 months agoSeveral fixlets for Varlink IDL (#38809)
Zbigniew Jędrzejewski-Szmek [Thu, 4 Sep 2025 12:41:29 +0000 (14:41 +0200)] 
Several fixlets for Varlink IDL (#38809)

2 months agoethtool-util: fix setting advertising link modes
Yu Watanabe [Tue, 2 Sep 2025 14:41:18 +0000 (23:41 +0900)] 
ethtool-util: fix setting advertising link modes

Fixes a regression caused by d307410327d14398cb60b72db9d0034b12950a72.

The link_mode_masks flex array in struct ethtool_link_settings contains
three packed arrays, and the length of each array is given by
link_mode_masks_nwords field:
```
        __u32   link_mode_masks[];
        /* layout of link_mode_masks fields:
         * __u32 map_supported[link_mode_masks_nwords];
         * __u32 map_advertising[link_mode_masks_nwords];
         * __u32 map_lp_advertising[link_mode_masks_nwords];
         */
```
Hence, we cannot use the received data as is through the union, but need
to shift the array to make each map accessible through the union.

2 months agotest: re-enable journal checks for varlink-idl and so on 38809/head
Yu Watanabe [Wed, 3 Sep 2025 21:01:52 +0000 (06:01 +0900)] 
test: re-enable journal checks for varlink-idl and so on

Previously, we have checked journal after TEST-XX-YYYYY.sh, but it was
forgotten when we switched to mkosi.
This re-enable the check but through ExecStartPost=, and drops unnecessary
workarounds for end.service. Then, this drops unnecessary end.service
and testsuite.target.

2 months agonetwork: remove unnecessary fd saved in fd-store
Yu Watanabe [Wed, 3 Sep 2025 23:40:48 +0000 (08:40 +0900)] 
network: remove unnecessary fd saved in fd-store

Fixes the following warning:
```
[  130.968170] H systemd-networkd[4288]: Restart operation initiated.
[  130.968265] H systemd-networkd[4288]: Serializing...
[  130.968274] H systemd-networkd[4288]: There is nothing to serialize.
(snip)
[  130.978756] H systemd[1]: Stopped systemd-networkd.service.
(snip)
[  130.991407] H systemd[1]: Starting systemd-networkd.service...
(snip)
[  131.077440] H systemd-networkd[4318]: Enumeration completed.
[  131.077471] H systemd-networkd[4318]: Deserializing...
[  131.077491] H systemd-networkd[4318]: Failed to parse json (line=0, column=0): No data available
[  131.077524] H systemd-networkd[4318]: Failed to deserialize the previous invocation, ignoring: No data available
```