|
From: Ivana V. <var...@re...> - 2013-09-19 06:20:06
|
----- Original Message -----
> From: "Weng Meiling" <wen...@hu...>
> To: "Ivana Varekova" <var...@re...>
> Cc: "Huang Qiang" <h.h...@hu...>, "libo chen" <lib...@hu...>, "Libcg Development list"
> <lib...@li...>
> Sent: Saturday, September 14, 2013 11:48:52 AM
> Subject: [PATCH] cgcreate: fix the wrong uid/gid set.
>
>
> From: Weng Meiling <wen...@hu...>
>
> 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 resart the cgconfig service. Then switch to the user w00227741
> and cgreate 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 <wen...@hu...>
Acked-by: Ivana Hutarova Varekova <var...@re...>
> ---
> src/api.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/api.c b/src/api.c
> index 61b852c..22fc1f3 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)
> --
> 1.7.1
>
>
>
|