summaryrefslogtreecommitdiff
path: root/src/shared/bus-unit-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-06-09 20:02:53 +0200
committerGitHub <noreply@github.com>2020-06-09 20:02:53 +0200
commitd689f0f20aba32fd1b99330f032a6a343d0e2ab5 (patch)
tree13f01a76f9cb195c7f41e6c799398754939a0022 /src/shared/bus-unit-util.c
parent4f4f37b20d0598d424ff9187112cd791d325ac50 (diff)
parent53aa85af24cda4470b6750f88e181b775385e228 (diff)
downloadsystemd-d689f0f20aba32fd1b99330f032a6a343d0e2ab5.tar.gz
Merge pull request #16058 from Werkov/fix-memory-protection-default
Fix memory protection default setting
Diffstat (limited to 'src/shared/bus-unit-util.c')
-rw-r--r--src/shared/bus-unit-util.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
index 69f79ea176..4b1145a6ba 100644
--- a/src/shared/bus-unit-util.c
+++ b/src/shared/bus-unit-util.c
@@ -489,7 +489,22 @@ static int bus_append_cgroup_property(sd_bus_message *m, const char *field, cons
"MemoryLimit",
"TasksMax")) {
- if (isempty(eq) || streq(eq, "infinity")) {
+ if (streq(eq, "infinity")) {
+ r = sd_bus_message_append(m, "(sv)", field, "t", CGROUP_LIMIT_MAX);
+ if (r < 0)
+ return bus_log_create_error(r);
+ return 1;
+ } else if (isempty(eq) && STR_IN_SET(field, "DefaultMemoryLow",
+ "DefaultMemoryMin",
+ "MemoryLow",
+ "MemoryMin")) {
+ /* We can't use CGROUP_LIMIT_MIN nor CGROUP_LIMIT_MAX to convey the empty assignment
+ * so marshall specially as a boolean. */
+ r = sd_bus_message_append(m, "(sv)", field, "b", 0);
+ if (r < 0)
+ return bus_log_create_error(r);
+ return 1;
+ } else if (isempty(eq)) {
r = sd_bus_message_append(m, "(sv)", field, "t", CGROUP_LIMIT_MAX);
if (r < 0)
return bus_log_create_error(r);