From: Daan De Meyer Date: Thu, 3 Dec 2020 23:08:21 +0000 (+0000) Subject: Don't assume /run/systemd exists when creating unit-root X-Git-Tag: v248-rc1~571 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=77f16dbd6d93f2b4a96984254cca25cab03479af;p=thirdparty%2Fsystemd.git Don't assume /run/systemd exists when creating unit-root When running tests in a mkosi container, /run/systemd might not exist yet in the container which causes test-execute to fail. Fixes #17842. --- diff --git a/src/core/namespace.c b/src/core/namespace.c index 0d30f17b9a0..cdf427a6ea9 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -1541,6 +1541,11 @@ int setup_namespace( if (root_directory) root = root_directory; else { + /* /run/systemd should have been created by PID 1 early on already, but in some cases, like + * when running tests (test-execute), it might not have been created yet so let's make sure + * we create it if it doesn't already exist. */ + (void) mkdir_p_label("/run/systemd", 0755); + /* Always create the mount namespace in a temporary directory, instead of operating * directly in the root. The temporary directory prevents any mounts from being * potentially obscured my other mounts we already applied.