]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 days agohwdb: add ProtoArc EM01 NL mouse configuration
Abílio Costa [Sat, 29 Nov 2025 03:05:13 +0000 (03:05 +0000)] 
hwdb: add ProtoArc EM01 NL mouse configuration

2 days agopo: Translated using Weblate (Spanish)
Fco. Javier F. Serrador [Sat, 29 Nov 2025 03:49:48 +0000 (03:49 +0000)] 
po: Translated using Weblate (Spanish)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Fco. Javier F. Serrador <fserrador@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/es/
Translation: systemd/main

4 days agoSymlink for the /dev/ptp0 in vmware (#39917)
João Rodrigues [Wed, 26 Nov 2025 18:54:03 +0000 (18:54 +0000)] 
Symlink for the /dev/ptp0 in vmware (#39917)

There are rules to create a symlink for the /dev/ptp0 device in KVM and
Hyper-V virtualization infrastructure but not for vmware.

4 days agoPull in recent changes from Weblate (#39920)
Yu Watanabe [Wed, 26 Nov 2025 18:10:29 +0000 (03:10 +0900)] 
Pull in recent changes from Weblate (#39920)

One of the pending commits in Weblate causes conflicts due to an
unfortunate timing with 9e929e4aa78a38f822be7aa3da9c11994ad94c07, so
let's pull the changes into the main tree manually (and resolve the
conflicts).

5 days agopo: Translated using Weblate (Chinese (Simplified) (zh_CN)) 39920/head
lumingzh [Wed, 26 Nov 2025 02:34:53 +0000 (02:34 +0000)] 
po: Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (264 of 264 strings)

Translation: systemd/main
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/zh_CN/

5 days agopo: Translated using Weblate (Chinese (Simplified) (zh_CN))
Jesse Guo [Wed, 26 Nov 2025 02:32:21 +0000 (02:32 +0000)] 
po: Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (264 of 264 strings)

Translation: systemd/main
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/zh_CN/

5 days agoanalyze-dlopen-metadata: honor --no-legend and --no-pager
Mike Yuan [Wed, 26 Nov 2025 13:58:32 +0000 (14:58 +0100)] 
analyze-dlopen-metadata: honor --no-legend and --no-pager

5 days agomeson: bump version to v259~rc2 v259-rc2
Luca Boccassi [Wed, 26 Nov 2025 12:26:56 +0000 (12:26 +0000)] 
meson: bump version to v259~rc2

5 days agoNEWS: finalize date
Luca Boccassi [Wed, 26 Nov 2025 12:26:45 +0000 (12:26 +0000)] 
NEWS: finalize date

5 days agoci: split out nvpcr test, so that it runs before rest of pcrextend (#39915)
Lennart Poettering [Wed, 26 Nov 2025 12:24:57 +0000 (13:24 +0100)] 
ci: split out nvpcr test, so that it runs before rest of pcrextend (#39915)

in pcrextend we destroy pcr 11, and if we are booted in a kernel that
has pcr11 sigs, we cannot use that signature anymore. hence, let's do
the nvpcr test first, before doing the pcrextend stuff.

Fixes: #39582
5 days agotree-wide: Fix declaration/definition parameter name mismatches
Daan De Meyer [Tue, 25 Nov 2025 12:44:03 +0000 (13:44 +0100)] 
tree-wide: Fix declaration/definition parameter name mismatches

5 days agoChores for RC2 (#39901)
Luca Boccassi [Wed, 26 Nov 2025 09:52:33 +0000 (09:52 +0000)] 
Chores for RC2 (#39901)

5 days agoSD_JSON_BUILD_PAIR() conversions with coccinelle script (#39858)
Yu Watanabe [Wed, 26 Nov 2025 07:35:35 +0000 (16:35 +0900)] 
SD_JSON_BUILD_PAIR() conversions with coccinelle script (#39858)

5 days agocore/mount: comprehensively disable mount unit support if no libmount (#39884)
Yu Watanabe [Wed, 26 Nov 2025 07:29:30 +0000 (16:29 +0900)] 
core/mount: comprehensively disable mount unit support if no libmount (#39884)

5 days agorun0: two follow-ups (#39900)
Yu Watanabe [Wed, 26 Nov 2025 07:24:42 +0000 (16:24 +0900)] 
run0: two follow-ups (#39900)

5 days agosmbios11: use size_add() where appropriate
Mike Yuan [Tue, 25 Nov 2025 17:18:29 +0000 (18:18 +0100)] 
smbios11: use size_add() where appropriate

Follow-up for 33b0642e6ad33057a9f56763008e565d936d3948

5 days agoimport: Make naming consistent
Daan De Meyer [Tue, 25 Nov 2025 12:33:25 +0000 (13:33 +0100)] 
import: Make naming consistent

Always abbreviate import/pull/export structs with their first letter
instead of only doing it in some places and using the wrong letter in
other places.

5 days agocore: Rename error sd_bus_error parameters to reterr_error
Daan De Meyer [Tue, 25 Nov 2025 12:03:18 +0000 (13:03 +0100)] 
core: Rename error sd_bus_error parameters to reterr_error

5 days agofsprg: Drop const from gcry_mpi_t arguments
Daan De Meyer [Tue, 25 Nov 2025 11:09:34 +0000 (12:09 +0100)] 
fsprg: Drop const from gcry_mpi_t arguments

gcry_mpi_t is defined as "typedef struct gcry_mpi *gcry_mpi_t;".
When const is applied to this type, it resolves to
"struct gcry_mpi *const" instead of what we expect ("const struct gcry_mpi *").

So we end up with a const pointer to a mutable object instead of a mutable
pointer to a const object. Since the pointer passed to the function
is copied regardless, making it const has zero benefit.

You'd think we could instead stop using gcry_mpi_t and replace it with
"const struct gcry_mpi *", except that gcrypt leaked this mess into its
api, so it expects const pointers to mutable objects as well, which means
we can't take pointers to const objects as arguments, as we'd discard the qualifier
when calling a gcrypt function.

To avoid confusion, let's drop the const qualifiers from the gcry_mpi_t arguments.

5 days agotree-wide: Small fixes for various clang-tidy warnings
Daan De Meyer [Fri, 21 Nov 2025 10:14:32 +0000 (11:14 +0100)] 
tree-wide: Small fixes for various clang-tidy warnings

5 days agolibmount-util: build .c only if libmount feature is enabled 39884/head
Mike Yuan [Tue, 25 Nov 2025 02:26:10 +0000 (03:26 +0100)] 
libmount-util: build .c only if libmount feature is enabled

Follow-up for 7336f2c748fd37a60a3f5353ad198c1534d6cb5f

This alignes with some other optional modules in shraed/,
and it allows dlopen_libmount() to be optimized out entirely.
Let's avoid emitting pointless symbols.

5 days agoRevert "pid1: pull in libmount unconditionally"
Mike Yuan [Tue, 25 Nov 2025 02:19:37 +0000 (03:19 +0100)] 
Revert "pid1: pull in libmount unconditionally"

This reverts commit 6069de1ed34735482dc63ba7431f605b858ea719.

5 days agocore/mount: comprehensively disable mount unit support if no libmount
Mike Yuan [Tue, 25 Nov 2025 01:34:08 +0000 (02:34 +0100)] 
core/mount: comprehensively disable mount unit support if no libmount

Follow-up for b3243f4beead231e27a4f017f53288a303177cb2
and 5df44d0f6a1ba23b52b0c46a5e720f334f152ae5

Since we now consider this a supported senario, let's hook up
libmount loading with the high-level unit_type_supported() machinery
and gracefully skip the whole unit accordingly.

5 days agoNEWS: update contributors list 39901/head
Luca Boccassi [Wed, 26 Nov 2025 01:19:25 +0000 (01:19 +0000)] 
NEWS: update contributors list

5 days agoTranslations: update systemd-po
Luca Boccassi [Wed, 26 Nov 2025 01:18:22 +0000 (01:18 +0000)] 
Translations: update systemd-po

ninja -C build systemd-update-po

5 days agoTranslations: update systemd-pot
Luca Boccassi [Wed, 26 Nov 2025 01:17:18 +0000 (01:17 +0000)] 
Translations: update systemd-pot

ninja -C build systemd-pot

5 days agosyscalls: add 'pragma export' to script that generates header
Luca Boccassi [Wed, 26 Nov 2025 01:15:23 +0000 (01:15 +0000)] 
syscalls: add 'pragma export' to script that generates header

Otherwise it gets lost every time the header is regenerated

Follow-up for 3111327ca4a537454e40dae2a484c043bb89f7f7

5 days agoUpdate hwdb
Luca Boccassi [Wed, 26 Nov 2025 01:13:40 +0000 (01:13 +0000)] 
Update hwdb

ninja -C build update-hwdb

5 days agorun: merge privileged_execution() into become_root() 39900/head
Mike Yuan [Tue, 25 Nov 2025 17:42:11 +0000 (18:42 +0100)] 
run: merge privileged_execution() into become_root()

This got split in 5cabeed80b30972babc7a082ca794c6b197e72ab
to accommodate --empower, and later --empower received
dedicated handling again (c36942916b7409109687d693c04b039def9c5b79).
I think the new naming makes more sense - --empower is privileged
after all, just with uid left unchanged. Hence merge
privileged_execution back into it.

5 days agorun0: swap the order of setting default wd and user
Mike Yuan [Tue, 25 Nov 2025 17:52:05 +0000 (18:52 +0100)] 
run0: swap the order of setting default wd and user

Follow-up for 4f6ef13f43aed654cbadb2785afee1ce567d710d

Special casing --area= rather than --empower makes the code
self-explanatory, as --area= is about alternative home dir
after all. On top of that this ensures when --area= and
--empower are specified in combination we honor the home dir
switch, too.

5 days agodlfcn-util: fix potential dl handle leak
Mike Yuan [Tue, 25 Nov 2025 02:52:57 +0000 (03:52 +0100)] 
dlfcn-util: fix potential dl handle leak

Follow-up for 2c7bdaf9f144ad339c72628579183fc849f2b794

5 days agorun: Don't make executable absolute when --root-directory= is used
Daan De Meyer [Mon, 24 Nov 2025 18:52:40 +0000 (19:52 +0100)] 
run: Don't make executable absolute when --root-directory= is used

Also, unless --same-root-dir was specified, don't make the executable
absolute if we're running in a chroot. Situations like this are still iffy,
but we might as well handle them a little more gracefully.

5 days agosd-journal: fix a copy-paste error
Frantisek Sumsal [Tue, 25 Nov 2025 17:40:10 +0000 (18:40 +0100)] 
sd-journal: fix a copy-paste error

Dereference the Directory pointer in the debug message instead of the
(probably already freed) JournalFile one.

5 days agotree-wide: Fix constness issues with newer glibc (#39896)
Zbigniew Jędrzejewski-Szmek [Tue, 25 Nov 2025 23:32:54 +0000 (00:32 +0100)] 
tree-wide: Fix constness issues with newer glibc (#39896)

Latest glibc uses _Generic to have strstr() and other functions return
const char* or char* based on whether the input is a const char* or a
char*. This causes build failures as we previously always expected a
char*.

Let's fix the compilation failures and add our own macros similar to
glibc's to have string functions that return a mutable or const pointer
depending on the input.

5 days agotree-wide: Fix constness issues with newer glibc 39896/head
Daan De Meyer [Tue, 25 Nov 2025 15:46:04 +0000 (16:46 +0100)] 
tree-wide: Fix constness issues with newer glibc

Latest glibc uses _Generic to have strstr() and other functions return
const char* or char* based on whether the input is a const char* or a
char*. This causes build failures as we previously always expected a char*.

Let's fix the compilation failures and add our own macros similar to glibc's
to have string functions that return a mutable or const pointer depending on
the input.

6 days agotree-wide: sizeof() fixes
Daan De Meyer [Fri, 21 Nov 2025 08:25:18 +0000 (09:25 +0100)] 
tree-wide: sizeof() fixes

- TIME_T_MAX is always time_t so the check in time-util.c was redundant
- quota-util.c was zero-ing a pointer
- smbios11.c was calling sizeof(pointer)

6 days agorun0: Give --empower its own color, title and emoji
Daan De Meyer [Mon, 24 Nov 2025 18:48:49 +0000 (19:48 +0100)] 
run0: Give --empower its own color, title and emoji

When in --empower mode, all created files will be owned by the current
user, which could be problematic when creating files outside of the
current user's home directory, as other processes running as the same
user would be able to edit those files.

While this is a bit of an edge case since users already have to go through
the effort of writing --empower to indicate they want a privileged session
as the current user, it's not unphatomable to think they could start an
empowered session which they later return to and continue using. Currently,
it's not easy to differentiate a regular run0 session and an empowered session
at a glance, so users might think they're using a regular run0 session when
they're actually using an empowered session.

To address this problem, let's give empowered session their own identify, by
making the background orange, using the pumpkin emoji as the shell prompt
prefix and giving them an orange circle as the PTY title.

6 days agoboot: Fix warning
Daan De Meyer [Tue, 25 Nov 2025 15:50:23 +0000 (16:50 +0100)] 
boot: Fix warning

memchr() is a macro on newer glibc so make sure to undefine it before
redefining it.

6 days agoopenssl-util: indentation fix
Yu Watanabe [Tue, 25 Nov 2025 13:16:16 +0000 (22:16 +0900)] 
openssl-util: indentation fix

Follow-up for 1144f07dc69cc04138d90000b1782c4a2b27cd94.

6 days agoTEST-02-UNITTESTS: drop outdated comment
Yu Watanabe [Tue, 25 Nov 2025 06:22:58 +0000 (15:22 +0900)] 
TEST-02-UNITTESTS: drop outdated comment

Follow-up for 741d59b326ea25053097fcbf004864ea6b3c6299.

6 days agodocs/MOUNT_REQUIREMENTS: fix typo
Yu Watanabe [Tue, 25 Nov 2025 13:51:25 +0000 (22:51 +0900)] 
docs/MOUNT_REQUIREMENTS: fix typo

Follow-ups for 3e94ae6f1e2bac0c6be2817ab419123ea37d8e4a.

6 days agoprocess-util: fix typo
Yu Watanabe [Tue, 25 Nov 2025 13:49:44 +0000 (22:49 +0900)] 
process-util: fix typo

Follow-up for a08f2ea02dc4fcbd7f2f73a5a24e0af32b34fe55.

6 days agomkosi: Add hyperscale profile (#39329)
Daan De Meyer [Tue, 25 Nov 2025 12:50:45 +0000 (13:50 +0100)] 
mkosi: Add hyperscale profile (#39329)

In the CentOS Hyperscale SIG, we maintain a backport of systemd with
its own rpm spec forked from rawhide.

Let's make it easy to build upstream rpms using the Hyperscale spec
by adding a mkosi hyperscale profile.

6 days agoTEST-88-UPGRADE: Stop resolved hook socket before downgrading
Daan De Meyer [Tue, 25 Nov 2025 09:41:24 +0000 (10:41 +0100)] 
TEST-88-UPGRADE: Stop resolved hook socket before downgrading

Otherwise it'll remain active and cause networkd to get started again
during the downgrade.

6 days agoAdjust code to query terminal size and other attributes (#39832)
Zbigniew Jędrzejewski-Szmek [Tue, 25 Nov 2025 10:43:26 +0000 (11:43 +0100)] 
Adjust code to query terminal size and other attributes (#39832)

6 days agomkosi: Add fixed qemu ppa for Noble temporarily 39329/head
Daan De Meyer [Wed, 19 Nov 2025 15:43:54 +0000 (16:43 +0100)] 
mkosi: Add fixed qemu ppa for Noble temporarily

Until https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2127974
is fixed and rolled out, let's use enr0n's ppa with the fixed qemu
to make CI pass.

6 days agomkosi: Add hyperscale profile
Daan De Meyer [Mon, 1 Sep 2025 15:31:29 +0000 (17:31 +0200)] 
mkosi: Add hyperscale profile

In the CentOS Hyperscale SIG, we maintain a backport of systemd with
its own rpm spec forked from rawhide.

Let's make it easy to build upstream rpms using the Hyperscale spec
by adding a mkosi hyperscale profile.

6 days agomkosi: Rework how the pkgenv environment variables are set
Daan De Meyer [Mon, 1 Sep 2025 15:29:54 +0000 (17:29 +0200)] 
mkosi: Rework how the pkgenv environment variables are set

Instead of including distribution specific files in the subimages,
let's have one common mkosi.pkgenv/ directory that handles all the
matching which is then included in the subimages.

This gives us more control on exactly how we do the matching.

6 days agomkosi: update mkosi commit reference to 10544812b35a668d4aac9834c78ee8166e99bc78
Daan De Meyer [Wed, 15 Oct 2025 19:40:11 +0000 (21:40 +0200)] 
mkosi: update mkosi commit reference to 10544812b35a668d4aac9834c78ee8166e99bc78

10544812b3 Don't fix up vmlinuz locations if not required
9baf551923 Reduce amount of packages in default image
9e1a2f18b8 Add support for assert sections
c7c6e2c0b1 ubuntu: Switch to devel as the default release
0822deb69c Improve logging when we can not extract kernel version from filename
1fd7ef3db7 Do not build default initrd if Initrds= is specified
611c8b46c8 Don't unconditionally sync when PackageCacheDirectory=/var
ab37f24d38 README: add link to OBS docs for mkosi builds
02bf256ebb completion: add reuse ignore comments
10ccb0b04f Make sure not all subimages depend on default-initrd subimage
442e1ce0f1 mkosi-tools: systemd-boot-tools is now available for all arches
307fc1dba3 action: make it work when used as a submodule
c37a55f91b config: serialize dataclass instances in our JSONEncoder
f26cb34155 log: set terminal window title in complete_step while mkosi runs
280c78e681 Make sure inherited settings are applied for the default initrd
ae4f2fd718 Fix typo
5644f3e83e build(deps): bump github/codeql-action from 3.29.7 to 3.30.5
7d7b26b8c9 build(deps): bump actions/checkout from 4.2.2 to 5.0.0
e805253447 postmarketos: implement is_kernel_package
dd51d2e019 postmarketos: provide missing i386-vars.fd
e23e6de66b Do not relabel files when building extension image
ab05ead5eb Bump various systemd version checks to 258
382cc8b450 preset: drop systemd-networkd-wait-online.service
477b6b2ed5 mkosi-initrd: install systemd-container in network profile
1d167c0b53 mkosi-initrd: add 89-ethernet.network for network profile
b1e81dec3a mkosi-initrd: Install libseccomp explicitly
3c431a141c opensuse: repository non-oss-debug is invalid
62ab363149 ci: add an s390x build job for additional coverage
62765f2d07 mailmap: deduplicate Daan
47f963f40b Revert "ci: Disable PPC jobs temporarily"
6a48f83dda dnf: Always specify --best again
3702368616 sandbox: Make all relative paths absolute during argparsing
a587af0bf7 dnf: Fix /var package cache directory check in package_subdirs()
56cdbc25b5 Always use repository metadata from /var package cache directory
669d4418a3 Add note on Encrypt=yes to Passphrase= docs
caa129edae Drop BuildSourcesEphemeral=yes from default image config
7edca63478 Add devicetree-auto support for UKI
6cb1649074 Don't add ncdu for ppc64-le on Fedora
e019d2d2a6 ci: Disable PPC jobs temporarily

6 days agofactory: do not install nsswitch.conf when nss is disabled
Yu Watanabe [Sun, 23 Nov 2025 02:51:01 +0000 (11:51 +0900)] 
factory: do not install nsswitch.conf when nss is disabled

When systemd is built with musl, nss modules are not supported,
hence the file is not necessary. Let's not install the file.

6 days agobasic/terminal-util: ignore failures in cleanup 39832/head
Zbigniew Jędrzejewski-Szmek [Thu, 20 Nov 2025 15:37:30 +0000 (16:37 +0100)] 
basic/terminal-util: ignore failures in cleanup

Some of the functions were ignoring failure in cleanup, others weren't. If we
got a reply, it's better to use it, so ignore failures in cleanup everywhere.

6 days agobasic/terminal-util: operate on one fd in get_default_background_color()
Zbigniew Jędrzejewski-Szmek [Thu, 20 Nov 2025 13:33:26 +0000 (14:33 +0100)] 
basic/terminal-util: operate on one fd in get_default_background_color()

This moves the open call earlier, so that we do any state-changing operations
if we actually managed to open the nonblocking fd. The code is easier to follow
this way and might be more robust.

Suprisingly, this fixes https://github.com/systemd/systemd/issues/39055: it
seems that run0 chowns /dev/stdin (in my case /dev/pts/0) to root:root, and the
second run0 can read and write stdin/stdout throught the already-open fds,
but fd_reopen fails.

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

6 days agococcinelle: error out when spatch is not installed 39858/head
Jelle van der Waa [Sat, 15 Nov 2025 16:59:09 +0000 (17:59 +0100)] 
coccinelle: error out when spatch is not installed

Otherwise parallel keeps spitting out "command not found".

6 days agotreewide: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()
Jelle van der Waa [Sat, 22 Nov 2025 13:45:04 +0000 (14:45 +0100)] 
treewide: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()

Include a coccinelle script that patches this automatically.

6 days agoshared: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()
Jelle van der Waa [Sat, 22 Nov 2025 13:44:35 +0000 (14:44 +0100)] 
shared: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()

No functional change, just refactoring.

6 days agohome: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()
Jelle van der Waa [Sat, 22 Nov 2025 13:44:15 +0000 (14:44 +0100)] 
home: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()

No functional change, just refactoring.

6 days agocryptenroll: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()
Jelle van der Waa [Sat, 22 Nov 2025 13:43:31 +0000 (14:43 +0100)] 
cryptenroll: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()

No functional change, just refactoring.

6 days agocore: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()
Jelle van der Waa [Sat, 22 Nov 2025 13:43:03 +0000 (14:43 +0100)] 
core: prefer using SD_JSON_BUILD_PAIR_* over SD_JSON_BUILD_PAIR()

No functional change, just refactoring.

6 days agodiscover-image: use _SD_PATH_INVALID where appropriate
Lennart Poettering [Tue, 18 Nov 2025 21:32:41 +0000 (22:32 +0100)] 
discover-image: use _SD_PATH_INVALID where appropriate

The enum definition only exists for cases like this, use it, instead of
its literal value.

This doesn't effectively change anything, but cleans up the code a bit.

6 days agodissect-image: make verity params for mountfsd_mount_image() optional
Lennart Poettering [Wed, 19 Nov 2025 16:26:15 +0000 (17:26 +0100)] 
dissect-image: make verity params for mountfsd_mount_image() optional

6 days agoRevert "nspawn: Fix broken host links for container journals" (#39879)
Chris Down [Mon, 24 Nov 2025 17:13:43 +0000 (01:13 +0800)] 
Revert "nspawn: Fix broken host links for container journals" (#39879)

Reverts systemd/systemd#39727

7 days agocore: Make libmount optional (#39878)
Daan De Meyer [Mon, 24 Nov 2025 16:19:26 +0000 (17:19 +0100)] 
core: Make libmount optional (#39878)

7 days agorun: fix two minor memory leaks
Antonio Alvarez Feijoo [Mon, 24 Nov 2025 12:11:01 +0000 (13:11 +0100)] 
run: fix two minor memory leaks

```
==19541== 8 bytes in 1 blocks are still reachable in loss record 1 of 3
==19541==    at 0x4841744: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==19541==    by 0x50125C9: strdup (strdup.c:42)
==19541==    by 0x4C55925: getusername_malloc (user-util.c:154)
==19541==    by 0x1121D6: parse_argv_sudo_mode (run.c:1098)
==19541==    by 0x123B13: run (run.c:3032)
==19541==    by 0x124198: main (run.c:3100)
==19541==
==19541== 11 bytes in 1 blocks are still reachable in loss record 2 of 3
==19541==    at 0x4841744: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==19541==    by 0x50125C9: strdup (strdup.c:42)
==19541==    by 0x112A9C: parse_argv_sudo_mode (run.c:1182)
==19541==    by 0x123B13: run (run.c:3032)
==19541==    by 0x124198: main (run.c:3100)
```

7 days agoRevert "nspawn: Fix broken host links for container journals" 39879/head
Lennart Poettering [Mon, 24 Nov 2025 15:34:00 +0000 (16:34 +0100)] 
Revert "nspawn: Fix broken host links for container journals"

7 days agocore: Make libmount optional 39878/head
Daan De Meyer [Mon, 24 Nov 2025 14:33:26 +0000 (15:33 +0100)] 
core: Make libmount optional

Instead of skipping libcore entirely when libmount is not available,
let's only compile out the pieces that need libmount. This makes the
meson logic much less complex and allows systemd-analyze to be built
when libmount is not available.

7 days agotest: Skip protect_kernel_logs test if libmount is missing
Daan De Meyer [Mon, 24 Nov 2025 15:08:57 +0000 (16:08 +0100)] 
test: Skip protect_kernel_logs test if libmount is missing

libmount is required for setup_namespace() so skip the test if it
is not available.

7 days agonspawn: fix CI
Lennart Poettering [Mon, 24 Nov 2025 14:30:23 +0000 (15:30 +0100)] 
nspawn: fix CI

7 days agoopenssl-util: introduce openssl_extract_public_key() helper function
Yu Watanabe [Mon, 24 Nov 2025 01:30:07 +0000 (10:30 +0900)] 
openssl-util: introduce openssl_extract_public_key() helper function

This splits out common logic in keyutil and systemd-measure.

Note, previously d2i_PUBKEY_fp() was used, but now it is replaced with
d2i_PUBKEY(), as musl seems to not support reading from memstream.

7 days agorun0: Stay in cwd if --empower is specified without a user
Daan De Meyer [Mon, 24 Nov 2025 11:36:42 +0000 (12:36 +0100)] 
run0: Stay in cwd if --empower is specified without a user

If we run "run0 --empower", the expectation is to stay in the
current working directory, not switch to ~.

7 days agoblock dlopen() once we transition into some foreign namespace (#39824)
Lennart Poettering [Mon, 24 Nov 2025 13:14:16 +0000 (14:14 +0100)] 
block dlopen() once we transition into some foreign namespace (#39824)

Let's make sure we never accidentally end up loading code from a foreign
namespace.

7 days agomeson: Still build libshared even if libmount is disabled (#39871)
Daan De Meyer [Mon, 24 Nov 2025 13:05:29 +0000 (14:05 +0100)] 
meson: Still build libshared even if libmount is disabled (#39871)

Currently, if the libmount feature is disabled, we don't build libshared
and as a result skip building every other executable as well. Among
other things, this makes our nodeps CI builds kind of pointless since
hardly any code will be compiled.

Let's improve on the situation by making libmount properly optional in
libshared. Then, we only skip building the executables that actually
need libmount.

7 days agotest: use log_tests_skipped_errno() at one more place
Yu Watanabe [Sat, 22 Nov 2025 00:46:58 +0000 (09:46 +0900)] 
test: use log_tests_skipped_errno() at one more place

Follow-up for 12d2abe0827ad62652d0cb1791c89f3d2adbb280.

7 days agomeson: Still build libshared even if libmount is disabled 39871/head
Daan De Meyer [Mon, 24 Nov 2025 09:57:58 +0000 (10:57 +0100)] 
meson: Still build libshared even if libmount is disabled

Currently, if the libmount feature is disabled, we don't build
libshared and as a result skip building every other executable as
well. Among other things, this makes our nodeps CI builds kind of
pointless since hardly any code will be compiled.

Let's improve on the situation by making libmount properly optional
in libshared. Then, we only skip building the executables that
actually need libmount.

7 days agotest-reread-partition-table: Don't keep open fds around
Daan De Meyer [Mon, 24 Nov 2025 10:53:12 +0000 (11:53 +0100)] 
test-reread-partition-table: Don't keep open fds around

Avoids EBUSY from BLKRRPART when built without libblkid support.

7 days agotest-reread-partition-table: Only check for CAP_SYS_ADMIN
Daan De Meyer [Mon, 24 Nov 2025 11:51:14 +0000 (12:51 +0100)] 
test-reread-partition-table: Only check for CAP_SYS_ADMIN

We might have CAP_SYS_ADMIN even without being root.

7 days agotests: Assume we're running in a chroot if check fails
Daan De Meyer [Mon, 24 Nov 2025 12:07:39 +0000 (13:07 +0100)] 
tests: Assume we're running in a chroot if check fails

running_in_chroot() will fail when a test is executed as a non-root
user without CAP_DAC_READ_SEARCH as it won't be able to access
/proc/1/root.

Let's make things more robust by skipping tests if we can't detect
if we're in a chroot or not, since if we can't even detect if we're
in a chroot or not, chances are we're missing the required privileges
to execute the test anyway.

7 days agotree-wide: replace tab with space, adjust missing or duplicated space
Yu Watanabe [Mon, 24 Nov 2025 03:59:22 +0000 (12:59 +0900)] 
tree-wide: replace tab with space, adjust missing or duplicated space

7 days agooomd: move check if processes can be killed into oomd_cgroup_kill()
Yu Watanabe [Sat, 22 Nov 2025 01:19:47 +0000 (10:19 +0900)] 
oomd: move check if processes can be killed into oomd_cgroup_kill()

This also adds a debuuging log if the check failed.
Addresses https://github.com/systemd/systemd/pull/39773#discussion_r2549439336.

Follow-up for 38e9d40c8097363b1e8fa025ef06865dadb0a3ac.

7 days agoman,doc: add uapi spec numbers to all links to uapi specs (#39867)
Luca Boccassi [Mon, 24 Nov 2025 11:15:09 +0000 (11:15 +0000)] 
man,doc: add uapi spec numbers to all links to uapi specs (#39867)

7 days agocrash-handler: also disable dlopen(), just in case 39824/head
Lennart Poettering [Thu, 20 Nov 2025 13:43:41 +0000 (14:43 +0100)] 
crash-handler: also disable dlopen(), just in case

7 days agoprocess-util: also disable dlopen() in safe_fork()
Lennart Poettering [Thu, 20 Nov 2025 13:43:22 +0000 (14:43 +0100)] 
process-util: also disable dlopen() in safe_fork()

7 days agocore: load libcryptsetup before forking off child that might need it
Lennart Poettering [Mon, 24 Nov 2025 08:41:36 +0000 (09:41 +0100)] 
core: load libcryptsetup before forking off child that might need it

7 days agosysext: load libraries before forking off worker child
Lennart Poettering [Fri, 21 Nov 2025 16:09:54 +0000 (17:09 +0100)] 
sysext: load libraries before forking off worker child

7 days agorepart: load libraries before forking off child
Lennart Poettering [Fri, 21 Nov 2025 16:09:21 +0000 (17:09 +0100)] 
repart: load libraries before forking off child

7 days agoudev: load a bunch of libs before we fork off worker processes
Lennart Poettering [Fri, 21 Nov 2025 07:53:44 +0000 (08:53 +0100)] 
udev: load a bunch of libs before we fork off worker processes

7 days agodissect-image: load library before we fork off metadata extractor child process
Lennart Poettering [Fri, 21 Nov 2025 07:53:28 +0000 (08:53 +0100)] 
dissect-image: load library before we fork off metadata extractor child process

7 days agoportabled: load a bunch of libs before we fork off a dissector child processes
Lennart Poettering [Fri, 21 Nov 2025 07:53:14 +0000 (08:53 +0100)] 
portabled: load a bunch of libs before we fork off a dissector child processes

7 days agopid1: pull in libmount unconditionally
Lennart Poettering [Mon, 24 Nov 2025 08:55:46 +0000 (09:55 +0100)] 
pid1: pull in libmount unconditionally

7 days agoexecute: load a bunch of libs before we disable dlopen()
Lennart Poettering [Mon, 24 Nov 2025 08:55:03 +0000 (09:55 +0100)] 
execute: load a bunch of libs before we disable dlopen()

7 days agonspawn: load three libraries we'll need later before we fork() a child
Lennart Poettering [Wed, 19 Nov 2025 16:23:58 +0000 (17:23 +0100)] 
nspawn: load three libraries we'll need later before we fork() a child

7 days agodlfcn-util: let's make our dlopen() code fail if we enter a container namespace
Lennart Poettering [Wed, 19 Nov 2025 16:13:50 +0000 (17:13 +0100)] 
dlfcn-util: let's make our dlopen() code fail if we enter a container namespace

Now that we dlopen() so many deps, it might happen by accident that we
end up dlopen()ening stuff when we entered a container, which we should
really avoid, to not mix host and container libraries.

Let's add a global variable we can set when we want to block dlopen() to
ever succeed. This is then checked primarily in
dlopen_many_sym_or_warn(), where we'll generate EPERM plus a log
message.

There are a couple of other places we invoke dlopen(), without going
through dlopen_many_sym_or_warn(). This adds the same check there.

7 days agohwdb: Add alternative mode for Beacn Mic (#39868)
Craig McLure [Mon, 24 Nov 2025 06:02:10 +0000 (06:02 +0000)] 
hwdb: Add alternative mode for Beacn Mic (#39868)

The Beacn Mic's alt-mode behaves identically to it's primary mode from a
communication perspective, it just presents a different channel
configuration to ALSA.

7 days agoman: always prefix links to uapi specs with their UAPI.XY spec number 39867/head
Lennart Poettering [Sun, 23 Nov 2025 17:07:13 +0000 (18:07 +0100)] 
man: always prefix links to uapi specs with their UAPI.XY spec number

Let's try to establish the spec numbers, by mentioning them in most doc
links.

Follow-up for: https://github.com/uapi-group/specifications/pull/187

8 days agodocs: reference UAPI specs by their number when linked
Lennart Poettering [Sun, 23 Nov 2025 16:16:09 +0000 (17:16 +0100)] 
docs: reference UAPI specs by their number when linked

8 days agofirstboot: drop redundant and spurious errno check
Yu Watanabe [Sun, 23 Nov 2025 06:04:26 +0000 (15:04 +0900)] 
firstboot: drop redundant and spurious errno check

Follow-up for 2319154a6bec7b8c42e901dfacaefe95bf4e3750.

8 days agoboot: ensure profile IDs do not get leaked and overwritten when there are tries suffixes
Luca Boccassi [Sat, 22 Nov 2025 00:25:21 +0000 (00:25 +0000)] 
boot: ensure profile IDs do not get leaked and overwritten when there are tries suffixes

boot_entry_parse_tries() replaces the id, which means the id
with the profile appended is lost (leaked) and replaced by a plain filename
in case there are tries suffixes. This means the wrong order is used in
displaying the entries in the menu, as the main profile is always last
given id_without_profile has the tries suffixes and sorts higher,
while the main profile has no id_without_profile and the id sorts lower
since it does not have the tries suffix.

Follow-up for 4301ad00ef715885be5c3bdf84c152030b7d36ff

8 days agocore/selinux-setup: actually skip setup gracefully when libselinux is not available...
Yu Watanabe [Sun, 23 Nov 2025 00:11:32 +0000 (09:11 +0900)] 
core/selinux-setup: actually skip setup gracefully when libselinux is not available (#39859)

8 days agodocs: Document cast formatting rules
Daan De Meyer [Sat, 22 Nov 2025 21:50:39 +0000 (22:50 +0100)] 
docs: Document cast formatting rules

8 days agocore/selinux-setup: actually skip setup gracefully when libselinux is not available 39859/head
Mike Yuan [Thu, 20 Nov 2025 19:07:32 +0000 (20:07 +0100)] 
core/selinux-setup: actually skip setup gracefully when libselinux is not available

Follow-up for 83b6ef9b62765b11bc602eae906ff13a5464a638

8 days agocore/exec-invoke: deduplicate needs_setuid with needs_sandboxing
Mike Yuan [Thu, 20 Nov 2025 12:52:51 +0000 (13:52 +0100)] 
core/exec-invoke: deduplicate needs_setuid with needs_sandboxing