From 2e58167b99007a04a83e78a2eff62c26e00f2ce2 Mon Sep 17 00:00:00 2001 From: Ivana Hutarova Varekova Date: Thu, 18 Jul 2013 12:07:29 +0200 Subject: [PATCH] fix template function to copy template groups properly This patch fixes cgroup_init_templates_cache and cgroup_reload_cached_templates functions. Their have to copy not only controllers and their structures but all variables (controller name, permissions and ownership) for templates. Signed-off-by: Ivana Hutarova Varekova Acked-by: Jan Safranek --- src/config.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/src/config.c b/src/config.c index f3ac4dd8..b2b8a135 100644 --- a/src/config.c +++ b/src/config.c @@ -1473,7 +1473,24 @@ int cgroup_reload_cached_templates(char *pathname) } for (i = 0; i < template_table_index; i++) { - cgroup_copy_cgroup(&config_template_table[i], &template_table[i]); + cgroup_copy_cgroup(&template_table[i], + &config_template_table[i]); + strcpy((template_table[i]).name, + (config_template_table[i]).name); + template_table[i].tasks_uid = + config_template_table[i].tasks_uid; + template_table[i].tasks_gid = + config_template_table[i].tasks_gid; + template_table[i].task_fperm = + config_template_table[i].task_fperm; + template_table[i].control_uid = + config_template_table[i].control_uid; + template_table[i].control_gid = + config_template_table[i].control_gid; + template_table[i].control_fperm = + config_template_table[i].control_fperm; + template_table[i].control_dperm = + config_template_table[i].control_dperm; } return ret; @@ -1511,7 +1528,24 @@ int cgroup_init_templates_cache(char *pathname) } for (i = 0; i < template_table_index; i++) { - cgroup_copy_cgroup(&config_template_table[i], &template_table[i]); + cgroup_copy_cgroup(&template_table[i], + &config_template_table[i]); + strcpy((template_table[i]).name, + (config_template_table[i]).name); + template_table[i].tasks_uid = + config_template_table[i].tasks_uid; + template_table[i].tasks_gid = + config_template_table[i].tasks_gid; + template_table[i].task_fperm = + config_template_table[i].task_fperm; + template_table[i].control_uid = + config_template_table[i].control_uid; + template_table[i].control_gid = + config_template_table[i].control_gid; + template_table[i].control_fperm = + config_template_table[i].control_fperm; + template_table[i].control_dperm = + config_template_table[i].control_dperm; } return ret; -- 2.47.2