Skip to content

Commit

Permalink
core/execute: RuntimeDirectory= or friends requires mount namespace
Browse files Browse the repository at this point in the history
Since #6940, RuntimeDirectory= or their friends imply BindPaths=.
So, if at least one of them are set, mount namespace is required.
  • Loading branch information
yuwata committed Nov 8, 2017
1 parent 23fd04e commit 652bb26
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions src/core/execute.c
Expand Up @@ -1705,7 +1705,12 @@ static bool exec_needs_mount_namespace(
!strv_isempty(context->inaccessible_paths))
return true;

if (context->n_bind_mounts > 0)
if (context->n_bind_mounts > 0 ||
!strv_isempty(context->directories[EXEC_DIRECTORY_RUNTIME].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_STATE].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_CACHE].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_LOGS].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_CONFIGURATION].paths))
return true;

if (context->mount_flags != 0)
Expand All @@ -1725,13 +1730,6 @@ static bool exec_needs_mount_namespace(
if (context->mount_apivfs && (context->root_image || context->root_directory))
return true;

if (context->dynamic_user &&
(!strv_isempty(context->directories[EXEC_DIRECTORY_RUNTIME].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_STATE].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_CACHE].paths) ||
!strv_isempty(context->directories[EXEC_DIRECTORY_LOGS].paths)))
return true;

return false;
}

Expand Down

0 comments on commit 652bb26

Please sign in to comment.