lkml.org 
[lkml]   [2019]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 32/33] cgroup: Fix css_task_iter_advance_css_set() cset skip condition
    Date
    From: Tejun Heo <tj@kernel.org>

    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: Tejun Heo <tj@kernel.org>
    Fixes: c03cd7738a83 ("cgroup: Include dying leaders with live threads in PROCS iterations")
    Reported-by: syzbot+d4bba5ccd4f9a2a68681@syzkaller.appspotmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    kernel/cgroup/cgroup.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/kernel/cgroup/cgroup.c
    +++ b/kernel/cgroup/cgroup.c
    @@ -4048,7 +4048,7 @@ static void css_task_iter_advance_css_se
    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;

    \
     
     \ /
      Last update: 2019-08-08 21:26    [W:3.114 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site