]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
cgfs: skip empty entries under /proc/self/cgroup
authorChristian Brauner <christian.brauner@canonical.com>
Sun, 30 Oct 2016 12:42:37 +0000 (13:42 +0100)
committerChristian Brauner <christian.brauner@canonical.com>
Sun, 30 Oct 2016 13:49:50 +0000 (14:49 +0100)
If cgroupv2 is enabled either alone or together with legacy hierarchies
/proc/self/cgroup can contain entries of the form:

        0::/

These entries need to be skipped.

Signed-off-by: Christian Brauner <christian.brauner@canonical.com>
src/lxc/cgroups/cgfs.c

index c10253bf37ab8d365b13748fbf2c5daeefd02444..a30ad9132e4afc40370e246e087b0952ce84b50b 100644 (file)
@@ -364,6 +364,14 @@ static bool find_cgroup_hierarchies(struct cgroup_meta_data *meta_data,
                *colon2 = '\0';
 
                colon2 = NULL;
+
+               /* With cgroupv2 /proc/self/cgroup can contain entries of the
+                * form: 0::/
+                * These entries need to be skipped.
+                */
+               if (!strcmp(colon1, ""))
+                       continue;
+
                hierarchy_number = strtoul(line, &colon2, 10);
                if (!colon2 || *colon2)
                        continue;
@@ -1685,6 +1693,14 @@ lxc_cgroup_process_info_getx(const char *proc_pid_cgroup_str,
                *colon2++ = '\0';
 
                endptr = NULL;
+
+               /* With cgroupv2 /proc/self/cgroup can contain entries of the
+                * form: 0::/
+                * These entries need to be skipped.
+                */
+               if (!strcmp(colon1, ""))
+                       continue;
+
                hierarchy_number = strtoul(line, &endptr, 10);
                if (!endptr || *endptr)
                        continue;