!110 systemd:Fix migration from DynamicUser=yes to no.
From: @extinctfire Reviewed-by: @openeuler-basic Signed-off-by: @openeuler-basic
This commit is contained in:
commit
14f25f397e
@ -0,0 +1,52 @@
|
||||
From 578dc69f2a60d6282acc2d06ce8a3bf8a9d8ada0 Mon Sep 17 00:00:00 2001
|
||||
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||||
Date: Fri, 6 Mar 2020 15:56:28 +0900
|
||||
Subject: [PATCH 0007/6858] execute: Fix migration from DynamicUser=yes to no
|
||||
|
||||
Closes #12131.
|
||||
Reference: https://github.com/systemd/systemd/pull/15033/commits/578dc69f2a60d6282acc2d06ce8a3bf8a9d8ada0
|
||||
Conflict: remove the last arguement "NULL" of function "chase_symlinks"
|
||||
---
|
||||
src/core/execute.c | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/core/execute.c b/src/core/execute.c
|
||||
index 4595bb12dc..46b5c99ada 100644
|
||||
--- a/src/core/execute.c
|
||||
+++ b/src/core/execute.c
|
||||
@@ -2247,7 +2247,7 @@ static int setup_exec_directory(
|
||||
|
||||
if (type != EXEC_DIRECTORY_CONFIGURATION &&
|
||||
readlink_and_make_absolute(p, &target) >= 0) {
|
||||
- _cleanup_free_ char *q = NULL;
|
||||
+ _cleanup_free_ char *q = NULL, *q_resolved = NULL, *target_resolved = NULL;
|
||||
|
||||
/* This already exists and is a symlink? Interesting. Maybe it's one created
|
||||
* by DynamicUser=1 (see above)?
|
||||
@@ -2256,13 +2256,22 @@ static int setup_exec_directory(
|
||||
* since they all support the private/ symlink logic at least in some
|
||||
* configurations, see above. */
|
||||
|
||||
+ r = chase_symlinks(target, NULL, 0, &target_resolved);
|
||||
+ if (r < 0)
|
||||
+ goto fail;
|
||||
+
|
||||
q = path_join(params->prefix[type], "private", *rt);
|
||||
if (!q) {
|
||||
r = -ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
- if (path_equal(q, target)) {
|
||||
+ /* /var/lib or friends may be symlinks. So, let's chase them also. */
|
||||
+ r = chase_symlinks(q, NULL, CHASE_NONEXISTENT, &q_resolved);
|
||||
+ if (r < 0)
|
||||
+ goto fail;
|
||||
+
|
||||
+ if (path_equal(q_resolved, target_resolved)) {
|
||||
|
||||
/* Hmm, apparently DynamicUser= was once turned on for this service,
|
||||
* but is no longer. Let's move the directory back up. */
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
Name: systemd
|
||||
Url: https://www.freedesktop.org/wiki/Software/systemd
|
||||
Version: 243
|
||||
Release: 37
|
||||
Release: 38
|
||||
License: MIT and LGPLv2+ and GPLv2+
|
||||
Summary: System and Service Manager
|
||||
|
||||
@ -129,6 +129,7 @@ Patch0081: 0081-journal-refresh-cached-credentials-of-stdout-streams.patch
|
||||
Patch0082: 0082-journald-rework-end-of-line-marker-handling-to-use-a.patch
|
||||
Patch0083: 0083-journald-rework-pid-change-handling.patch
|
||||
Patch0084: 0084-journald-enforce-longer-line-length-limit-during-set.patch
|
||||
Patch0085: backport-execute-Fix-migration-from-DynamicUser-yes-to-no.patch
|
||||
|
||||
#openEuler
|
||||
Patch9002: 1509-fix-journal-file-descriptors-leak-problems.patch
|
||||
@ -1514,6 +1515,9 @@ fi
|
||||
%exclude /usr/share/man/man3/*
|
||||
|
||||
%changelog
|
||||
* Thu Jun 3 2021 extinctfire <shenyining_00@126.com> - 243-38
|
||||
- fix migration from DynamicUser=yes to no.
|
||||
|
||||
* Mon May 31 2021 overweight <hexiaowen@huawei.com> - 243-37
|
||||
- fix journald: enforce longer line length limit during "setup" phase of stream protocol
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user