]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
libcgroup: Give write access to the group as well
authorDhaval Giani <dhaval@linux.vnet.ibm.com>
Wed, 17 Dec 2008 12:29:12 +0000 (12:29 +0000)
committerDhaval Giani <dhaval@linux.vnet.ibm.com>
Wed, 17 Dec 2008 12:29:12 +0000 (12:29 +0000)
Though we had group details to allow groups access to the cgroup fs, we
had not given the group write access. Correct this bug.

Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@239 4f4bb910-9a46-0410-90c8-c897d4f1cd53

api.c

diff --git a/api.c b/api.c
index b5bb8ee67f71566cf549675a09bb7aa31d14ffb2..0a65270f5dfd5333bcd3be42e6415f49445eeb0f 100644 (file)
--- a/api.c
+++ b/api.c
@@ -111,11 +111,22 @@ static int cg_chown_file(FTS *fts, FTSENT *ent, uid_t owner, gid_t group)
        case FTS_NS:
        case FTS_DNR:
        case FTS_DP:
+               ret = chown(filename, owner, group);
+               if (ret)
+                       goto fail_chown;
+               ret = chmod(filename, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP |
+                                       S_IWGRP | S_IXGRP | S_IROTH | S_IXOTH);
+               break;
        case FTS_F:
        case FTS_DEFAULT:
                ret = chown(filename, owner, group);
+               if (ret)
+                       goto fail_chown;
+               ret = chmod(filename, S_IRUSR | S_IWUSR |  S_IRGRP |
+                                               S_IWGRP | S_IROTH);
                break;
        }
+fail_chown:
        return ret;
 }