]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
7 weeks agoresolve/varlink: use sd_json_dispatch_const_string() at more places 38467/head
Yu Watanabe [Sun, 3 Aug 2025 21:01:46 +0000 (06:01 +0900)] 
resolve/varlink: use sd_json_dispatch_const_string() at more places

7 weeks agoresolve/varlink: replace json_dispatch_address() with json_dispatch_byte_array_iovec()
Yu Watanabe [Sun, 3 Aug 2025 19:44:19 +0000 (04:44 +0900)] 
resolve/varlink: replace json_dispatch_address() with json_dispatch_byte_array_iovec()

7 weeks agosysupdate: use conf_files_list_strv_full() where possible (#38198)
Yu Watanabe [Wed, 17 Sep 2025 23:56:23 +0000 (08:56 +0900)] 
sysupdate: use conf_files_list_strv_full() where possible (#38198)

7 weeks agocore/exec-credential: use CLEANUP_TMPFILE_AT
Mike Yuan [Wed, 17 Sep 2025 20:27:37 +0000 (22:27 +0200)] 
core/exec-credential: use CLEANUP_TMPFILE_AT

7 weeks agoFeature/homectl recovery key update (#38702)
Govind Venugopal [Wed, 17 Sep 2025 23:49:26 +0000 (16:49 -0700)] 
Feature/homectl recovery key update (#38702)

Implements the ability to add recovery keys to existing user accounts
via homectl update --recovery-key=yes. Previously, recovery keys could
only be configured during initial user creation, requiring users to
recreate their entire home directory to add recovery keys later.

Fixes: #23602
7 weeks agounits: don't force the loading of the loop and dm_mod modules in systemd-repart.service
Franck Bui [Wed, 10 Sep 2025 13:30:31 +0000 (15:30 +0200)] 
units: don't force the loading of the loop and dm_mod modules in systemd-repart.service

This avoids loading the aforementioned modules when systemd-repart is skipped
during the boot process, which is the case most of the time.

7 weeks agojournalctl: add -W as short for --no-hostname (#38704)
Yu Watanabe [Wed, 17 Sep 2025 23:45:44 +0000 (08:45 +0900)] 
journalctl: add -W as short for --no-hostname (#38704)

--no-hostname is one of the switches I use very often. In particular,
when looking at CI logs, the hostname is almost never interesting.

7 weeks agoAlign meson summary and gperf tables (#38578)
Yu Watanabe [Wed, 17 Sep 2025 23:44:08 +0000 (08:44 +0900)] 
Align meson summary and gperf tables (#38578)

No functional change, just refactoring.

7 weeks agoudev-rules: add OPTIONS="dump-json" to dump current status in JSON format
Yu Watanabe [Tue, 5 Aug 2025 18:08:05 +0000 (03:08 +0900)] 
udev-rules: add OPTIONS="dump-json" to dump current status in JSON format

This produces the output similar to 'udevadm test --json=short'.

7 weeks agosd-event: drop cgroupv1 support in memory pressure event source
Yu Watanabe [Fri, 1 Aug 2025 17:48:34 +0000 (02:48 +0900)] 
sd-event: drop cgroupv1 support in memory pressure event source

7 weeks agocreds-util: fix comment
Yu Watanabe [Wed, 17 Sep 2025 23:26:23 +0000 (08:26 +0900)] 
creds-util: fix comment

Follow-up for 444af9538f465f893c4d6bb5b4a7fad6c17b15a6.

7 weeks agocore/transaction: several cleanups (#38778)
Daan De Meyer [Wed, 17 Sep 2025 19:54:01 +0000 (21:54 +0200)] 
core/transaction: several cleanups (#38778)

7 weeks agomkosi: several cleanups (#38924)
Daan De Meyer [Wed, 17 Sep 2025 19:52:16 +0000 (21:52 +0200)] 
mkosi: several cleanups (#38924)

7 weeks agoudev-config: use secure_getenv() at one more place
Yu Watanabe [Fri, 29 Aug 2025 19:31:25 +0000 (04:31 +0900)] 
udev-config: use secure_getenv() at one more place

Follow-up for b16c6076cb334c9da9602d4bafbf60381d6d630e.

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

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

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

7 weeks agotmpfile-util: introduce new CLEANUP_TMPFILE_AT() API
Lennart Poettering [Thu, 4 Sep 2025 16:24:58 +0000 (18:24 +0200)] 
tmpfile-util: introduce new CLEANUP_TMPFILE_AT() API

This should allow us to get rid of a bunch of "fail:" labels, because we
can clean up tmpfiles relative to some atfd this way.

This only ports over a small number of potential users, but there's more
work to be done.

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

7 weeks agocopy: calculate bytes per second while copying, and pass to progress info
Lennart Poettering [Tue, 9 Sep 2025 15:05:05 +0000 (17:05 +0200)] 
copy: calculate bytes per second while copying, and pass to progress info

Also, show it in import-fs/repart.

7 weeks agovmspawn: two small tweaks (#38957)
Luca Boccassi [Wed, 17 Sep 2025 18:46:34 +0000 (19:46 +0100)] 
vmspawn: two small tweaks (#38957)

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

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

Fixes #38813.

7 weeks agoExtend test-dlopen-so to also cover cases when built without support
Daan De Meyer [Fri, 23 May 2025 09:49:31 +0000 (11:49 +0200)] 
Extend test-dlopen-so to also cover cases when built without support

Let's make things more consistent and have all dlopen_xxx() functions
return EOPNOTSUPP on failure and verify this behavior in test-dlopen-so.

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

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

Follow-up for 6350d2dbd97746440b9c8303ddc140ffda568732

7 weeks agopcrextend: add documentation for varlink api
Lennart Poettering [Wed, 17 Sep 2025 07:35:54 +0000 (09:35 +0200)] 
pcrextend: add documentation for varlink api

7 weeks agosd-boot: rename "path" field to "directory"
Lennart Poettering [Tue, 16 Sep 2025 17:01:52 +0000 (19:01 +0200)] 
sd-boot: rename "path" field to "directory"

"path" sounds like a fully qualified complete string referencing some
terminal object. But here it's not like that, the field just stores the
directory the object we actually care about is placed in. Hence let's
change this field to be named "directory", to be less confusing for
readers.

7 weeks agomkosi: support the case /sbin/init is an absolute symbolic link 38924/head
Yu Watanabe [Sun, 14 Sep 2025 03:13:20 +0000 (12:13 +0900)] 
mkosi: support the case /sbin/init is an absolute symbolic link

In that case, the link points to the host file, thus we cannot update
the file.

7 weeks agomkosi: drop man package from global config
Yu Watanabe [Sun, 14 Sep 2025 03:12:04 +0000 (12:12 +0900)] 
mkosi: drop man package from global config

Some distributions does not have man package, but named man-db or so,
and most distribution specific mkosi.conf files already have them.
Let's drop man from the global config.

7 weeks agocore/transaction: coding style update 38778/head
Yu Watanabe [Thu, 4 Sep 2025 21:03:26 +0000 (06:03 +0900)] 
core/transaction: coding style update

7 weeks agocore/transaction: rebreak comments and append full-stop
Yu Watanabe [Thu, 4 Sep 2025 21:01:27 +0000 (06:01 +0900)] 
core/transaction: rebreak comments and append full-stop

7 weeks agocore/transaction: do not call job_is_conflicted_by() twice for the same job
Yu Watanabe [Sun, 31 Aug 2025 02:01:24 +0000 (11:01 +0900)] 
core/transaction: do not call job_is_conflicted_by() twice for the same job

The function searches the list, and it potentially takes O(n).
Let's cache the result and avoid duplicated calls.

This also rebreaks comments, and rewrites conditions in an equivalent
form that is easy to read and matches with the comment above.

No functional change, just refactoring.

7 weeks agosystemd-sysext: introduce a global config (#38250)
Zbigniew Jędrzejewski-Szmek [Wed, 17 Sep 2025 13:13:11 +0000 (15:13 +0200)] 
systemd-sysext: introduce a global config (#38250)

This PR implements what is proposed in
https://github.com/systemd/systemd/issues/37992.

Having a global config file that supports the same cmdline options for
sysext/confext allows the user to customize the behavior of
systemd-sysext.service unit too, without the need of hacking the service
manually.

The global config will live in
`CONF_PATHS_STRV()/systemd/{sysext/confext}.conf` and it will be
overridden by cmdline, so it is possible to customize a run if
`systemd-sysext` is executed manually.

For now support `--mutable=` (`Mutable`) and `--image-policy=`
(`ImagePolicy`).

7 weeks agoresolve: shorten conf parser name and realign gperf table 38578/head
Yu Watanabe [Thu, 14 Aug 2025 13:42:06 +0000 (22:42 +0900)] 
resolve: shorten conf parser name and realign gperf table

7 weeks agonetwork/netdev: realign gperf table
Yu Watanabe [Thu, 14 Aug 2025 13:37:49 +0000 (22:37 +0900)] 
network/netdev: realign gperf table

7 weeks agonetwork: shorten conf parser names and realign gperf table
Yu Watanabe [Thu, 14 Aug 2025 13:34:44 +0000 (22:34 +0900)] 
network: shorten conf parser names and realign gperf table

7 weeks agonspawn: realign gperf table
Yu Watanabe [Thu, 14 Aug 2025 12:51:45 +0000 (21:51 +0900)] 
nspawn: realign gperf table

7 weeks agomeson: realign summary
Yu Watanabe [Thu, 14 Aug 2025 12:48:43 +0000 (21:48 +0900)] 
meson: realign summary

7 weeks agocore: Add wall clock duration to CPU usage logging
gvenugo3 [Wed, 16 Jul 2025 05:31:46 +0000 (05:31 +0000)] 
core: Add wall clock duration to CPU usage logging

Enhance CPU time logging to include wall clock duration alongside
CPU consumption. When a unit transitions to inactive/failed state,
the log message now shows both CPU time consumed and the total wall
clock time since activation.

Changes:
- Calculate wall clock duration using active_enter_timestamp
- Update log format: "Consumed Xs CPU time over Ys wall clock time"
- Fallback to original format if no activation timestamp available
- Use monotonic clock for accurate duration calculation

This addresses issue #35738 by providing administrators better context
about service performance and resource efficiency.

Example output:
- With wall clock: "service: Consumed 30s CPU time over 5min wall clock time"
- Without timestamp: "service: Consumed 30s CPU time"

7 weeks agosysupdate: use conf_files_list_strv_full() to enumerate definitions 38198/head
Yu Watanabe [Tue, 15 Jul 2025 14:38:27 +0000 (23:38 +0900)] 
sysupdate: use conf_files_list_strv_full() to enumerate definitions

No functional change, just refactoring.

7 weeks agosysupdate: use conf_files_list_strv_full() to enumerate features
Yu Watanabe [Sun, 13 Jul 2025 01:50:27 +0000 (10:50 +0900)] 
sysupdate: use conf_files_list_strv_full() to enumerate features

No functional change, just refactoring.

7 weeks agosysupdate: use conf_files_list_strv_full() to enumerate components
Yu Watanabe [Sun, 13 Jul 2025 01:36:08 +0000 (10:36 +0900)] 
sysupdate: use conf_files_list_strv_full() to enumerate components

With this change, root directory is correctly supported, and symlinked
components are also correctly enumerated.

7 weeks agodoc: document /run/host/root/ as an optional bind mount for the host fs
Ryan Brue [Mon, 28 Jul 2025 16:46:22 +0000 (11:46 -0500)] 
doc: document /run/host/root/ as an optional bind mount for the host fs

Container managers may want to bind mount the root filesystem
somewhere within the container. Security-wise, this is very much not
recommended, but it may be something application containers may want
to do nonetheless.

Ref: https://github.com/flatpak/flatpak/pull/6125#issuecomment-2759378603

7 weeks agodissect: use blkid_probe filters to restrict probing to supported FSes and no raid
Luca Boccassi [Wed, 10 Sep 2025 17:13:37 +0000 (18:13 +0100)] 
dissect: use blkid_probe filters to restrict probing to supported FSes and no raid

We only support a subset of filesystems, and no RAID, for DDIs. blkid spends a lot
of time trying to probe for the filesystem type, so cut it short by using
the filtering options to restrict it to the filesystems we support, and to
exclude raid probing.

7 weeks agofd-util: several cleanups for close_all_fds() (#38878)
Zbigniew Jędrzejewski-Szmek [Wed, 17 Sep 2025 12:43:04 +0000 (14:43 +0200)] 
fd-util: several cleanups for close_all_fds() (#38878)

7 weeks agopam_systemd: fix error logs
Zbigniew Jędrzejewski-Szmek [Tue, 9 Sep 2025 16:18:54 +0000 (18:18 +0200)] 
pam_systemd: fix error logs

The code was of two minds about error_id: it was used directly in
pam_syslog_errno(), but in the next line checked with streq_ptr().
sd_varlink_callbo() may return negative and then it does not set the output
params, or it returns the error in ret_error_id. We cannot assume that error_id
is non-null. Also fix a select-and-paste mistake in one place.

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

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

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

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 agojournalctl: add -W as short for --no-hostname 38704/head
Zbigniew Jędrzejewski-Szmek [Mon, 25 Aug 2025 12:01:25 +0000 (14:01 +0200)] 
journalctl: add -W as short for --no-hostname

--no-hostname is one of the switches I use very often. In particular,
when looking at CI logs, the hostname is almost never interesting.
-H is not yet used in journalctl, because journal operates locally, but
will want it if display of remote journals is implemented. Use -W.

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

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

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

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 agovmspawn: support specfiying relative paths to tpm state dir, by prefixing with ./ 38957/head
Lennart Poettering [Wed, 17 Sep 2025 07:36:29 +0000 (09:36 +0200)] 
vmspawn: support specfiying relative paths to tpm state dir, by prefixing with ./

7 weeks agovmspawn: initialize block device "serials" from backing file name
Lennart Poettering [Tue, 16 Sep 2025 20:25:06 +0000 (22:25 +0200)] 
vmspawn: initialize block device "serials" from backing file name

If we pass multiple block devices into a VM it's really useful to pass
recognizable serial numbers on them, so that we know which one is which.
qemu allows setting them, hence initialize them automatically from the
filename of the backing file, as a convenience feature.

Inside of a VM this means /dev/disk/by-id/… symlinks will be generated
with useful identifiers.

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.