cgroup: fix uninitialised iterator in for_each_subsys_which
authorAleksa Sarai <cyphar@cyphar.com>
Tue, 9 Jun 2015 11:32:07 +0000 (21:32 +1000)
committerTejun Heo <tj@kernel.org>
Wed, 10 Jun 2015 04:48:30 +0000 (13:48 +0900)
Fix the fact that @ssid is uninitialised in the case where
CGROUP_SUBSYS_COUNT = 0 by setting ssid to 0.

Fixes: cb4a31675270 ("cgroup: use bitmask to filter for_each_subsys")
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup.c

index 6d6d3c75209645dd75f2239f580234127aabdde9..12b580f4338e0dfe5456e35a85cf63c604ade6f8 100644 (file)
@@ -424,7 +424,7 @@ static int notify_on_release(const struct cgroup *cgrp)
  */
 #define for_each_subsys_which(ss, ssid, ss_maskp)                      \
        if (!CGROUP_SUBSYS_COUNT) /* to avoid spurious gcc warning */   \
-               ;                                                       \
+               (ssid) = 0;                                             \
        else                                                            \
                for_each_set_bit(ssid, ss_maskp, CGROUP_SUBSYS_COUNT)   \
                        if (((ss) = cgroup_subsys[ssid]) && false)      \