diff --git a/libprocessgroup/cgroup_map.cpp b/libprocessgroup/cgroup_map.cpp index c5fb80464..cd8ef94a7 100644 --- a/libprocessgroup/cgroup_map.cpp +++ b/libprocessgroup/cgroup_map.cpp @@ -131,7 +131,8 @@ static bool ReadDescriptors(std::map* descriptors std::string name = cgroups[i]["Controller"].asString(); descriptors->emplace(std::make_pair( name, - CgroupDescriptor(1, name, cgroups[i]["Path"].asString(), cgroups[i]["Mode"].asInt(), + CgroupDescriptor(1, name, cgroups[i]["Path"].asString(), + std::strtoul(cgroups[i]["Mode"].asString().c_str(), 0, 8), cgroups[i]["UID"].asString(), cgroups[i]["GID"].asString()))); } @@ -139,8 +140,8 @@ static bool ReadDescriptors(std::map* descriptors descriptors->emplace(std::make_pair( CGROUPV2_CONTROLLER_NAME, CgroupDescriptor(2, CGROUPV2_CONTROLLER_NAME, cgroups2["Path"].asString(), - cgroups2["Mode"].asInt(), cgroups2["UID"].asString(), - cgroups2["GID"].asString()))); + std::strtoul(cgroups2["Mode"].asString().c_str(), 0, 8), + cgroups2["UID"].asString(), cgroups2["GID"].asString()))); return true; } diff --git a/rootdir/cgroups.json b/rootdir/cgroups.json index 6eb88c957..aa7195609 100644 --- a/rootdir/cgroups.json +++ b/rootdir/cgroups.json @@ -3,40 +3,40 @@ { "Controller": "cpu", "Path": "/dev/cpuctl", - "Mode": 0755, + "Mode": "0755", "UID": "system", "GID": "system" }, { "Controller": "cpuacct", "Path": "/acct", - "Mode": 0555 + "Mode": "0555" }, { "Controller": "cpuset", "Path": "/dev/cpuset", - "Mode": 0755, + "Mode": "0755", "UID": "system", "GID": "system" }, { "Controller": "memory", "Path": "/dev/memcg", - "Mode": 0700, + "Mode": "0700", "UID": "root", "GID": "system" }, { "Controller": "schedtune", "Path": "/dev/stune", - "Mode": 0755, + "Mode": "0755", "UID": "system", "GID": "system" } ], "Cgroups2": { "Path": "/dev/cg2_bpf", - "Mode": 0600, + "Mode": "0600", "UID": "root", "GID": "root" }