From: Mike Yuan Date: Sat, 25 May 2024 17:43:02 +0000 (+0800) Subject: core/unit: don't set missing_ok if WorkingDirectory=~ is explicitly requested X-Git-Tag: v256-rc4~121^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4dd884af1ba74d837d230490480396b3ceaca935;p=thirdparty%2Fsystemd.git core/unit: don't set missing_ok if WorkingDirectory=~ is explicitly requested --- diff --git a/src/core/unit.c b/src/core/unit.c index 324f82c3a42..7698f601c74 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -4238,16 +4238,14 @@ int unit_patch_contexts(Unit *u) { return -ENOMEM; } - if (MANAGER_IS_USER(u->manager) && - !ec->working_directory) { - + if (MANAGER_IS_USER(u->manager) && !ec->working_directory) { r = get_home_dir(&ec->working_directory); if (r < 0) return r; - /* Allow user services to run, even if the - * home directory is missing */ - ec->working_directory_missing_ok = true; + if (!ec->working_directory_home) + /* If home directory is implied by us, allow it to be missing. */ + ec->working_directory_missing_ok = true; } if (ec->private_devices)