core/execute: RuntimeDirectory= or friends requires mount namespace
Since #6940, RuntimeDirectory= or their friends imply BindPaths=. So, if at least one of them are set, mount namespace is required.
This commit is contained in:
+6
-8
@@ -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)
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user