From: Lennart Poettering Date: Thu, 14 Mar 2019 16:00:35 +0000 (+0100) Subject: execute: also do the private/ symlink dance when runtime dir preservation is requested X-Git-Tag: v242-rc1~107^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=40cd2ecc26b776ef085fd0fd29e8e96f6422a0d3;p=thirdparty%2Fsystemd.git execute: also do the private/ symlink dance when runtime dir preservation is requested In that case it's not safe to leave a regular dir around, hence, move it to private/ too. --- diff --git a/src/core/execute.c b/src/core/execute.c index e7be6c4a2d8..0fe084f2112 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -2085,7 +2085,8 @@ static int setup_exec_directory( goto fail; if (context->dynamic_user && - !IN_SET(type, EXEC_DIRECTORY_RUNTIME, EXEC_DIRECTORY_CONFIGURATION)) { + (!IN_SET(type, EXEC_DIRECTORY_RUNTIME, EXEC_DIRECTORY_CONFIGURATION) || + (type == EXEC_DIRECTORY_RUNTIME && context->runtime_directory_preserve_mode != EXEC_PRESERVE_NO))) { _cleanup_free_ char *private_root = NULL; /* So, here's one extra complication when dealing with DynamicUser=1 units. In that case we