mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
parent
bcef0f33cc
commit
e4645ca599
@ -533,14 +533,12 @@ static int controller_is_v1_accessible(const char *root, const char *controller)
|
||||
assert(controller);
|
||||
|
||||
dn = controller_to_dirname(controller);
|
||||
cpath = strjoina("/sys/fs/cgroup/", dn);
|
||||
if (root)
|
||||
/* Also check that:
|
||||
* - possible subcgroup is created at root,
|
||||
* - we can modify the hierarchy.
|
||||
* "Leak" cpath on stack */
|
||||
cpath = strjoina(cpath, root, "/cgroup.procs");
|
||||
|
||||
/* If root if specified, we check that:
|
||||
* - possible subcgroup is created at root,
|
||||
* - we can modify the hierarchy. */
|
||||
|
||||
cpath = strjoina("/sys/fs/cgroup/", dn, root, root ? "/cgroup.procs" : NULL);
|
||||
if (laccess(cpath, root ? W_OK : F_OK) < 0)
|
||||
return -errno;
|
||||
|
||||
|
@ -345,6 +345,12 @@ static void test_strjoina(void) {
|
||||
|
||||
actual = strjoina("foo", NULL, "bar");
|
||||
assert_se(streq(actual, "foo"));
|
||||
|
||||
actual = strjoina("/sys/fs/cgroup/", "dn", "/a/b/c", "/cgroup.procs");
|
||||
assert_se(streq(actual, "/sys/fs/cgroup/dn/a/b/c/cgroup.procs"));
|
||||
|
||||
actual = strjoina("/sys/fs/cgroup/", "dn", NULL, NULL);
|
||||
assert_se(streq(actual, "/sys/fs/cgroup/dn"));
|
||||
}
|
||||
|
||||
static void test_strjoin(void) {
|
||||
|
Loading…
Reference in New Issue
Block a user