From: Francois Gervais Date: Mon, 12 Apr 2021 22:25:29 +0000 (-0400) Subject: load-fragment: parse specifiers in CPUAffinity= (#19281) X-Git-Tag: v249-rc1~424 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=54cfe9a75f0e84d0604d39b87b1d919542336809;p=thirdparty%2Fsystemd.git load-fragment: parse specifiers in CPUAffinity= (#19281) --- diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index a0c403a60c9..6f6a80ccbf2 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -1698,6 +1698,8 @@ int config_parse_exec_cpu_affinity( void *userdata) { ExecContext *c = data; + const Unit *u = userdata; + _cleanup_free_ char *k = NULL; int r; assert(filename); @@ -1712,7 +1714,15 @@ int config_parse_exec_cpu_affinity( return 0; } - r = parse_cpu_set_extend(rvalue, &c->cpu_set, true, unit, filename, line, lvalue); + 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; + } + + r = parse_cpu_set_extend(k, &c->cpu_set, true, unit, filename, line, lvalue); if (r >= 0) c->cpu_affinity_from_numa = false;