From: Lennart Poettering Date: Thu, 7 Dec 2017 10:09:09 +0000 (+0100) Subject: manager: don't check /usr state of initrd to determine "taint-usr" taint X-Git-Tag: v236~44^2 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fsystemd.git;a=commitdiff_plain;h=e27fe688f2d2dfa2ccc013d3ad0c7db53a97f142 manager: don't check /usr state of initrd to determine "taint-usr" taint --- 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;