Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebda41dd authored by Tejun Heo's avatar Tejun Heo Committed by Greg Kroah-Hartman
Browse files

cgroup: Fix css_task_iter_advance_css_set() cset skip condition



commit c596687a008b579c503afb7a64fcacc7270fae9e upstream.

While adding handling for dying task group leaders c03cd7738a83
("cgroup: Include dying leaders with live threads in PROCS
iterations") added an inverted cset skip condition to
css_task_iter_advance_css_set().  It should skip cset if it's
completely empty but was incorrectly testing for the inverse condition
for the dying_tasks list.  Fix it.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Fixes: c03cd7738a83 ("cgroup: Include dying leaders with live threads in PROCS iterations")
Reported-by: default avatar <syzbot+d4bba5ccd4f9a2a68681@syzkaller.appspotmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0a9abd27
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4154,7 +4154,7 @@ static void css_task_iter_advance_css_set(struct css_task_iter *it)
			it->task_pos = NULL;
			return;
		}
	} while (!css_set_populated(cset) && !list_empty(&cset->dying_tasks));
	} while (!css_set_populated(cset) && list_empty(&cset->dying_tasks));

	if (!list_empty(&cset->tasks))
		it->task_pos = cset->tasks.next;