systemd-256-17
Resolves: RHEL-60896
This commit is contained in:
		
							parent
							
								
									2444ccf6bf
								
							
						
					
					
						commit
						4c9544f7ce
					
				| @ -0,0 +1,53 @@ | ||||
| From e20fddc3c5769ad1babb24392500264de6db59b6 Mon Sep 17 00:00:00 2001 | ||||
| From: Michal Sekletar <msekleta@redhat.com> | ||||
| Date: Tue, 30 Jul 2024 16:22:03 +0200 | ||||
| Subject: [PATCH] socket: fix socket activation of stopped services with pinned | ||||
|  FD store | ||||
| 
 | ||||
| (cherry picked from commit 941a12dcba57f6673230a9c413738c51374d2998) | ||||
| 
 | ||||
| Resolves: RHEL-60896 | ||||
| ---
 | ||||
|  src/core/socket.c                                      |  4 ++-- | ||||
|  .../units/TEST-04-JOURNAL.stopped-socket-activation.sh | 10 ++++++++++ | ||||
|  2 files changed, 12 insertions(+), 2 deletions(-) | ||||
|  create mode 100755 test/units/TEST-04-JOURNAL.stopped-socket-activation.sh | ||||
| 
 | ||||
| diff --git a/src/core/socket.c b/src/core/socket.c
 | ||||
| index 41147d4bf7..0694fe7aad 100644
 | ||||
| --- a/src/core/socket.c
 | ||||
| +++ b/src/core/socket.c
 | ||||
| @@ -2481,7 +2481,7 @@ static int socket_start(Unit *u) {
 | ||||
|                  /* If the service is already active we cannot start the | ||||
|                   * socket */ | ||||
|                  if (!IN_SET(service->state, | ||||
| -                            SERVICE_DEAD, SERVICE_DEAD_BEFORE_AUTO_RESTART, SERVICE_FAILED, SERVICE_FAILED_BEFORE_AUTO_RESTART,
 | ||||
| +                            SERVICE_DEAD, SERVICE_DEAD_BEFORE_AUTO_RESTART, SERVICE_DEAD_RESOURCES_PINNED, SERVICE_FAILED, SERVICE_FAILED_BEFORE_AUTO_RESTART,
 | ||||
|                              SERVICE_AUTO_RESTART, SERVICE_AUTO_RESTART_QUEUED)) | ||||
|                          return log_unit_error_errno(u, SYNTHETIC_ERRNO(EBUSY), | ||||
|                                                      "Socket service %s already active, refusing.", UNIT(service)->id); | ||||
| @@ -3369,7 +3369,7 @@ static void socket_trigger_notify(Unit *u, Unit *other) {
 | ||||
|                  return; | ||||
|   | ||||
|          if (IN_SET(SERVICE(other)->state, | ||||
| -                   SERVICE_DEAD, SERVICE_DEAD_BEFORE_AUTO_RESTART, SERVICE_FAILED, SERVICE_FAILED_BEFORE_AUTO_RESTART,
 | ||||
| +                   SERVICE_DEAD, SERVICE_DEAD_BEFORE_AUTO_RESTART, SERVICE_DEAD_RESOURCES_PINNED, SERVICE_FAILED, SERVICE_FAILED_BEFORE_AUTO_RESTART,
 | ||||
|                     SERVICE_FINAL_SIGTERM, SERVICE_FINAL_SIGKILL, | ||||
|                     SERVICE_AUTO_RESTART, SERVICE_AUTO_RESTART_QUEUED)) | ||||
|                 socket_enter_listening(s); | ||||
| diff --git a/test/units/TEST-04-JOURNAL.stopped-socket-activation.sh b/test/units/TEST-04-JOURNAL.stopped-socket-activation.sh
 | ||||
| new file mode 100755 | ||||
| index 0000000000..083f5fa055
 | ||||
| --- /dev/null
 | ||||
| +++ b/test/units/TEST-04-JOURNAL.stopped-socket-activation.sh
 | ||||
| @@ -0,0 +1,10 @@
 | ||||
| +#!/usr/bin/env bash
 | ||||
| +# SPDX-License-Identifier: LGPL-2.1-or-later
 | ||||
| +set -eux
 | ||||
| +set -o pipefail
 | ||||
| +
 | ||||
| +systemctl stop systemd-journald.service
 | ||||
| +systemd-cat date
 | ||||
| +
 | ||||
| +# shellcheck disable=SC2016
 | ||||
| +timeout 30 bash -xec 'until test "$(systemctl show -p SubState --value systemd-journald.service)" = "running"; do sleep 1; done'
 | ||||
| @ -48,7 +48,7 @@ Url:            https://systemd.io | ||||
| # Allow users to specify the version and release when building the rpm by  | ||||
| # setting the %%version_override and %%release_override macros. | ||||
| Version:        %{?version_override}%{!?version_override:256} | ||||
| Release:        16%{?dist} | ||||
| Release:        17%{?dist} | ||||
| 
 | ||||
| %global stable %(c="%version"; [ "$c" = "${c#*.*}" ]; echo $?) | ||||
| 
 | ||||
| @ -205,6 +205,7 @@ Patch0094: 0094-confidential-virt-split-caching-of-CVM-detection-int.patch | ||||
| Patch0095: 0095-confidential-virt-add-detection-for-s390x-target.patch | ||||
| Patch0096: 0096-man-systemd-detect-virt-fix-row-spanning-for-VM-head.patch | ||||
| Patch0097: 0097-man-systemd-detect-virt-list-known-CVM-technologies.patch | ||||
| Patch0098: 0098-socket-fix-socket-activation-of-stopped-services-wit.patch | ||||
| 
 | ||||
| # Downstream-only patches (9000–9999) | ||||
| 
 | ||||
| @ -1139,6 +1140,9 @@ rm -f .file-list-* | ||||
| rm -f %{name}.lang | ||||
| 
 | ||||
| %changelog | ||||
| * Tue Nov 12 2024 systemd maintenance team <systemd-maint@redhat.com> - 256-17 | ||||
| - socket: fix socket activation of stopped services with pinned FD store (RHEL-60896) | ||||
| 
 | ||||
| * Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> | ||||
| - Bump release for October 2024 mass rebuild: | ||||
|   Resolves: RHEL-64018 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user