Merge pull request #4085 from brauner/2022-02-20.cgroup.fixes

cgroups: fixes
This commit is contained in:
Stéphane Graber 2022-02-20 14:53:07 -05:00 committed by GitHub
commit fd115a7359
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -727,6 +727,7 @@ static int __cgroup_tree_create(int dfd_base, const char *path, mode_t mode,
* it will be automatically zapped if we return early. * it will be automatically zapped if we return early.
*/ */
dfd_cur = dfd_final; dfd_cur = dfd_final;
TRACE("Opened%s cgroup %s as %d", !ret ? " newly created" : "", cur, dfd_cur);
} }
/* The final cgroup must be succesfully creatd by us. */ /* The final cgroup must be succesfully creatd by us. */
@ -3174,6 +3175,12 @@ static int __initialize_cgroups(struct cgroup_ops *ops, bool relative,
SYSTRACE("Unified cgroup not mounted"); SYSTRACE("Unified cgroup not mounted");
continue; continue;
} }
if (!fhas_fs_type(dfd_mnt, CGROUP2_SUPER_MAGIC)) {
SYSTRACE("Opened file descriptor %d is not a cgroup2 mountpoint", dfd_mnt);
continue;
}
dfd = dfd_mnt; dfd = dfd_mnt;
if (!is_empty_string(current_cgroup)) { if (!is_empty_string(current_cgroup)) {
@ -3239,6 +3246,12 @@ static int __initialize_cgroups(struct cgroup_ops *ops, bool relative,
SYSTRACE("%s not mounted", controllers); SYSTRACE("%s not mounted", controllers);
continue; continue;
} }
if (!fhas_fs_type(dfd_mnt, CGROUP_SUPER_MAGIC)) {
SYSTRACE("Opened file descriptor %d is not a cgroup mountpoint", dfd_mnt);
continue;
}
dfd = dfd_mnt; dfd = dfd_mnt;
if (!abspath(__current_cgroup)) if (!abspath(__current_cgroup))