From efa2f3a18b07cadaf5035b22deff197025f814f7 Mon Sep 17 00:00:00 2001 From: Topi Miettinen Date: Tue, 10 Mar 2020 15:36:51 +0200 Subject: [PATCH] execute: don't create /tmp and /var/tmp if both are inaccessible If both /tmp and either /var/tmp or whole /var are inaccessible, there's no need to create the temporary directories. --- src/core/execute.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/execute.c b/src/core/execute.c index 587b77a3f47..00a2f2e17e4 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -5371,7 +5371,10 @@ static int exec_runtime_make(Manager *m, const ExecContext *c, const char *id, E if (!c->private_network && !c->private_tmp && !c->network_namespace_path) return 0; - if (c->private_tmp) { + if (c->private_tmp && + !(prefixed_path_strv_contains(c->inaccessible_paths, "/tmp") && + (prefixed_path_strv_contains(c->inaccessible_paths, "/var/tmp") || + prefixed_path_strv_contains(c->inaccessible_paths, "/var")))) { r = setup_tmp_dirs(id, &tmp_dir, &var_tmp_dir); if (r < 0) return r;