mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
cgroup: fix cgroup post-order descendant walk of empty subtree
bd8815a6d8 ("cgroup: make css_for_each_descendant() and friends include the origin css in the iteration") updated cgroup descendant iterators to include the origin css; unfortuantely, it forgot to drop special case handling in css_next_descendant_post() for empty subtree leading to failure to visit the origin css without any child. Fix it by dropping the special case handling and always returning the leftmost descendant on the first iteration. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
This commit is contained in:
parent
26b0332e30
commit
58b79a91f5
@ -3187,11 +3187,9 @@ css_next_descendant_post(struct cgroup_subsys_state *pos,
|
||||
|
||||
WARN_ON_ONCE(!rcu_read_lock_held());
|
||||
|
||||
/* if first iteration, visit the leftmost descendant */
|
||||
if (!pos) {
|
||||
next = css_leftmost_descendant(root);
|
||||
return next != root ? next : NULL;
|
||||
}
|
||||
/* if first iteration, visit leftmost descendant which may be @root */
|
||||
if (!pos)
|
||||
return css_leftmost_descendant(root);
|
||||
|
||||
/* if we visited @root, we're done */
|
||||
if (pos == root)
|
||||
|
Loading…
x
Reference in New Issue
Block a user