alistair23-linux/include
Tejun Heo 7805d000db cgroup: fix a subtle bug in descendant pre-order walk
When cgroup_next_descendant_pre() initiates a walk, it checks whether
the subtree root doesn't have any children and if not returns NULL.
Later code assumes that the subtree isn't empty.  This is broken
because the subtree may become empty inbetween, which can lead to the
traversal escaping the subtree by walking to the sibling of the
subtree root.

There's no reason to have the early exit path.  Remove it along with
the later assumption that the subtree isn't empty.  This simplifies
the code a bit and fixes the subtle bug.

While at it, fix the comment of cgroup_for_each_descendant_pre() which
was incorrectly referring to ->css_offline() instead of
->css_online().

Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Cc: stable@vger.kernel.org
2013-05-24 10:50:24 +09:00
..
acpi
asm-generic Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-05-05 13:23:27 -07:00
clocksource ARM: late Exynos multiplatform changes 2013-05-07 11:28:42 -07:00
crypto
drm Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-05-02 19:40:34 -07:00
dt-bindings
keys
linux cgroup: fix a subtle bug in descendant pre-order walk 2013-05-24 10:50:24 +09:00
math-emu
media
memory
misc
net net: frag, fix race conditions in LRU list maintenance 2013-05-06 11:06:51 -04:00
pcmcia
ras
rdma
rxrpc
scsi Merge branch 'postmerge' into for-linus 2013-05-10 07:54:01 -07:00
sound sound fixes for v3.10-rc1 2013-05-10 07:51:56 -07:00
target
trace f2fs updates for v3.10 2013-05-08 15:11:48 -07:00
uapi Merge git://git.infradead.org/users/eparis/audit 2013-05-11 14:29:11 -07:00
video Merge branch 'late/clksrc' into late/cleanup 2013-05-06 23:43:45 +02:00
xen
Kbuild