]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 months agotest: check that currentServer field is set in resolvectl JSON status 40396/head
Nick Rosbrook [Mon, 19 Jan 2026 18:48:07 +0000 (13:48 -0500)] 
test: check that currentServer field is set in resolvectl JSON status

2 months agoresolve: include current DNS server in JSON again
Nick Rosbrook [Mon, 19 Jan 2026 18:29:52 +0000 (13:29 -0500)] 
resolve: include current DNS server in JSON again

The current_dns_server_json object in dns_configuration_json_append() is
always NULL, because the logic to dump the current DNS server to JSON
was removed by mistake in a re-factoring commit. Add that logic back.

Fixes c6b6ac63ea ("resolve: drop unnecessary preparation of empty arrays").

2 months agovmspawn: use indexed loop
Yu Watanabe [Mon, 19 Jan 2026 14:14:26 +0000 (23:14 +0900)] 
vmspawn: use indexed loop

Previously, the index is obtained from the pointer offset. The
pointer offset is expressed by ptrdiff_t and may be different from
ssize_t.

Let's avoid to use FOREACH_ARRAY() but use an indexed loop.
This also renames `mount` to `m` to avoid conflict with `mount()`.

Fixes #40380.

2 months agojournal/audit: do not use strjoina() for arbitrary length of received string
Yu Watanabe [Mon, 19 Jan 2026 13:56:24 +0000 (22:56 +0900)] 
journal/audit: do not use strjoina() for arbitrary length of received string

Otherwise, when a long message is received, the assertion in strjoina()
may be triggered.

Fixes oss-fuzz#476768320 (https://issues.oss-fuzz.com/issues/476768320).
Fixes #40388.

2 months agoportable: pin attached image via image-policy (#40152)
Luca Boccassi [Mon, 19 Jan 2026 16:24:44 +0000 (16:24 +0000)] 
portable: pin attached image via image-policy (#40152)

When attaching images generate a policy in the portable drop-in that
matches the partition types and content found while dissecting, so that
it can no longer be changed later without a reattach

2 months agoaudit-type: include alloc-util.h for newa() (#40389)
Yu Watanabe [Mon, 19 Jan 2026 15:31:39 +0000 (00:31 +0900)] 
audit-type: include alloc-util.h for newa() (#40389)

The macro audit_type_name_alloca() needs newa() which is defined in
alloc-util.h.

2 months agotree-wide: use consistent format of short comment for constant argument
Yu Watanabe [Mon, 19 Jan 2026 15:20:01 +0000 (00:20 +0900)] 
tree-wide: use consistent format of short comment for constant argument

Follow-ups for recent changes after 93378148d48fa700c7f53b5f8969787af2a47ccb.

2 months agoportable: pin attached image via image-policy 40152/head
Luca Boccassi [Fri, 19 Dec 2025 17:02:03 +0000 (17:02 +0000)] 
portable: pin attached image via image-policy

When attaching images generate a policy in the portable drop-in
that matches the partition types and content found while dissecting,
so that it can no longer be changed later without a reattach.

2 months agoimage-policy: add helper to create policy from dissected image
Luca Boccassi [Fri, 19 Dec 2025 17:01:32 +0000 (17:01 +0000)] 
image-policy: add helper to create policy from dissected image

Pin policies to exactly what was found while dissecting

2 months agoimage-policy: add image_policy_union helper
Luca Boccassi [Fri, 19 Dec 2025 16:53:18 +0000 (16:53 +0000)] 
image-policy: add image_policy_union helper

Similar to image_policy_intersect but is the union of all used policies
instead

2 months agoMore legacy kernel support removal; follow-ups for XAT_FDROOT (#40384)
Yu Watanabe [Mon, 19 Jan 2026 14:10:17 +0000 (23:10 +0900)] 
More legacy kernel support removal; follow-ups for XAT_FDROOT (#40384)

2 months agobusctl: handle `--limit-messages` option under the `wait` verb
zefr0x [Sat, 17 Jan 2026 19:59:22 +0000 (22:59 +0300)] 
busctl: handle `--limit-messages` option under the `wait` verb

Main focus was to not introduce breaking change or duplicated argument.
The `--limit-messages=` option that is used under the `monitor` verb is
reused here. However, both `wait` and `monitor` have contradicting
default behaviors, so it's not the cleanest thing to do.

There was some post-commit discussion about the API in #33961, but the
final name adopted in #34928 wasn't that flexible either to fit nicely
here in the `wait` verbe.

Additionally, there wasn't consideration in #34555 for having uniform
behavrious, so we ended with `wait` verb and `--limit-messages=` option,
rather than `receive` verb with default of continuously receving signals
withtout exit so `--limit-messages=` make more sence and be expectable.

2 months agocore/cgroup: obsolete DefaultMemoryMin/Low= 40384/head
Mike Yuan [Sat, 17 Jan 2026 00:21:34 +0000 (01:21 +0100)] 
core/cgroup: obsolete DefaultMemoryMin/Low=

Now that our kernel baseline is v5.7 and memory_recursiveprot
is universally enabled, remove userspace workarounds.

2 months agocore/cgroup: do not consider cgroup_context_has_io_config() if only IOAccounting=yes
Mike Yuan [Mon, 19 Jan 2026 01:05:33 +0000 (02:05 +0100)] 
core/cgroup: do not consider cgroup_context_has_io_config() if only IOAccounting=yes

This makes things in line with unit_has_memory_config(),
and suppresses pointless application of IO configs.

2 months agocore/cgroup: drop trusted.survive_final_kill_signal fallback for kernel < 5.7
Mike Yuan [Sun, 18 Jan 2026 21:40:30 +0000 (22:40 +0100)] 
core/cgroup: drop trusted.survive_final_kill_signal fallback for kernel < 5.7

2 months agocore/namespace: remove availability checks for procfs hidepid=/subset= opts
Mike Yuan [Sun, 18 Jan 2026 21:54:17 +0000 (22:54 +0100)] 
core/namespace: remove availability checks for procfs hidepid=/subset= opts

2 months agostat-util: O_NOCTTY is nop with O_PATH
Mike Yuan [Mon, 19 Jan 2026 00:15:18 +0000 (01:15 +0100)] 
stat-util: O_NOCTTY is nop with O_PATH

2 months agostat-util: do not use RET_NERRNO for our own function
Mike Yuan [Mon, 19 Jan 2026 00:13:01 +0000 (01:13 +0100)] 
stat-util: do not use RET_NERRNO for our own function

Follow-up for 95abe4beff08636681069623ffdf16cfa34c7cf8

2 months agofs-util: optimize xopenat(XAT_FDROOT, ...) a bit
Mike Yuan [Sun, 18 Jan 2026 23:53:48 +0000 (00:53 +0100)] 
fs-util: optimize xopenat(XAT_FDROOT, ...) a bit

Follow-up for ef582ab201c2942813960ad3c451df3642d85558

* Open / with O_PATH
* Shortcut to fd_reopen() directly if path is empty

2 months agofs-util: group access_fd() with access_nofollow()
Mike Yuan [Sun, 18 Jan 2026 22:04:39 +0000 (23:04 +0100)] 
fs-util: group access_fd() with access_nofollow()

2 months agofs-util: drop fallback for kernels without AT_EMPTY_PATH support (< 5.8)
Mike Yuan [Sun, 18 Jan 2026 22:02:19 +0000 (23:02 +0100)] 
fs-util: drop fallback for kernels without AT_EMPTY_PATH support (< 5.8)

2 months agomountpoint-util: assume MS_NOSYMFOLLOW is available
Mike Yuan [Sun, 18 Jan 2026 21:44:56 +0000 (22:44 +0100)] 
mountpoint-util: assume MS_NOSYMFOLLOW is available

Since our kernel baseline is v5.10 now.

2 months agofirewall-util: drop fallback for kernel < 5.8
Mike Yuan [Sun, 18 Jan 2026 21:58:45 +0000 (22:58 +0100)] 
firewall-util: drop fallback for kernel < 5.8

2 months agonetlink-util: remove support for kernel < 5.5
Mike Yuan [Sun, 18 Jan 2026 21:34:16 +0000 (22:34 +0100)] 
netlink-util: remove support for kernel < 5.5

2 months agonspawn: drop compat glue for kernel < 3.14
Mike Yuan [Sun, 18 Jan 2026 21:32:20 +0000 (22:32 +0100)] 
nspawn: drop compat glue for kernel < 3.14

2 months agoREADME: kcmp() is unnecessary if we have F_DUPFD_QUERY (v6.10)
Mike Yuan [Mon, 19 Jan 2026 11:49:02 +0000 (12:49 +0100)] 
README: kcmp() is unnecessary if we have F_DUPFD_QUERY (v6.10)

2 months agoREADME: CONFIG_DEVPTS_MULTIPLE_INSTANCES has been dropped in v4.7
Mike Yuan [Sun, 18 Jan 2026 21:31:25 +0000 (22:31 +0100)] 
README: CONFIG_DEVPTS_MULTIPLE_INSTANCES has been dropped in v4.7

2 months agomkosi/opensuse: remove resolved TODO
Mike Yuan [Sun, 18 Jan 2026 23:46:01 +0000 (00:46 +0100)] 
mkosi/opensuse: remove resolved TODO

Follow-up for ff9c4ace709a1274b8f7e2569161da559c43fbd5

2 months agorecurse-dir: remove stale comment
Mike Yuan [Sun, 18 Jan 2026 22:09:09 +0000 (23:09 +0100)] 
recurse-dir: remove stale comment

Follow-up for 6393b847f459dba14d2b615ee93babb143168b57

2 months agoTODO: remove completed entries
Mike Yuan [Mon, 19 Jan 2026 02:04:54 +0000 (03:04 +0100)] 
TODO: remove completed entries

2 months agocryptenroll,cryptsetup,shutdown: only call mlockall if we have CAP_IPC_LOCK
cyclopentane [Fri, 16 Jan 2026 23:54:51 +0000 (00:54 +0100)] 
cryptenroll,cryptsetup,shutdown: only call mlockall if we have CAP_IPC_LOCK

Calling mlockall in an unprivileged process most notably had the effect
of making systemd-cryptenroll OOM while trying to open a normal-sized
argon2 keyslot due to it hitting RLIMIT_MEMLOCK.

2 months agocore: a few cleanups, follow-ups for MemoryTHP= (#40382)
Mike Yuan [Sun, 18 Jan 2026 17:25:22 +0000 (18:25 +0100)] 
core: a few cleanups, follow-ups for MemoryTHP= (#40382)

2 months agocore/exec-invoke: dedup error handling 40382/head
Mike Yuan [Tue, 6 Jan 2026 21:42:37 +0000 (22:42 +0100)] 
core/exec-invoke: dedup error handling

Also, do not log about errno if it's suffciently encoded
in the log text already.

2 months agoshared/varlink-io.systemd.Unit: MemoryTHP is not nullable
Mike Yuan [Tue, 6 Jan 2026 21:42:11 +0000 (22:42 +0100)] 
shared/varlink-io.systemd.Unit: MemoryTHP is not nullable

2 months agocore: rearrange MemoryTHP=
Mike Yuan [Tue, 6 Jan 2026 21:39:04 +0000 (22:39 +0100)] 
core: rearrange MemoryTHP=

* Place related logic closer to MemoryKSM=, do not interleave
  it with various BPF delegation knobs
* MemoryTHP= is a execute directive, not namespace

2 months agocore/unit: drop unneeded unit_modify_nft_set() call during coldplug
Mike Yuan [Fri, 9 Jan 2026 18:06:07 +0000 (19:06 +0100)] 
core/unit: drop unneeded unit_modify_nft_set() call during coldplug

We re-realize all unit cgroups upon daemon-reload, and
cgroup_context_apply() would take care of NFT set refreshing.
No need to duplicate that in unit_coldplug().

2 months agocore/exec-credential: group write_credential() with maybe_decrypt_and_write_credential()
Mike Yuan [Tue, 6 Jan 2026 21:48:54 +0000 (22:48 +0100)] 
core/exec-credential: group write_credential() with maybe_decrypt_and_write_credential()

As requested in
https://github.com/systemd/systemd/pull/40093#discussion_r2661389365

2 months agoinclude: update linux kernel headers from v6.19-rc5
Yu Watanabe [Sat, 17 Jan 2026 03:32:34 +0000 (12:32 +0900)] 
include: update linux kernel headers from v6.19-rc5

2 months agohwdb: set touchpad resolution for all ThinkPad T49x chassis laptops
novenary [Sun, 18 Jan 2026 11:11:19 +0000 (13:11 +0200)] 
hwdb: set touchpad resolution for all ThinkPad T49x chassis laptops

Confirmed with owners of T495 and T14 Gen2i.
P14s should be identical.

2 months agojournal-file: do not trigger assertion on removed or corrupted journal file
Yu Watanabe [Sun, 18 Jan 2026 10:15:31 +0000 (19:15 +0900)] 
journal-file: do not trigger assertion on removed or corrupted journal file

When a journal file is removed or corrupted, then the value `p`, which is
read from Object.data.entry_offset, may be zero.

Note, journal_file_move_to_object() checks the passed offset and return
-EBADMSG if it is invalid.

Fixes the issue reported at
https://github.com/systemd/systemd/pull/40372#issuecomment-3762907261.

2 months agofd-util: introduce XAT_FDROOT fd shortcut for the root dir (#39244)
Daan De Meyer [Sun, 18 Jan 2026 10:57:11 +0000 (11:57 +0100)] 
fd-util: introduce XAT_FDROOT fd shortcut for the root dir (#39244)

2 months agomountfsd: fix potential memleak on malicious json message
Yu Watanabe [Sun, 18 Jan 2026 07:06:06 +0000 (16:06 +0900)] 
mountfsd: fix potential memleak on malicious json message

This also makes json_log_oom() used on OOM.

Follow-up for 78b40aea611256228e898fc6a6dab414a1798889.

2 months agoSeveral follow-ups for removal of SysV compat (#40371)
Yu Watanabe [Sun, 18 Jan 2026 09:02:53 +0000 (18:02 +0900)] 
Several follow-ups for removal of SysV compat (#40371)

2 months agodocs,man: more SysV compat removal notes 40371/head
Mike Yuan [Sat, 17 Jan 2026 02:03:33 +0000 (11:03 +0900)] 
docs,man: more SysV compat removal notes

2 months agomkosi/opensuse: do not build/install systemd-sysvcompat package
Yu Watanabe [Sat, 17 Jan 2026 01:59:05 +0000 (10:59 +0900)] 
mkosi/opensuse: do not build/install systemd-sysvcompat package

The package is now empty. It is not necessary to build it.

This also drops unnecessary modifications for files.*.

2 months agomeson: update description of deprecated options
Yu Watanabe [Sat, 17 Jan 2026 01:45:02 +0000 (10:45 +0900)] 
meson: update description of deprecated options

2 months agosystemctl: drop unnecessary shortcut for removed SysV compat support
Yu Watanabe [Sat, 17 Jan 2026 01:42:50 +0000 (10:42 +0900)] 
systemctl: drop unnecessary shortcut for removed SysV compat support

Follow-up for 986fee6217051ce1ffdb53de45fdf9d7bae611ce.

2 months agoAssorted cleanups (#40373)
Yu Watanabe [Sun, 18 Jan 2026 05:41:44 +0000 (14:41 +0900)] 
Assorted cleanups (#40373)

2 months agocore/unit: re-find dropin paths of a unit after writting settings
Heran Yang [Fri, 16 Jan 2026 12:27:19 +0000 (20:27 +0800)] 
core/unit: re-find dropin paths of a unit after writting settings

Fixes: ab932a622d57 ("core: simplify unit_need_daemon_reload() a bit")
Fixes #35710

Co-authored-by: Jian Wen <wenjianhn@gmail.com>
2 months agocore/unit: several cleanups for unit_queue_job_check_and_collapse_type() 40373/head
Mike Yuan [Fri, 16 Jan 2026 19:53:47 +0000 (20:53 +0100)] 
core/unit: several cleanups for unit_queue_job_check_and_collapse_type()

* Rename to _mangle_type() - it turned out this one doesn't collapse
  anything, but rather mangles the type if reload_if_possible is set.
  Hence name accordingly.
* Use -ELIBEXEC rather than -EUNATCH to denote dependency only units.
* Add a comment about the JOB_STOP and load state check.

2 months agocore/dbus-manager: be explicit that job enqueue errors are from EnqueueMarkedJobs...
Mike Yuan [Fri, 16 Jan 2026 19:21:22 +0000 (20:21 +0100)] 
core/dbus-manager: be explicit that job enqueue errors are from EnqueueMarkedJobs call

Follow-up for 502d6f4bc9b96009627f923dcc0ab53e5a181d78

2 months agocore/dbus-unit: remove reference to cgroup v1 attribute
Mike Yuan [Fri, 16 Jan 2026 23:04:01 +0000 (00:04 +0100)] 
core/dbus-unit: remove reference to cgroup v1 attribute

2 months agocore/main: use saturate_add() where appropriate
Mike Yuan [Mon, 12 Jan 2026 15:19:26 +0000 (16:19 +0100)] 
core/main: use saturate_add() where appropriate

2 months agologind-varlink: add missing validation for session class
Mike Yuan [Sun, 11 Jan 2026 14:51:55 +0000 (15:51 +0100)] 
logind-varlink: add missing validation for session class

D-Bus CreateSession() method carries this check, but the varlink
one didn't.

2 months agoutil: two fixes regarding ansi color handling (#40366)
Mike Yuan [Sat, 17 Jan 2026 13:57:35 +0000 (14:57 +0100)] 
util: two fixes regarding ansi color handling (#40366)

2 months agotest-fs-util: some basic tests for XAT_FDROOT 39244/head
Lennart Poettering [Mon, 8 Dec 2025 12:34:24 +0000 (13:34 +0100)] 
test-fs-util: some basic tests for XAT_FDROOT

2 months agofind-esp: make use of XAT_FDROOT
Lennart Poettering [Mon, 8 Dec 2025 12:33:20 +0000 (13:33 +0100)] 
find-esp: make use of XAT_FDROOT

2 months agokernel-image: pass through XAT_FDROOT
Lennart Poettering [Mon, 8 Dec 2025 12:33:55 +0000 (13:33 +0100)] 
kernel-image: pass through XAT_FDROOT

2 months agoid128-util: pass through XAT_FDROOT
Lennart Poettering [Mon, 8 Dec 2025 12:32:55 +0000 (13:32 +0100)] 
id128-util: pass through XAT_FDROOT

2 months agostat-util: write up XAT_FDROOT in stat-util.[ch]
Lennart Poettering [Mon, 8 Dec 2025 12:32:42 +0000 (13:32 +0100)] 
stat-util: write up XAT_FDROOT in stat-util.[ch]

2 months agochase: extend coverage of the root fd shortcut
Lennart Poettering [Fri, 16 Jan 2026 16:55:47 +0000 (17:55 +0100)] 
chase: extend coverage of the root fd shortcut

Let's use dir_fd_is_root() to check if we are looking at the real root
fs.

2 months agochase: optimize the special case where no root dir specified
Lennart Poettering [Sun, 28 Dec 2025 09:50:29 +0000 (10:50 +0100)] 
chase: optimize the special case where no root dir specified

Now that we can recognize the root dir in chaseat() sanely, let's use it
top optimize the very common special case where we have no root dir to
consider, and directly call open_tree().

2 months agochase: wire up XAT_FDROOT
Lennart Poettering [Mon, 8 Dec 2025 12:32:09 +0000 (13:32 +0100)] 
chase: wire up XAT_FDROOT

2 months agofd-util: wire up XAT_FDROOT in various really basic fd-util.h calls
Lennart Poettering [Mon, 8 Dec 2025 12:30:41 +0000 (13:30 +0100)] 
fd-util: wire up XAT_FDROOT in various really basic fd-util.h calls

2 months agofs-util: wire up XAT_FDROOT in xopenat_full() and access_fd()
Lennart Poettering [Mon, 8 Dec 2025 12:31:56 +0000 (13:31 +0100)] 
fs-util: wire up XAT_FDROOT in xopenat_full() and access_fd()

2 months agofd-util: introduce XAT_FDROOT fd shortcut for the root dir
Lennart Poettering [Wed, 8 Oct 2025 07:39:17 +0000 (09:39 +0200)] 
fd-util: introduce XAT_FDROOT fd shortcut for the root dir

This takes inspiration from AT_FDCWD, but always references the root dir
rather than the cwd. This allows various convenience uses, as we can now
reference the root dir without actually allocating an fd for chaseat(),
fd_get_path() and various others.

The value of XAT_FDROOT is chosen so that it is not a valid fd (essential,
because we do not intend to hook this up everywhere, just where we need
it, just like AT_FCWD only works in some syscalls), and we want uses at
the wrong places to fail cleanly. It also uses a valud outside of the
range where we usually return negative errnos, i.e. < -ERRNO_MAX.

2 months agostring-util: accept ":" when stripping ANSI color sequences 40366/head
Lennart Poettering [Fri, 16 Jan 2026 21:29:40 +0000 (22:29 +0100)] 
string-util: accept ":" when stripping ANSI color sequences

Since 6eabe9f2ff48c1b6924724d5afe64e7b661ccdbf we generate sequences
with ":", hence we better also know how to strip them.

(Without this patch we'd strip simple ANSI colors, but not RGB ones that
use ":" syntax).

(While we are at it, also drop a duplicate "0" in the list of valid
chars)

2 months agoansi-color: convert one more ANSI sequence from ";" to ":" separators
Lennart Poettering [Fri, 16 Jan 2026 21:29:04 +0000 (22:29 +0100)] 
ansi-color: convert one more ANSI sequence from ";" to ":" separators

This is a follow-up for 6eabe9f2ff48c1b6924724d5afe64e7b661ccdbf where
one sequence was forgotten.

2 months agosocket: turn of loud logging when setting up sockopts in container fails due to privs
Lennart Poettering [Fri, 16 Jan 2026 20:47:12 +0000 (21:47 +0100)] 
socket: turn of loud logging when setting up sockopts in container fails due to privs

Various socktops will fail if we run in a container, due to lack of
privs (for example SO_RECVFORCE as used by the journald sockets). That's
typically not a big issue. Hence downgrade the log level.

Follow-up for: f7df0eab8d9520f37a2feaecf532d78de6ab6b7d

2 months agohostnamectl: tweak three chassis emojis
Lennart Poettering [Fri, 16 Jan 2026 20:48:29 +0000 (21:48 +0100)] 
hostnamectl: tweak three chassis emojis

2 months agomkfs-utils: also set $E2FSPROGS_FAKE_TIME if $SOURCE_DATE_EPOCH is set
Yu Watanabe [Fri, 16 Jan 2026 16:51:41 +0000 (01:51 +0900)] 
mkfs-utils: also set $E2FSPROGS_FAKE_TIME if $SOURCE_DATE_EPOCH is set

Follow-up for 7bf0d0c46e39966ad6080aa3f25eed65bd57ad4b.

To support e2fsprogs older than v1.47.1 (released 2024-05-21).

Suggested-by: ZauberNerd <zaubernerd@zaubernerd.de>
2 months agohwdb: make three more hwdb files parsed by parse_hwdb.py
Yu Watanabe [Fri, 16 Jan 2026 14:50:35 +0000 (23:50 +0900)] 
hwdb: make three more hwdb files parsed by parse_hwdb.py

This also makes 70-lights.hwdb installed. The file was introduced by
106f64cbd66b8aa76333c3f11177f53e79e2cd82, but never installed.

Moreover, this makes the parser also check bluetooth modalias patterns.

2 months agoboot: change some `log_error` -> `log_warning` where appropriate
Michael Vogt [Fri, 16 Jan 2026 15:25:19 +0000 (16:25 +0100)] 
boot: change some `log_error` -> `log_warning` where appropriate

This is a small followup for
https://github.com/systemd/systemd/pull/40344#discussion_r2695031041
(thanks Daan and Lennart!).

There are quite a few places in the code that currently log a
`log_error()` when a `log_warning()` is more appropriate because
the error is ignored. This commit now shows those as warnings.

2 months agoudev/net: support more ethtool features
Yu Watanabe [Mon, 12 Jan 2026 09:32:23 +0000 (18:32 +0900)] 
udev/net: support more ethtool features

Closes #39318.

2 months agoconf-files: several cleanups and fixlets (#40290)
Yu Watanabe [Fri, 16 Jan 2026 17:51:17 +0000 (02:51 +0900)] 
conf-files: several cleanups and fixlets (#40290)

Fixes #40313.
Closes #40285.

2 months agoAlso drop SysV rc.local script support (#40295)
Yu Watanabe [Fri, 16 Jan 2026 17:50:08 +0000 (02:50 +0900)] 
Also drop SysV rc.local script support (#40295)

Continuation of #39770.

2 months agoupdate TODO
Lennart Poettering [Fri, 16 Jan 2026 17:18:00 +0000 (18:18 +0100)] 
update TODO

2 months agoupdate TODO
Lennart Poettering [Sat, 10 Jan 2026 07:23:54 +0000 (08:23 +0100)] 
update TODO

2 months agodissect: support mount options when going through mountfsd, requiring privileges...
Luca Boccassi [Fri, 16 Jan 2026 14:55:02 +0000 (14:55 +0000)] 
dissect: support mount options when going through mountfsd, requiring privileges via polkit (#39394)

RootImageOptions=/ExtensionImages=/MountImages= all support custom
mount options, but mountfsd does not support it. Add varlink
parameters to allow callers to specify mount options so that
those directives can work as expected. Require additional privs via
polkit.

2 months agoconf-files: introduce CONF_FILES_WARN flag and set it at various places 40290/head
Yu Watanabe [Tue, 6 Jan 2026 04:44:04 +0000 (13:44 +0900)] 
conf-files: introduce CONF_FILES_WARN flag and set it at various places

Closes #40285.

2 months agoudevadm: log path prefixed with the specified root directory
Yu Watanabe [Tue, 13 Jan 2026 08:45:35 +0000 (17:45 +0900)] 
udevadm: log path prefixed with the specified root directory

2 months agoudevadm: gracefully handle when a maked file is specified to udevadm verify/cat
Yu Watanabe [Tue, 13 Jan 2026 06:48:56 +0000 (15:48 +0900)] 
udevadm: gracefully handle when a maked file is specified to udevadm verify/cat

Previously, since 7cb4508c5af465ab1be1b103e6c2b613eb58e63c, if a masked
file is specified, the commands failed.
Let's warn that the file is masked and ignore the file.

2 months agotest: add test case for masked files in cat_files()
gvenugo3 [Sat, 10 Jan 2026 19:46:18 +0000 (19:46 +0000)] 
test: add test case for masked files in cat_files()

Add a test case to verify that cat_files() correctly handles symlinks
to /dev/null (masked configuration files) and returns success (0)
instead of failing.

This test complements the fix for issue #40313.

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
2 months agopretty-print: do not fail when cat_files() tries to show a masked file
Yu Watanabe [Tue, 13 Jan 2026 06:39:39 +0000 (15:39 +0900)] 
pretty-print: do not fail when cat_files() tries to show a masked file

Before 661b5bfd216e383ac7836261eea9671875e6709b, cat_files() does not
check if a file is regular. If the file is a symlink to /dev/null, then
cat_files() simply shows an empty contents for the file.
With the offending commit, as the CHASE_MUST_BE_REGULAR flag is set,
hence when we found a masked file, the function fails.

Fixes #40313.
Fixes regression caused by 661b5bfd216e383ac7836261eea9671875e6709b.

Co-authored-by: gvenugo3 <gvenugo3@asu.edu>
2 months agoconf-files: make conf_file_new() take ConfFilesFlags rather than ChaseFlags
Yu Watanabe [Tue, 13 Jan 2026 06:26:41 +0000 (15:26 +0900)] 
conf-files: make conf_file_new() take ConfFilesFlags rather than ChaseFlags

No functional change, preparation for later commit.

2 months agoconf-files: use empty_to_root()
Yu Watanabe [Tue, 13 Jan 2026 07:48:42 +0000 (16:48 +0900)] 
conf-files: use empty_to_root()

No functional change. For consistency with conf_file_chase_and_verify().

2 months agoconf-files: split out several helper functions from files_add()
Yu Watanabe [Tue, 13 Jan 2026 05:39:28 +0000 (14:39 +0900)] 
conf-files: split out several helper functions from files_add()

No functional change, preparation for later commit.

2 months agoNEWS: mention about the removal of sysv init script support 40295/head
Yu Watanabe [Tue, 6 Jan 2026 19:38:43 +0000 (04:38 +0900)] 
NEWS: mention about the removal of sysv init script support

2 months agoDrop support for SysV rc-local script support
Yu Watanabe [Tue, 6 Jan 2026 18:00:18 +0000 (03:00 +0900)] 
Drop support for SysV rc-local script support

As already announced for several years.

2 months agomkosi: update debian commit reference to 93a222266c23ff73720f4de009a027d3556baee4
Yu Watanabe [Tue, 6 Jan 2026 19:45:59 +0000 (04:45 +0900)] 
mkosi: update debian commit reference to 93a222266c23ff73720f4de009a027d3556baee4

93a222266c Do not install rc-local generator in upstream build

2 months agoDrop remaining references about sysv script support
Yu Watanabe [Tue, 6 Jan 2026 18:53:34 +0000 (03:53 +0900)] 
Drop remaining references about sysv script support

Follow-up for 986fee6217051ce1ffdb53de45fdf9d7bae611ce.

2 months agocore/dbus-manager: propagate meaningful dbus errors from EnqueueMarkedJobs
Franck Bui [Wed, 14 Jan 2026 09:40:46 +0000 (10:40 +0100)] 
core/dbus-manager: propagate meaningful dbus errors from EnqueueMarkedJobs

Previously, when `systemctl reload-or-restart --marked` failed the following
error was shown:

  Failed to start jobs: Failed to enqueue some jobs, see logs for details: Invalid argument

but no details were actually logged.

This change records failure reasons in the journal to help users identify root causes:

  # journalctl -b -e
  [...]
  systemd[1]: Queuing reload/restart jobs for marked units…
  systemd[1]: Operation refused, unit klogd.service may be requested by dependency only (it is configured to refuse manual start/stop).

2 months agohwdb: Add GPD Pocket 4 chassis quirk
Florian Klink [Fri, 16 Jan 2026 11:30:05 +0000 (13:30 +0200)] 
hwdb: Add GPD Pocket 4 chassis quirk

See https://github.com/systemd/systemd/issues/7390#issuecomment-573607402

2 months agosd-varlink: Add SD_VARLINK_ANY
Daan De Meyer [Wed, 26 Nov 2025 11:55:18 +0000 (12:55 +0100)] 
sd-varlink: Add SD_VARLINK_ANY

This allows representing fields that can be either an integer or
a string, like the "value" field we'll be adding in
https://github.com/systemd/systemd/pull/39202.

Upstream spec change: https://github.com/varlink/varlink.github.io/pull/43

2 months agoSplit up the giant switch statement in homectl's parse_argv (#40059)
Zbigniew Jędrzejewski-Szmek [Fri, 16 Jan 2026 13:31:08 +0000 (14:31 +0100)] 
Split up the giant switch statement in homectl's parse_argv (#40059)

This is in preparation for later changes. The 1500+ line switch statement was very
hard to work with and had quite a bit of duplicated code. This is a rework that
splits outs parts into functions. I split this up into a bunch of commits so that it
can be reasonably reviewed. When viewed as one giant commit, diff just shows
a giant block of removed code and a giant block of added code.

In some cases I wasn't sure why one or the other of the identity arrays is used…
I preserved existing behaviour in all cases.

2 months agomanager: add EnqueueMarkedJobs varlink method
Luca Boccassi [Mon, 17 Nov 2025 00:16:44 +0000 (00:16 +0000)] 
manager: add EnqueueMarkedJobs varlink method

Same as the D-Bus method. Returns array of job IDs.

2 months agovpick: Fix pick_filter_image_any
Daan De Meyer [Sat, 20 Dec 2025 20:38:09 +0000 (21:38 +0100)] 
vpick: Fix pick_filter_image_any

Currently, pick_filter_image_any matches any image
with any suffix, which is way more than it should
be doing. It should only be matching images with
the .raw suffix.

Let's address this shortcoming by allowing to pass
multiple filters to path_pick(), and define
pick_filter_image_any as the combination of the
raw and directory image filters.

Fixes #40083

2 months agosd-boot: allow setting the `timeout` via SMBIOS 11
Michael Vogt [Wed, 14 Jan 2026 12:09:10 +0000 (13:09 +0100)] 
sd-boot: allow setting the `timeout` via SMBIOS 11

Allow configuring the menu timeout used by sd-boot by setting
`io.systemd.boot.timeout=<value>` as SMBIOS type 11 string.

This takes precedence over the setting from the config file
and the EFI var.

Useful for e.g. integration tests that want to control that
a generic image boots faster.

2 months agotree-wide: lock in all memory pages when mlockall() is utilized, and on demand
Mike Yuan [Sat, 10 Jan 2026 19:46:25 +0000 (20:46 +0100)] 
tree-wide: lock in all memory pages when mlockall() is utilized, and on demand

When employing MCL_FUTURE we don't actually want it to impose
immediate population of malloc()-ed pages. Hence let's set
MCL_ONFAULT everywhere.

Additionally, specify MCL_CURRENT to ensure future memory allocations
on already mapped pages are covered too. (Addresses
https://github.com/systemd/systemd/pull/40319#discussion_r2693726196)

Note that in shutdown the mlockall() is done to avoid keeping swap space
busy, hence a dedicated call w/ MCL_CURRENT and w/o MCL_ONFAULT is made.

2 months agocore: only activate transaction that contain useful jobs
Michal Sekletar [Fri, 9 Jan 2026 16:18:41 +0000 (17:18 +0100)] 
core: only activate transaction that contain useful jobs

If no real jobs were added to the transaction, do not activate it.
The JOB_NOP anchor does not perform any useful work and activating
such transaction only wastes resources.

Fixes #9751