diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c index e82b56902..0b753daf3 100644 --- a/src/lxc/cgroups/cgfsng.c +++ b/src/lxc/cgroups/cgfsng.c @@ -3174,6 +3174,12 @@ static int __initialize_cgroups(struct cgroup_ops *ops, bool relative, SYSTRACE("Unified cgroup not mounted"); 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; if (!is_empty_string(current_cgroup)) { @@ -3239,6 +3245,12 @@ static int __initialize_cgroups(struct cgroup_ops *ops, bool relative, SYSTRACE("%s not mounted", controllers); 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; if (!abspath(__current_cgroup))