]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: add specifier expansion to AllowedCPUs= and friends
authorAlan Liang <symb@olic.link>
Sun, 3 Dec 2023 05:49:06 +0000 (13:49 +0800)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 6 Dec 2023 21:04:28 +0000 (22:04 +0100)
src/core/load-fragment.c

index d8ce2d62607f05a6648edd3e02282273ebeed6b2..05843662c75f0e6ec57b4c24c490b6b8e003eafb 100644 (file)
@@ -3801,8 +3801,23 @@ int config_parse_allowed_cpuset(
                 void *userdata) {
 
         CPUSet *c = data;
+        const Unit *u = userdata;
+        _cleanup_free_ char *k = NULL;
+        int r;
+
+        assert(filename);
+        assert(lvalue);
+        assert(rvalue);
+
+        r = unit_full_printf(u, rvalue, &k);
+        if (r < 0) {
+                log_syntax(unit, LOG_WARNING, filename, line, r,
+                           "Failed to resolve unit specifiers in '%s', ignoring: %m",
+                           rvalue);
+                return 0;
+        }
 
-        (void) parse_cpu_set_extend(rvalue, c, true, unit, filename, line, lvalue);
+        (void) parse_cpu_set_extend(k, c, true, unit, filename, line, lvalue);
         return 0;
 }