Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion SPECS-SIGNED/systemd-boot-signed/systemd-boot-signed.spec
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Version: 255
# determine the build information from local checkout
Version: %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/')
%endif
Release: 26%{?dist}
Release: 27%{?dist}
License: LGPL-2.1-or-later AND MIT AND GPL-2.0-or-later
Vendor: Microsoft Corporation
Distribution: Azure Linux
Expand Down Expand Up @@ -98,6 +98,9 @@ popd
/boot/efi/EFI/BOOT/%{grubefiname}

%changelog
* Fri Mar 13 2026 Dan Streetman <ddstreet@ieee.org> - 255-27
- Bump release to match systemd spec

* Tue Mar 03 2026 Dan Streetman <ddstreet@ieee.org> - 255-26
- Bump release to match systemd spec

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From 4905c95118b3203f1117116cba8c8529763e8593 Mon Sep 17 00:00:00 2001
From: Dan Streetman <ddstreet@ieee.org>
Date: Fri, 13 Mar 2026 14:13:04 -0400
Subject: [PATCH] Prevent corruption from stale alias state on daemon-reload

Avoid incorrect systemd service unit state in certain conditions, to avoid pid1
assert. Taken from unmerged upstream PR.

Upstream PR: #39703
https://github.com/systemd/systemd/pull/39703

Fixes: #38817
https://github.com/systemd/systemd/issues/38817

All credit for identifying and debugging this problem goes to
Balakumaran Kannan <balakumaran.kannan@microsoft.com>

---
src/core/manager-serialize.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/src/core/manager-serialize.c b/src/core/manager-serialize.c
index e9d567a97b..4f7c315b4b 100644
--- a/src/core/manager-serialize.c
+++ b/src/core/manager-serialize.c
@@ -204,6 +204,14 @@ static int manager_deserialize_one_unit(Manager *m, const char *name, FILE *f, F
return log_notice_errno(r, "Failed to load unit \"%s\", skipping deserialization: %m", name);
}

+ if (!streq(u->id, name)) {
+ log_warning("Unit file for '%s' was overridden by a symlink to '%s'. Skipping stale state of old unit. Any processes from the overridden unit are now abandoned!",
+ name,
+ u->id);
+
+ return unit_deserialize_state_skip(f);
+ }
+
r = unit_deserialize_state(u, f, fds);
if (r < 0) {
if (r == -ENOMEM)
--
2.51.0

6 changes: 5 additions & 1 deletion SPECS/systemd/systemd.spec
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Version: 255
# determine the build information from local checkout
Version: %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/')
%endif
Release: 26%{?dist}
Release: 27%{?dist}

# FIXME - hardcode to 'stable' for now as that's what we have in our blobstore
%global stable 1
Expand Down Expand Up @@ -149,6 +149,7 @@ Patch0905: ipc-call-0001-path-util-add-flavour-of-path_startswith-that-leav
Patch0906: ipc-call-0003-core-cgroup-avoid-one-unnecessary-strjoina.patch
Patch0907: ipc-call-0002-path-util-invert-PATH_STARTSWITH_ACCEPT_DOT_DOT-flag.patch
Patch0908: ipc-call-0004-core-validate-input-cgroup-path-more-prudently.patch
Patch0909: Prevent-corruption-from-stale-alias-state-on-daemon-reload.patch

%ifarch %{ix86} x86_64 aarch64
%global want_bootloader 1
Expand Down Expand Up @@ -1234,6 +1235,9 @@ rm -f %{name}.lang
# %autochangelog. So we need to continue manually maintaining the
# changelog here.
%changelog
* Fri Mar 13 2026 Dan Streetman <ddstreet@ieee.org> - 255-27
- Prevent corruption from stale alias state on daemon-reload

* Mon Mar 02 2026 Dan Streetman <ddstreet@ieee.org> - 255-26
- Apply patches for ipc issue.

Expand Down
Loading