]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 months agomkosi: update mkosi commit reference to 5598b7f5793b6f63db5afaa39504a763fbaeb5cb 38597/head
Luca Boccassi [Sat, 16 Aug 2025 11:13:20 +0000 (12:13 +0100)] 
mkosi: update mkosi commit reference to 5598b7f5793b6f63db5afaa39504a763fbaeb5cb

5598b7f579 fedora: be more persistent when guessing what rawhide could be
cdd2d1570e Use apt-ftparchive instead of reprepro
eeb4ce6302 fix dead/404 link
30a487d183 mkosi-tools: Drop systemd-boot-efi package
ad4b4d2cbe Add debug logging for version reported by systemd tools
95f5c77fb7 mkosi-tools: move systemd-boot package to conf file matching older releases
7da22f33e0 README: clarify that companion tools can also be enabled from the git repo
ec3fe91532 Drop microsecond resolution for datetime.now()
9f7a53b687 mkosi-initrd: install raid rule with 70 prefix
32c3ff4677 ci: give a hint about possible fixes for failing reuse lints
489c5e9ecc build(deps): bump github/codeql-action from 3.29.2 to 3.29.5

2 months agomkosi: update debian commit reference to 8ba719208ff28f36bc240328725eb10008838c39
Luca Boccassi [Sat, 16 Aug 2025 11:11:46 +0000 (12:11 +0100)] 
mkosi: update debian commit reference to 8ba719208ff28f36bc240328725eb10008838c39

8ba719208f systemd-boot: install kernel hooks to /usr/share/
c4d6093398 Update changelog for 258~rc2-2 release
b21987b0f9 More NEWS updates about sysv support
cd7d07f66b NEWS: fixlets and adjustments
34ef04cb45 Stop installing /var/lib/systemd in the package
08b77c5b7c Update changelog for 258~rc2-1 release
48b3ec2b9a systemd-container: update lintian overrides for more false positives
31547d827b systemd-boot: make efibootmgr a dependency
88a7261c00 d/t/control: prefer systemd-boot-tools if available
478ea8945f systemd-boot: fix registering/removing uncompressed kernels
b072f60375 NEWS: fix typo
985a3c8d56 systemd-boot: register interest in systemd-boot-signed trigger
f13b262bf6 d/rules: set debugoptimized for upstream builds
615f8851e8 Install usr/share/factory files and restore nsswitch.conf/pam.d/issue on factory reset
61792528f2 Update changelog for 258~rc1-1 release
116371a1df d/copyright: update paths
41437c9c54 Add a few more conflicts to packages providing the same files
0e5eea70fd Fix Lintian warning debian-news-entry-uses-asterisk
60595acb01 Update Lintian overrides
b8662ba796 Update symbols file for 258~rc1
58553602ca NEWS: note removal of telinit/runlevel
d78ade0842 Drop all workarounds that are obsolete after trixie
7ef47f9f6b Drop world-writable /run/lock debianism
9d6d3a4154 NEWS: note cgroupv1 removal
ef2ef6f35d Enable sd-vmspawn
ac2aec3b68 Add and remove files for 258~rc1
06582be4e6 d/watch: remove restriction to v257.x series
88ccb1552a salsa-ci: enable arm64 build

2 months agotest: fix typo in comment
Luca Boccassi [Sat, 16 Aug 2025 09:53:07 +0000 (10:53 +0100)] 
test: fix typo in comment

2 months agopidfd-util: force alignment of file_handle union to avoid assert on 32bit
Luca Boccassi [Fri, 15 Aug 2025 09:42:39 +0000 (10:42 +0100)] 
pidfd-util: force alignment of file_handle union to avoid assert on 32bit

On 32bit the union won't be aligned automatically, needs to be enforced:

Assertion '((uintptr_t) _p) % alignof(uint64_t) == 0' failed at src/basic/pidfd-util.c:251, function pidfd_get_inode_id_impl(). Aborting.

Follow-up for 9c039ef5ff7f683aa9f7a36cb39bac94a12964b2

2 months agomkosi: install util-linux-script on F44
Luca Boccassi [Thu, 14 Aug 2025 15:43:38 +0000 (16:43 +0100)] 
mkosi: install util-linux-script on F44

Once F41 is EOL we can just move this to the main list and
stop doing this dance every 6 months

2 months agoman: add missing comma
Yu Watanabe [Thu, 14 Aug 2025 14:33:39 +0000 (23:33 +0900)] 
man: add missing comma

2 months agoReuse the parent_image handle and parent_loaded_image
Mate Kukri [Thu, 7 Aug 2025 16:28:58 +0000 (17:28 +0100)] 
Reuse the parent_image handle and parent_loaded_image

- Reuse parent_image instead of allocating new ones. Firmware might cast
  EFI_LOADED_IMAGE_PROTOCOL * to a larger struct causing issues
- Remove loaded image protocol installation and uninstallation which are no
  longer required

Fixes a bug introduced by cab9c7b5a42effa8a45611fc6b8556138c869b5f.
Fixes #38567.

Co-authored-by: Tobias Heider <tobias.heider@canonical.com>
2 months agocondition: fix unexpected assertion triggered
Yu Watanabe [Thu, 14 Aug 2025 07:05:52 +0000 (16:05 +0900)] 
condition: fix unexpected assertion triggered

Follow-up for c154bb65ad55a98fdf7d05fcb6b68a22408ea33a.
Fixes oss-fuzz#438513119.
Fixes #38570.

2 months agoupdate TODO
Lennart Poettering [Thu, 14 Aug 2025 06:34:32 +0000 (08:34 +0200)] 
update TODO

2 months agoukify: drop NX bit from UKI if kernel doesn't have it
Luca Boccassi [Tue, 12 Aug 2025 22:09:06 +0000 (23:09 +0100)] 
ukify: drop NX bit from UKI if kernel doesn't have it

If the kernel is not NX_COMPAT ready (W^X memory compatible) then the
UKI should not be marked as NX_COMPAT ready either, as the kernel
section is the loadable code in the image.

https://microsoft.github.io/mu/WhatAndWhy/enhancedmemoryprotection/
https://www.kraxel.org/blog/2023/12/uefi-nx-linux-boot/

While the sd-stub EFI code itself is NX ready, it is more useful
to think of it as one unit of execution together with the kernel
it embeds, as that's what it is used for.

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

2 months agotree-wide: various terminal related fixlets (#38544)
Yu Watanabe [Wed, 13 Aug 2025 18:40:44 +0000 (03:40 +0900)] 
tree-wide: various terminal related fixlets (#38544)

Fixes #38524.
Fixes #38527.
Fixes #38552.

2 months agocore: do not start watchdog for frozen service on daemon-reload/-reexec (#38553)
Yu Watanabe [Wed, 13 Aug 2025 16:18:50 +0000 (01:18 +0900)] 
core: do not start watchdog for frozen service on daemon-reload/-reexec (#38553)

Fixes #38551.

2 months agoTEST-72-SYSUPDATE: fix indentation and drop space in blank line 38544/head
Yu Watanabe [Wed, 13 Aug 2025 14:53:13 +0000 (23:53 +0900)] 
TEST-72-SYSUPDATE: fix indentation and drop space in blank line

2 months agoTEST-72-SYSUPDATE: make randomly generated image file not have compression header
Yu Watanabe [Wed, 13 Aug 2025 06:57:15 +0000 (15:57 +0900)] 
TEST-72-SYSUPDATE: make randomly generated image file not have compression header

Otherwise, the generated image may be wrongly detected as compressed,
and importing the image may fail:
```
[   35.194578] TEST-72-SYSUPDATE.sh[411]: + dd if=/dev/urandom of=/var/tmp/test-72-N7uTeO/source/part1-v5.raw bs=4096 count=2048
[   35.236342] TEST-72-SYSUPDATE.sh[1075]: 2048+0 records in
[   35.236342] TEST-72-SYSUPDATE.sh[1075]: 2048+0 records out
[   35.236342] TEST-72-SYSUPDATE.sh[1075]: 8388608 bytes (8.4 MB, 8.0 MiB) copied, 0.0408601 s, 205 MB/s
(snip)
[   35.948634] TEST-72-SYSUPDATE.sh[1085]: \ Acquiring /var/tmp/test-72-N7uTeO/source/part1-v5.raw → /proc/self/fd/3p2...
[   35.952878] TEST-72-SYSUPDATE.sh[1085]: Successfully forked off '(sd-import-raw)' as PID 1089.
[   35.958952] TEST-72-SYSUPDATE.sh[1089]: Importing '/var/tmp/test-72-N7uTeO/source/part1-v5.raw', saving at offset 9437184 in '/dev/loop0'.
[   35.959575] TEST-72-SYSUPDATE.sh[1089]: Failed to decode and write: Input/output error
[   35.959575] TEST-72-SYSUPDATE.sh[1089]: Exiting.
```

Fixes #38524.

2 months agoimport: add a debugging log of importing blob
Yu Watanabe [Wed, 13 Aug 2025 06:26:35 +0000 (15:26 +0900)] 
import: add a debugging log of importing blob

This should be helpful for debugging issue #38524.

2 months agoimport: align table
Yu Watanabe [Wed, 13 Aug 2025 06:22:41 +0000 (15:22 +0900)] 
import: align table

2 months agoimport,sysupdate: make notify event processed before SIGCHLD of worker processes
Yu Watanabe [Wed, 13 Aug 2025 05:35:51 +0000 (14:35 +0900)] 
import,sysupdate: make notify event processed before SIGCHLD of worker processes

This fixes the following warning:
```
[    5.628796] TEST-13-NSPAWN.sh[299]: + importctl import-raw --class=confext /var/tmp/importtest
(snip)
[    5.638894] systemd-importd[302]: (transfer1) Operation completed successfully.
[    5.640760] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^MTotal:  40%
[    5.638902] systemd-importd[302]: (transfer1) Exiting.
[    5.638931] systemd-importd[302]: Got percentage from client: 40%
[    5.638956] systemd-importd[302]: Transfer process succeeded.
[    5.638988] systemd-importd[302]: Got notification datagram from unexpected peer, ignoring.
```

2 months agopretty-print: show progress bar only when we are running on a TTY
Yu Watanabe [Wed, 13 Aug 2025 05:17:10 +0000 (14:17 +0900)] 
pretty-print: show progress bar only when we are running on a TTY

Otherwise, when a command is running with e.g. StandardError=journal+console,
journal contains [xxxB blob data]:
```
[    5.628796] TEST-13-NSPAWN.sh[299]: + importctl import-raw --class=confext /var/tmp/importtest
[    5.632350] systemd-importd[302]: Successfully forked off '(sd-transfer)' as PID 319.
[    5.633671] TEST-13-NSPAWN.sh[318]: [83B blob data]
[    5.632598] (sd-transfer)[319]: Calling: /usr/lib/systemd/systemd-import raw --class confext - importtest
[    5.637769] systemd-importd[302]: (transfer1) Importing '/var/tmp/importtest', saving as 'importtest'.
[    5.637947] TEST-13-NSPAWN.sh[318]: [82B blob data]
[    5.638313] TEST-13-NSPAWN.sh[318]: [75B blob data]
[    5.638151] systemd-importd[302]: (transfer1) Operating on image directory '/var/lib/confexts'.
[    5.638863] systemd-importd[302]: (transfer1) Imported 40%.
[    5.638882] systemd-importd[302]: (transfer1) Wrote 40K.
[    5.639653] TEST-13-NSPAWN.sh[318]: [39B blob data]
[    5.639653] TEST-13-NSPAWN.sh[318]: [36B blob data]
[    5.639653] TEST-13-NSPAWN.sh[318]: [59B blob data]
[    5.639653] TEST-13-NSPAWN.sh[318]: [34B blob data]
[    5.638894] systemd-importd[302]: (transfer1) Operation completed successfully.
[    5.640760] TEST-13-NSPAWN.sh[318]: [25B blob data]
[    5.638902] systemd-importd[302]: (transfer1) Exiting.
```
The blob data entries are something like the following:
```
[    5.628796] TEST-13-NSPAWN.sh[299]: + importctl import-raw --class=confext /var/tmp/importtest
[    5.632350] systemd-importd[302]: Successfully forked off '(sd-transfer)' as PID 319.
[    5.633671] TEST-13-NSPAWN.sh[318]: ^M           ^MEnqueued transfer job 1. Press C-c to continue download in background.
[    5.632598] (sd-transfer)[319]: Calling: /usr/lib/systemd/systemd-import raw --class confext - importtest
[    5.637769] systemd-importd[302]: (transfer1) Importing '/var/tmp/importtest', saving as 'importtest'.
[    5.637947] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^M           ^MImporting '/var/tmp/importtest', saving as 'importtest'.
[    5.638313] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^M           ^MOperating on image directory '/var/lib/confexts'.
[    5.638151] systemd-importd[302]: (transfer1) Operating on image directory '/var/lib/confexts'.
[    5.638863] systemd-importd[302]: (transfer1) Imported 40%.
[    5.638882] systemd-importd[302]: (transfer1) Wrote 40K.
[    5.639653] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^M           ^MImported 40%.
[    5.639653] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^M           ^MWrote 40K.
[    5.639653] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^M           ^MOperation completed successfully.
[    5.639653] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^M           ^MExiting.
[    5.638894] systemd-importd[302]: (transfer1) Operation completed successfully.
[    5.640760] TEST-13-NSPAWN.sh[318]: ^MTotal:   0%^MTotal:  40%
[    5.638902] systemd-importd[302]: (transfer1) Exiting.
```

Fixes #38552.

2 months agocore/execute: add one more FIXME comment
Yu Watanabe [Wed, 13 Aug 2025 02:29:36 +0000 (11:29 +0900)] 
core/execute: add one more FIXME comment

2 months agocore: do not touch tty when StandardOutput=/StandardError=journal+console/kmsg+console
Yu Watanabe [Tue, 12 Aug 2025 07:54:59 +0000 (16:54 +0900)] 
core: do not touch tty when StandardOutput=/StandardError=journal+console/kmsg+console

2 months agocore: make is_terminal_input() and friends inline
Yu Watanabe [Tue, 12 Aug 2025 07:21:48 +0000 (16:21 +0900)] 
core: make is_terminal_input() and friends inline

Then, rename them to exec_input_is_terminal() and so on.

2 months agocore: do not print OSC sequence on reverting TTY settings when running on a dumb...
Yu Watanabe [Mon, 11 Aug 2025 08:21:38 +0000 (17:21 +0900)] 
core: do not print OSC sequence on reverting TTY settings when running on a dumb terminal

Like we do in prepare_terminal() in exec-invoke.c.

2 months agonspawn: always set TERM=dumb when running with a pipe
Yu Watanabe [Mon, 11 Aug 2025 07:35:02 +0000 (16:35 +0900)] 
nspawn: always set TERM=dumb when running with a pipe

Otherwise, we will get unexpected OSC sequences.

2 months agoprofile: do not prompt OSC sequences when running on a dumb terminal
Yu Watanabe [Mon, 11 Aug 2025 07:41:29 +0000 (16:41 +0900)] 
profile: do not prompt OSC sequences when running on a dumb terminal

2 months agomachinectl: set TERM=dumb when running on a dumb terminal or with a pipe
Yu Watanabe [Mon, 11 Aug 2025 06:58:31 +0000 (15:58 +0900)] 
machinectl: set TERM=dumb when running on a dumb terminal or with a pipe

Fixes #38527.

2 months agodetect-virt: bare-metal GCE only for x86 and i386
keentux [Wed, 13 Aug 2025 07:52:12 +0000 (09:52 +0200)] 
detect-virt: bare-metal GCE only for x86 and i386

From the previous changes, bare-metal support has been added by using
the `detect_vm_cpuid()` which works only for x86_64 and i386 architecture.
Do not use this change for other architectures to avoid wrong result of
the detect-virt tool.

Follow-up for fb71571d3a4efddeb44f02939304be9007301974.
Fixes #38125.

2 months agobootctl: specify that kernel image commands require a kernel image argument
Antonio Alvarez Feijoo [Wed, 13 Aug 2025 09:15:33 +0000 (11:15 +0200)] 
bootctl: specify that kernel image commands require a kernel image argument

2 months agoTEST-17-UDEV: rotate journal before checking
Yu Watanabe [Wed, 13 Aug 2025 03:03:03 +0000 (12:03 +0900)] 
TEST-17-UDEV: rotate journal before checking

Otherwise, journal files may be rotated during checking journal entries
and the main system journal file may not be loaded:
```
[  350.372652] TEST-17-UDEV.sh[5841]: + test b253:2 = b253:2
[  350.373288] TEST-17-UDEV.sh[5841]: + [[ 1 == \1 ]]
[  350.373722] TEST-17-UDEV.sh[5841]: + journalctl -n 1 -q -u systemd-udevd.service --invocation=0 --grep 'Found inotify watch .*457'
[  350.374534] TEST-17-UDEV.sh[5970]: Journal file /run/log/journal/edc1fb58daff00ad89d6c8d9689bf172/system.journal is truncated, ignoring file.
[  350.375415] TEST-17-UDEV.sh[415]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/TEST-17-UDEV.watch.sh failed'
```

Fixes #38559.

2 months agoTEST-38-FREEZER: use 'systemctl show' to get freezer state 38553/head
Yu Watanabe [Wed, 13 Aug 2025 03:30:25 +0000 (12:30 +0900)] 
TEST-38-FREEZER: use 'systemctl show' to get freezer state

Also, use timeout command for waiting freezer state applied.

2 months agoTEST-38-FREEZER: check if watchdog is not restarted by systemctl daemon-reload or...
Yu Watanabe [Tue, 12 Aug 2025 06:44:02 +0000 (15:44 +0900)] 
TEST-38-FREEZER: check if watchdog is not restarted by systemctl daemon-reload or daemon-reexec

2 months agocore/cgroup: allow to set cgroup path for frozen unit
Yu Watanabe [Wed, 13 Aug 2025 01:38:53 +0000 (10:38 +0900)] 
core/cgroup: allow to set cgroup path for frozen unit

Otherwise, after 'systemctl daemon-reload' or 'daemon-reexec', frozen
units cannot gain cgroup paths and we cannot operate anything on them,
especially, we cannot thaw or stop them.
```
Aug 12 16:26:09 systemd[1]: wd.service: Job 1278 wd.service/stop finished, result=frozen
Aug 12 16:26:09 systemd[1]: Cannot stop frozen unit wd.service.
Aug 12 16:26:09 systemd[1]: wd.service: Cannot realize cgroup for frozen unit.
Aug 12 16:26:09 systemd[1]: Failed to realize cgroups for queued unit wd.service, ignoring: Device or resource busy
```

Follow-up for 23ac08115af83e3a0a937fa207fc52511aba2ffa.

2 months agocore/service: do not start watchdog on frozen unit when service manager is reloaded...
Yu Watanabe [Tue, 12 Aug 2025 06:35:21 +0000 (15:35 +0900)] 
core/service: do not start watchdog on frozen unit when service manager is reloaded or reexecuted

Otherwise, when service manager is reloaded or reexecuted, watchdong
will be started for frozen services, and they may be killed after
timeout.

Fixes #38551.

2 months agotest-cgroup: cleanup test cgroup
Luca Boccassi [Tue, 12 Aug 2025 22:59:15 +0000 (23:59 +0100)] 
test-cgroup: cleanup test cgroup

One test cgroup gets left behind by the test, as it moves itself
into it. Move itself and back to the original cgroup at the end
and clean up.

This fixes a failure when running the test first as root, and then
as unprivileged (initial cleanup fails as the leftover test cgroup
is owned by root).

2 months agoCI: run ruff format before ruff check
Luca Boccassi [Tue, 12 Aug 2025 22:40:11 +0000 (23:40 +0100)] 
CI: run ruff format before ruff check

Otherwise you get a failure but no hint on how to fix it

2 months agotpm2-util: fixlets for tpm2_serialize/_deserialize() (#38520)
Luca Boccassi [Tue, 12 Aug 2025 18:54:44 +0000 (19:54 +0100)] 
tpm2-util: fixlets for tpm2_serialize/_deserialize() (#38520)

Fixes #38507.

2 months agocore: suppress warning
Matteo Croce [Tue, 12 Aug 2025 16:53:59 +0000 (18:53 +0200)] 
core: suppress warning

Avoid definition of `exec_context_get_tty_for_pam` if pam support is
disabled, to avoid the following warning:
```
../src/core/exec-invoke.c:1231:12: warning: ‘exec_context_get_tty_for_pam’ defined but not used [-Wunused-function]
 1231 | static int exec_context_get_tty_for_pam(const ExecContext *context, char **ret) {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

2 months agotpm2-util: copy serialized result in tpm2_serialize() 38520/head
Yu Watanabe [Fri, 8 Aug 2025 02:27:21 +0000 (11:27 +0900)] 
tpm2-util: copy serialized result in tpm2_serialize()

For safety, though typically Esys_Free() is just a simple wrapper of
free(), but let's do unconditionally. See the comment in the code.

While at it, this makes it store the result into struct iovec.

2 months agotpm2-util: gracefully skip deserialization when no input
Yu Watanabe [Fri, 8 Aug 2025 02:07:30 +0000 (11:07 +0900)] 
tpm2-util: gracefully skip deserialization when no input

While at it, this also makes tpm2_deserialize() take struct iovec.

Fixes #38507.

2 months agoEnable KEY_PERFORMANCE key present on Linux 6.17 (#38533)
Lennart Poettering [Mon, 11 Aug 2025 16:38:58 +0000 (18:38 +0200)] 
Enable KEY_PERFORMANCE key present on Linux 6.17 (#38533)

Linux 6.17 defines a key called KEY_PERFORMANCE for machines that have a
perfomance mode, like Alienware and Dell G-series.

2 months agopcrlock: make-policy should use path specified by --policy= rather than --pcrlock
Yu Watanabe [Fri, 8 Aug 2025 04:09:14 +0000 (13:09 +0900)] 
pcrlock: make-policy should use path specified by --policy= rather than --pcrlock

Follow-up for a43427013949c6593629f551cf46e9cf9c167100.
Fixes #38506.

2 months agoEnable KEY_PERFORMANCE key present on Linux 6.17 38533/head
Marcos Alano [Sat, 9 Aug 2025 10:52:27 +0000 (07:52 -0300)] 
Enable KEY_PERFORMANCE key present on Linux 6.17

Note, this change does not require the kernel running on the host is
equal or newer than 6.17. But systemd-udevd needs to be built with the
kernel headers with KEY_PERFORMANCE, and the relevant kernel header is
already updated by the previous commit.

2 months agoinclude: update kernel headers from v6.17-rc1
Yu Watanabe [Mon, 11 Aug 2025 13:20:53 +0000 (22:20 +0900)] 
include: update kernel headers from v6.17-rc1

2 months agotest: add coverage for kernel keyring in TEST-50-DISSECT
Luca Boccassi [Fri, 8 Aug 2025 21:59:45 +0000 (22:59 +0100)] 
test: add coverage for kernel keyring in TEST-50-DISSECT

Use the kernel keyring to verify images in the dissect test.
The userspace keyring is still covered by the DDI and mountfsd tests.

2 months agochid: don't hardcode magic numbers for non-official CHIDs
Tobias Heider [Sun, 10 Aug 2025 14:27:46 +0000 (16:27 +0200)] 
chid: don't hardcode magic numbers for non-official CHIDs

They are constructed from EXTRA_CHID_BASE + offset

2 months agoMissing man page and fixes for man page links (#38540)
Zbigniew Jędrzejewski-Szmek [Mon, 11 Aug 2025 08:53:45 +0000 (10:53 +0200)] 
Missing man page and fixes for man page links (#38540)

2 months agoman: fix links 38540/head
Zbigniew Jędrzejewski-Szmek [Sun, 10 Aug 2025 11:38:44 +0000 (13:38 +0200)] 
man: fix links

Found using linkchecker.
For virtiofsd, the man page is maintained upstream, but doesn't seem to be
available in any of the usual places. So let's link to the Debian version.
systemd.filter I have no idea what it is.

2 months agocore/exec-invoke: fallback to set TTY specified by TTYPath= to PAM
Yu Watanabe [Fri, 8 Aug 2025 06:02:01 +0000 (15:02 +0900)] 
core/exec-invoke: fallback to set TTY specified by TTYPath= to PAM

Follow-up for 2b0087e5b171e2292c07bacef8908bf4d5339a4b.
Fixes #38486.

2 months agoservice: stop/reset watchdog on freeze/thaw
Luca Boccassi [Fri, 8 Aug 2025 19:08:20 +0000 (20:08 +0100)] 
service: stop/reset watchdog on freeze/thaw

Otherwise the unit will be killed by the watchdog given it's frozen
but the clock keeps ticking

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

2 months agoci: add mkosi job for debian stable
Luca Boccassi [Sat, 9 Aug 2025 14:09:35 +0000 (15:09 +0100)] 
ci: add mkosi job for debian stable

Debian 13 has just been released and can build and run everything,
so add CI coverage for it

2 months agohwdb: Add launch emoji keyboard mapping for Asus M1607KA
Vasiliy Kovalev [Sun, 10 Aug 2025 07:24:19 +0000 (10:24 +0300)] 
hwdb: Add launch emoji keyboard mapping for Asus M1607KA

By default, pressing Fn+F8 maps the scancode to KEY_BLUETOOTH (in evtest,
MSC_SCAN 7e -> KEY_BLUETOOTH). Windows/the manufacturer may intercept the
same scancode to execute "Launch Emoji keyboard."
On Linux, we get the "raw" KEY_BLUETOOTH code, which is unacceptable.

prog1 is already reserved by default for launching MyAsus (a Windows
application) with the Fn+F12 combination, so we will use prog2.

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
2 months agoman: add sd-path page
Zbigniew Jędrzejewski-Szmek [Sun, 10 Aug 2025 11:20:01 +0000 (13:20 +0200)] 
man: add sd-path page

We have similar pages for other parts of libsystemd too.

2 months agopo: Translated using Weblate (Khmer (Central))
kanitha chim [Sat, 9 Aug 2025 11:53:39 +0000 (11:53 +0000)] 
po: Translated using Weblate (Khmer (Central))

Currently translated at 16.2% (43 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 agoudev-rules: add missing device name prefix in log message
Yu Watanabe [Sat, 9 Aug 2025 00:07:35 +0000 (09:07 +0900)] 
udev-rules: add missing device name prefix in log message

Otherwise, it is hard to find the dump in journal. With this change,
we can find the entry by e.g.
journalctl -b -u systemd-udevd.service DEVICE=eth0

Follow-up for b4ffb776696bdd3a7345f73956ce7551f6b449ff.

2 months agoci: stop triggering suse-specific package build on OBS
Luca Boccassi [Fri, 8 Aug 2025 17:46:07 +0000 (18:46 +0100)] 
ci: stop triggering suse-specific package build on OBS

Packages are now unified as the fedora spec can cohexist with suse's

3 months agonetwork: fix segfault in setting bridge vlan (#38519)
Luca Boccassi [Fri, 8 Aug 2025 14:04:33 +0000 (15:04 +0100)] 
network: fix segfault in setting bridge vlan (#38519)

3 months agonetwork/bridge-vlan: fix segfault 38519/head
Yu Watanabe [Fri, 8 Aug 2025 10:39:28 +0000 (19:39 +0900)] 
network/bridge-vlan: fix segfault

Fixes a bug introduced by 78738adf88ad288a6af37a1998adc749ac6b5f2d.
Fixes #38515.

3 months agotest-network: also save the current state of socket units for resolved and stop them
Yu Watanabe [Fri, 8 Aug 2025 01:06:22 +0000 (10:06 +0900)] 
test-network: also save the current state of socket units for resolved and stop them

Silence the following waring:
```
Stopping 'systemd-resolved.service', but its triggering units are still active:
systemd-resolved-varlink.socket, systemd-resolved-monitor.socket
```

Follow-up for 0fa188307b1c286e7b86201b1cfb91014b970092.

3 months agonspawn: fix recursive bind mounts
Luca Boccassi [Thu, 7 Aug 2025 22:40:54 +0000 (23:40 +0100)] 
nspawn: fix recursive bind mounts

Follow-up for 90fa161b5ba29d58953e9f08ddca49121b51efe6

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

3 months agomkosi: include ip in the main image
Franck Bui [Thu, 7 Aug 2025 12:57:32 +0000 (14:57 +0200)] 
mkosi: include ip in the main image

It's needed by TEST-85-NETWORK.

3 months agologging: Improve logging messages related to NFTSet.
Kevin P. Fleming [Wed, 6 Aug 2025 21:33:31 +0000 (17:33 -0400)] 
logging: Improve logging messages related to NFTSet.

The 'NFTSet' directive in various units adds and removes entries in nftables
sets, it does not add or remove entire sets. The logging messages should
indicate that an entry was added or removed, not that a set was added or
removed.

3 months agopo: Translated using Weblate (Italian)
Nathan [Wed, 6 Aug 2025 15:08:30 +0000 (15:08 +0000)] 
po: Translated using Weblate (Italian)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Nathan <nathan95@live.it>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/it/
Translation: systemd/main

3 months agopo: Translated using Weblate (Khmer (Central))
kanitha chim [Wed, 6 Aug 2025 15:08:30 +0000 (15:08 +0000)] 
po: Translated using Weblate (Khmer (Central))

Currently translated at 2.2% (6 of 264 strings)

po: Added translation using Weblate (Khmer (Central))

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

3 months agoRevert "hwdb: disable Asus ROG keyboards sending poweroff"
Yu Watanabe [Wed, 6 Aug 2025 15:01:12 +0000 (00:01 +0900)] 
Revert "hwdb: disable Asus ROG keyboards sending poweroff"

This reverts commit 6428c0f48028e09bf5b750fb3fd1f4a3dac7e24e.

The rule seems to match not only keyboard itself but other devices.
Let's revert the change, and consider better way later.

Fixes #38502.

3 months agotest: use Europe/Helsinki instead of Europe/Kyiv in test-calendarspec
Luca Boccassi [Wed, 6 Aug 2025 13:33:10 +0000 (14:33 +0100)] 
test: use Europe/Helsinki instead of Europe/Kyiv in test-calendarspec

Europe/Kyiv was added somewhat recently. Use Europe/Helsinki which is
much older and thus works with older tzdata like version 2022a.

line 193: "2016-03-27 03:17:00" new_tz=:Europe/Kyiv
At: Sun 2016-03-27 03:17:00.000000 Europe
Assertion 'r == -ENOENT' failed at src/test/test-calendarspec.c:70, function _test_next(). Aborting.

Follow-up for aa077884c13769ae3bd6aa98978b4ac9e64b5365

3 months agoFix build with older python/glibc/bpf and add CI job to cover it (#38500)
Luca Boccassi [Wed, 6 Aug 2025 15:08:18 +0000 (16:08 +0100)] 
Fix build with older python/glibc/bpf and add CI job to cover it (#38500)

3 months agoprofile: replace default bash prompt with more informative one
Yu Watanabe [Wed, 6 Aug 2025 05:49:43 +0000 (14:49 +0900)] 
profile: replace default bash prompt with more informative one

The default bash PS1 provides mostly no information.
Let's replace it.

Before:
```
[watanabe@thinkpad-x280:~] $ run0
🦸 bash-5.2# echo $PS1
🦸 \s-\v\$
```

After:
```
[watanabe@thinkpad-x280:~] $ run0
🦸 [root@thinkpad-x280 watanabe]# echo $PS1
🦸 [\u@\h \W]\$
```

Fixes #38494.

3 months agouser-runtime-dir: two fixlets for setting disk quota (#38496)
Luca Boccassi [Wed, 6 Aug 2025 13:23:41 +0000 (14:23 +0100)] 
user-runtime-dir: two fixlets for setting disk quota (#38496)

Fixes #38493.

3 months agoci: add build job on Ubuntu Jammy with Python 3.7 38500/head
Luca Boccassi [Wed, 6 Aug 2025 11:42:35 +0000 (12:42 +0100)] 
ci: add build job on Ubuntu Jammy with Python 3.7

In order to avoid regressions with glibc < 2.39 and Python 3.7

3 months agotest: fix repeated runs of test-oomd-util by clearing test cgroup
Luca Boccassi [Wed, 6 Aug 2025 13:07:26 +0000 (14:07 +0100)] 
test: fix repeated runs of test-oomd-util by clearing test cgroup

If the test is ran multiple times in a row, without an ephemeral
scope (eg: non-booted nspawn), then subsequent runs will fail as
the test cgroup is not cleared so the previous xattrs are still
present. Trim the test cgroup before and after the test.

Follow-up for 61ff7397d08375ce0950fb7b546c08e4a657f273

3 months agotest: fix assert when running test-cgroup in container
Luca Boccassi [Wed, 6 Aug 2025 11:48:34 +0000 (12:48 +0100)] 
test: fix assert when running test-cgroup in container

When running in nspawn and thus from the namespaced root cgroup:

Paths for test:
//test-a
//test-b
src/test/test-cgroup.c:77: Assertion failed: Expected "path == test_b", got "/test-b != //test-b"

Use path_simplify() in the test like the code does, so that the results
always match

3 months agotest-bpf-token: fix build with libbpf < 0.6
Luca Boccassi [Wed, 6 Aug 2025 12:50:56 +0000 (13:50 +0100)] 
test-bpf-token: fix build with libbpf < 0.6

../s/src/test/test-bpf-token.c: In function ‘intro’:
../s/src/test/test-bpf-token.c:10:5: error: "__LIBBPF_CURRENT_VERSION_GEQ" is not defined, evaluates to 0 [-Werror=undef]
   10 | #if __LIBBPF_CURRENT_VERSION_GEQ(1, 5)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../s/src/test/test-bpf-token.c:10:33: error: missing binary operator before token "("
   10 | #if __LIBBPF_CURRENT_VERSION_GEQ(1, 5)

Follow-up for ea9826eb946d57aaba7e6bfa2d6b120136c6b20f

3 months agonetwork: fix build with libbpf < 0.7
Luca Boccassi [Wed, 6 Aug 2025 11:58:20 +0000 (12:58 +0100)] 
network: fix build with libbpf < 0.7

bpf_loop() and bpf_strncmp(), used by sysctl-monitor, were introduced
in libbpf 0.7, so skip the module if using an older version

Follow-up for 6d9ef22acdeac4b429efb75164341233955484af

3 months agoseccomp: fix build with glibc < 2.39
Luca Boccassi [Wed, 6 Aug 2025 11:41:01 +0000 (12:41 +0100)] 
seccomp: fix build with glibc < 2.39

../src/shared/seccomp-util.c: In function ‘seccomp_restrict_sxid’:
../src/shared/seccomp-util.c:2228:25: error: ‘__NR_fchmodat2’ undeclared (first use in this function); did you mean ‘fchmodat2’?
 2228 |                         __NR_fchmodat2,
      |                         ^~~~~~~~~~~~~~
      |                         fchmodat2

The override/sys/syscalls.h needs to be included before the seccomp
headers, otherwise the internal seccomp preprocessor machinery will
not see the local definitions, so the local ifdef will be true but
the seccomp own definitions will be empty

3 months agomeson: fix compatibility with Python 3.7
Luca Boccassi [Wed, 6 Aug 2025 11:40:24 +0000 (12:40 +0100)] 
meson: fix compatibility with Python 3.7

[8/2759] Generating src/basic/filesystem-sets.c with a custom command (wrapped by meson to capture output)
FAILED: src/basic/filesystem-sets.c
/mnt/work/.local/bin/meson --internal exe --capture src/basic/filesystem-sets.c -- /mnt/work/src/systemd/upstream-fork/main/src/basic/filesystem-sets.py fs-type-to-string filesystem-sets fs-in-group
--- stderr ---
Traceback (most recent call last):
  File "/mnt/work/src/systemd/upstream-fork/main/src/basic/filesystem-sets.py", line 372, in <module>
    generate_fs_in_group()
  File "/mnt/work/src/systemd/upstream-fork/main/src/basic/filesystem-sets.py", line 311, in generate_fs_in_group
    start=[])))
TypeError: sum() takes no keyword arguments

3 months agohwdb: set touchpad resolution for ThinkPad T14 Gen2a
novenary [Wed, 6 Aug 2025 07:42:49 +0000 (10:42 +0300)] 
hwdb: set touchpad resolution for ThinkPad T14 Gen2a

3 months agouser-runtime-dir: fix logged quota size 38496/head
Yu Watanabe [Wed, 6 Aug 2025 03:45:45 +0000 (12:45 +0900)] 
user-runtime-dir: fix logged quota size

'v' is a number of blocks, rather than bytes.

3 months agouser-runtime-dir: skip setting quota if not requested
Yu Watanabe [Wed, 6 Aug 2025 03:42:27 +0000 (12:42 +0900)] 
user-runtime-dir: skip setting quota if not requested

Fixes the following spurious warning:

systemd-user-runtime-dir[865]: Failed to set disk quota limit to '15.9P' on /tmp for UID 991, ignoring: Numerical result out of range

Fixes #38493.

3 months agotest: ensure printf builtin buffers and does a single write when piping into socat
Luca Boccassi [Tue, 5 Aug 2025 18:34:49 +0000 (19:34 +0100)] 
test: ensure printf builtin buffers and does a single write when piping into socat

Should hopefully solve this:

[  111.084463] systemd[1]: testservice-50k.service: Got notification message from PID 2651: RELOADING=1
[  111.085980] systemd[1]: testservice-50k.service: Got notification message from PID 2651: MONOTONIC_USEC=111072508

ie, pid1 receives RELOADING=1 and MONOTONIC_USEC= in different messages instead
of a single one, and reload-notify breaks

Follow-up for 3998b30a040d1494918e11c78ef3eae72532bbca

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

3 months agomeson: update version numbers for v258~rc2 v258-rc2
Luca Boccassi [Tue, 5 Aug 2025 16:16:07 +0000 (17:16 +0100)] 
meson: update version numbers for v258~rc2

3 months agoNEWS: update date
Luca Boccassi [Tue, 5 Aug 2025 15:39:39 +0000 (16:39 +0100)] 
NEWS: update date

3 months agoNEWS: update list of contributors
Luca Boccassi [Tue, 5 Aug 2025 15:39:27 +0000 (16:39 +0100)] 
NEWS: update list of contributors

3 months agoNEWS: fix typo
Yu Watanabe [Tue, 5 Aug 2025 16:12:12 +0000 (01:12 +0900)] 
NEWS: fix typo

3 months agoupdatectl: allow interactive authorization
Abderrahim Kitouni [Mon, 9 Dec 2024 08:20:02 +0000 (09:20 +0100)] 
updatectl: allow interactive authorization

3 months agostub: also pickup global .raw sysexts, like per-UKI ones
Luca Boccassi [Mon, 4 Aug 2025 23:30:18 +0000 (00:30 +0100)] 
stub: also pickup global .raw sysexts, like per-UKI ones

It is extremely confusing to use different filenames for different
locations, so pick up the same images for both per-UKI and global
extensions

Follow-up for 9f7e3820e9b3959fca31fb4f00fae9e3b2543b76

3 months agoTEST-64-UDEV-STORAGE: mdadm --zero-superblock seems to not support symlink
Yu Watanabe [Mon, 4 Aug 2025 18:48:55 +0000 (03:48 +0900)] 
TEST-64-UDEV-STORAGE: mdadm --zero-superblock seems to not support symlink

On CentOS 9:
```
TEST-64-UDEV-STORAGE.sh[522]: + mdadm -v --zero-superblock --force /dev/disk/by-id/scsi-0systemd_foobar_deadbeefmdadmlvm0 ...
TEST-64-UDEV-STORAGE.sh[1014]: mdadm: Unrecognised md component device - /dev/disk/by-id/scsi-0systemd_foobar_deadbeefmdadmlvm4
```

This also adds `udevadm settle` before clearing superblocks for safety.

Follow-up for 5ad6fe9850e0ecad7415bfbdd547d07b9b1177c7.

3 months agoudev/spawn: continue to read stdout even if the result buffer is full
Yu Watanabe [Mon, 4 Aug 2025 17:44:18 +0000 (02:44 +0900)] 
udev/spawn: continue to read stdout even if the result buffer is full

Previously, when the stdout of a spawned process (e.g. dmi_memory_id) is
truncated, the event source was not re-enabled, that will cause the process
to remain in a write-blocked state if the stdout buffer is full, and the
process will time out:
```
Spawned process 'dmi_memory_id' [1116] timed out after 2min 59s, killing.
Process 'dmi_memory_id' terminated by signal KILL.
```

The solution is to continue enabling the event source so that on_spawn_io()
can continue reading the stdout buffer. When the result buffer is full, the
local `buf` variable will be used to drain remaining stdout.

Co-authored-by: Deli Zhang <deli.zhang@cloud.com>
3 months agopo: Translated using Weblate (Kabyle)
ButterflyOfFire [Tue, 5 Aug 2025 01:31:01 +0000 (01:31 +0000)] 
po: Translated using Weblate (Kabyle)

Currently translated at 4.5% (12 of 264 strings)

Co-authored-by: ButterflyOfFire <butterflyoffire@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/kab/
Translation: systemd/main

3 months agoChores for RC2 (#38473)
Luca Boccassi [Mon, 4 Aug 2025 17:09:40 +0000 (18:09 +0100)] 
Chores for RC2 (#38473)

3 months agoNEWS: update date 38473/head
Luca Boccassi [Mon, 4 Aug 2025 11:22:44 +0000 (12:22 +0100)] 
NEWS: update date

3 months agoNEWS: update contributors list
Luca Boccassi [Mon, 4 Aug 2025 11:22:30 +0000 (12:22 +0100)] 
NEWS: update contributors list

3 months agoNEWS: note new items since RC1
Luca Boccassi [Mon, 4 Aug 2025 11:21:29 +0000 (12:21 +0100)] 
NEWS: note new items since RC1

3 months agohwdb: update autosuspend rules
Luca Boccassi [Mon, 4 Aug 2025 11:25:07 +0000 (12:25 +0100)] 
hwdb: update autosuspend rules

ninja -C build update-hwdb-autosuspend

3 months agohwdb: update
Luca Boccassi [Mon, 4 Aug 2025 11:24:29 +0000 (12:24 +0100)] 
hwdb: update

ninja -C build update-hwdb

3 months agotest-dns-question: use ASSERT_OK_POSITIVE/ZERO() rather than ASSERT_TRUE/FALSE()
Yu Watanabe [Sun, 3 Aug 2025 07:52:31 +0000 (16:52 +0900)] 
test-dns-question: use ASSERT_OK_POSITIVE/ZERO() rather than ASSERT_TRUE/FALSE()

Similar to 100a98960ac2ea8d1d7297e35960cd9c33b0ce19.

E.g. dns_question_contains_key() may return negative errno, hence we
should not use ASSERT_TRUE/FALSE() for the function.

This also has bunch of cleanups:
- call functions in ASSERT_NOT_NULL(),
- add short comments for constant function arguments,
- merge several test cases,
- use memstream, rather than temporal files.

Fixes CID#1619185.

3 months agotest: include unistd.h for _exit() used in ASSERT_SIGNAL()
Yu Watanabe [Mon, 4 Aug 2025 04:29:19 +0000 (13:29 +0900)] 
test: include unistd.h for _exit() used in ASSERT_SIGNAL()

Similar to c56e251d3f444b78e877eae27a0f82dcde5e9fe5.

3 months agoman: fix typo
Yu Watanabe [Sun, 3 Aug 2025 20:29:51 +0000 (05:29 +0900)] 
man: fix typo

3 months agotest-dns-answer: fix misuse of ASSERT_TRUE/FALSE()
Yu Watanabe [Fri, 1 Aug 2025 19:42:33 +0000 (04:42 +0900)] 
test-dns-answer: fix misuse of ASSERT_TRUE/FALSE()

E.g. dns_answer_match_key() may return negative errno, hence we should
use ASSERT_OK_POSITIVE/ZERO().

This also has bunch of cleanups:
- call functions in ASSERT_NOT_NULL(),
- add short comments for constant function arguments,
- merge several test cases,
- use memstream, rather than temporal files.

3 months agobuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5
dependabot[bot] [Fri, 1 Aug 2025 09:18:15 +0000 (09:18 +0000)] 
build(deps): bump github/codeql-action from 3.29.2 to 3.29.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.2 to 3.29.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/181d5eefc20863364f96762470ba6f862bdef56b...51f77329afa6477de8c49fc9c7046c15b9a4e79d)

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

Signed-off-by: dependabot[bot] <support@github.com>
3 months agobuild(deps): bump meson from 1.8.2 to 1.8.3 in /.github/workflows
dependabot[bot] [Fri, 1 Aug 2025 09:27:45 +0000 (09:27 +0000)] 
build(deps): bump meson from 1.8.2 to 1.8.3 in /.github/workflows

Bumps [meson](https://github.com/mesonbuild/meson) from 1.8.2 to 1.8.3.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.8.2...1.8.3)

---
updated-dependencies:
- dependency-name: meson
  dependency-version: 1.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months agobuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2
dependabot[bot] [Fri, 1 Aug 2025 09:18:19 +0000 (09:18 +0000)] 
build(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2

Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/f49aabe0b5af0936a0987cfb85d86b75731b0186...05b42c624433fc40578a4040d5cf5e36ddca8cde)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>