diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-06-09 20:02:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-09 20:02:53 +0200 |
commit | d689f0f20aba32fd1b99330f032a6a343d0e2ab5 (patch) | |
tree | 13f01a76f9cb195c7f41e6c799398754939a0022 /src/shared/bus-unit-util.c | |
parent | 4f4f37b20d0598d424ff9187112cd791d325ac50 (diff) | |
parent | 53aa85af24cda4470b6750f88e181b775385e228 (diff) | |
download | systemd-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.c | 17 |
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); |