From e27fe688f2d2dfa2ccc013d3ad0c7db53a97f142 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 7 Dec 2017 11:09:09 +0100 Subject: [PATCH] manager: don't check /usr state of initrd to determine "taint-usr" taint --- src/core/manager.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c index 3f92ac39487..063c04c3ff9 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -732,19 +732,22 @@ int manager_new(UnitFileScope scope, unsigned test_run_flags, Manager **_m) { goto fail; } + r = manager_setup_prefix(m); + if (r < 0) + goto fail; + if (MANAGER_IS_SYSTEM(m) && test_run_flags == 0) { r = mkdir_label("/run/systemd/units", 0755); if (r < 0 && r != -EEXIST) goto fail; } + m->taint_usr = + !in_initrd() && + dir_is_empty("/usr") > 0; + /* Note that we do not set up the notify fd here. We do that after deserialization, * since they might have gotten serialized across the reexec. */ - m->taint_usr = dir_is_empty("/usr") > 0; - - r = manager_setup_prefix(m); - if (r < 0) - goto fail; *_m = m; return 0; -- 2.47.3