core: never allow perpetual units to be masked
authorLennart Poettering <lennart@poettering.net>
Fri, 17 Jan 2020 14:02:13 +0000 (15:02 +0100)
committerMichael Biebl <biebl@debian.org>
Sat, 25 Jan 2020 17:53:23 +0000 (17:53 +0000)
Fixes: #14550
(cherry picked from commit 88414eed6f45f738ae765d9f72d67c6dc5a51950)

Gbp-Pq: Name core-never-allow-perpetual-units-to-be-masked.patch

src/core/load-fragment.c

index 1679e047dd72417f8be800adc25995067080a66e..95345668bbc9ccae411b583d9a19cb96ff321473 100644 (file)
@@ -4702,7 +4702,9 @@ int unit_load_fragment(Unit *u) {
                         return r;
 
                 if (null_or_empty(&st)) {
-                        u->load_state = UNIT_MASKED;
+                        /* Unit file is masked */
+
+                        u->load_state = u->perpetual ? UNIT_LOADED : UNIT_MASKED; /* don't allow perpetual units to ever be masked */
                         u->fragment_mtime = 0;
                 } else {
                         u->load_state = UNIT_LOADED;