From ca9169f47f0fd2fbdf93666fb75d51524c3ce30c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 18 Jan 2021 01:22:39 +0900 Subject: [PATCH 1/4] core: do not fail when an invalid cpu affinity is specified --- src/core/load-fragment.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 494c7f55a7..940d9217cc 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -1682,16 +1682,17 @@ int config_parse_exec_root_hash_sig( return 0; } -int config_parse_exec_cpu_affinity(const char *unit, - const char *filename, - unsigned line, - const char *section, - unsigned section_line, - const char *lvalue, - int ltype, - const char *rvalue, - void *data, - void *userdata) { +int config_parse_exec_cpu_affinity( + const char *unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata) { ExecContext *c = data; int r; @@ -1712,7 +1713,7 @@ int config_parse_exec_cpu_affinity(const char *unit, if (r >= 0) c->cpu_affinity_from_numa = false; - return r; + return 0; } int config_parse_capability_set( From 16eb0c4ad0d78b63773f849425ef281b24a622fb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 18 Jan 2021 01:24:10 +0900 Subject: [PATCH 2/4] core: add missing log_oom() --- src/core/load-fragment.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 940d9217cc..bc87b8d372 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -2743,7 +2743,7 @@ int config_parse_pass_environ( if (n) { r = strv_extend_strv(passenv, n, true); if (r < 0) - return r; + return log_oom(); } return 0; @@ -2818,7 +2818,7 @@ int config_parse_unset_environ( if (n) { r = strv_extend_strv(unsetenv, n, true); if (r < 0) - return r; + return log_oom(); } return 0; From 8c6493e59ea57e3c7c4794a39ad4adb56d54371b Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 18 Jan 2021 01:27:14 +0900 Subject: [PATCH 3/4] core: make config_parse_documentation() explicitly return 0 on success --- src/core/load-fragment.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index bc87b8d372..dd31364a76 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -3096,16 +3096,17 @@ int config_parse_unit_requires_mounts_for( } } -int config_parse_documentation(const char *unit, - const char *filename, - unsigned line, - const char *section, - unsigned section_line, - const char *lvalue, - int ltype, - const char *rvalue, - void *data, - void *userdata) { +int config_parse_documentation( + const char *unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata) { Unit *u = userdata; int r; @@ -3139,7 +3140,7 @@ int config_parse_documentation(const char *unit, if (b) *b = NULL; - return r; + return 0; } #if HAVE_SECCOMP From 2400743e1f0382b2ff603088656f16988a98a924 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 18 Jan 2021 01:32:49 +0900 Subject: [PATCH 4/4] core: add logs when credential value is duplicated --- src/core/load-fragment.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index dd31364a76..f3c2958b05 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -4541,8 +4541,11 @@ int config_parse_set_credential( r = hashmap_ensure_put(&context->set_credentials, &exec_set_credential_hash_ops, sc->id, sc); if (r == -ENOMEM) return log_oom(); - if (r < 0) - return r; + if (r < 0) { + log_syntax(unit, LOG_WARNING, filename, line, l, + "Duplicated credential value '%s', ignoring assignment: %s", sc->id, rvalue); + return 0; + } TAKE_PTR(sc); }