From 4399023a9d19129459a19e863070f03aa8150ac0 Mon Sep 17 00:00:00 2001 From: Weng Meiling Date: Fri, 27 Sep 2013 07:27:30 +0200 Subject: [PATCH] cgcreate: fix the wrong uid/gid set. When setting the cgconfig.conf as follow: mount { memory = /cgroup/memory; } group . { perm { task { gid = w00227741; uid = w00227741; fperm =755; } admin { gid = w00227741; uid = w00227741; fperm =755; dperm = 755; } } memory { } } and restart the cgconfig service. Then switch to the user w00227741 and cgcreate cgroup like this: # lscgroup memory:/ # cgcreate -g memory:test cgcreate: can't create cgroup test: Operation not permitted the command report the error, but the cgroup test has created: # lscgroup memory:/ memory:/test this patch fix the problem. Signed-off-by: Weng Meiling Acked-by: Ivana Hutarova Varekova --- src/api.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api.c b/src/api.c index e5e1959f..d0eb10a4 100644 --- a/src/api.c +++ b/src/api.c @@ -119,9 +119,9 @@ static const char const *cgroup_ignored_tasks_files[] = { "tasks", NULL }; static int cg_chown(const char *filename, uid_t owner, gid_t group) { if (owner == NO_UID_GID) - owner = 0; + owner = getuid(); if (group == NO_UID_GID) - group = 0; + group = getgid(); return chown(filename, owner, group); } static int cg_chown_file(FTS *fts, FTSENT *ent, uid_t owner, gid_t group) -- 2.47.2