diff options
Diffstat (limited to 'src/core/manager.c')
-rw-r--r-- | src/core/manager.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/manager.c b/src/core/manager.c index c7598b1e2a..e7e077dcf0 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1549,6 +1549,8 @@ Manager* manager_free(Manager *m) { free(m->switch_root); free(m->switch_root_init); + free(m->default_smack_process_label); + rlimit_free_all(m->rlimit); assert(hashmap_isempty(m->units_requiring_mounts_for)); @@ -3880,6 +3882,19 @@ int manager_get_effective_environment(Manager *m, char ***ret) { return 0; } +int manager_set_default_smack_process_label(Manager *m, const char *label) { + assert(m); + +#ifdef SMACK_DEFAULT_PROCESS_LABEL + if (!label) + return free_and_strdup(&m->default_smack_process_label, SMACK_DEFAULT_PROCESS_LABEL); +#endif + if (streq_ptr(label, "/")) + return free_and_strdup(&m->default_smack_process_label, NULL); + + return free_and_strdup(&m->default_smack_process_label, label); +} + int manager_set_default_rlimits(Manager *m, struct rlimit **default_rlimit) { assert(m); |