• Tejun Heo's avatar
    cgroup: cgroup->subsys[] should be cleared after the css is offlined · e3297803
    Tejun Heo authored
    After a css finishes offlining, offline_css() mistakenly performs
    RCU_INIT_POINTER(css->cgroup->subsys[ss->id], css) which just sets the
    cgroup->subsys[] pointer to the current value.  The intention was to
    clear it after offline is complete, not reassign the same value.
    
    Update it to assign NULL instead of the current value.  This makes
    cgroup_css() to return NULL once offline is complete.  All the
    existing users of the function either can handle NULL return already
    or guarantee that the css doesn't get offlined.
    
    While this is a bugfix, as css lifetime is currently tied to the
    cgroup it belongs to, this bug doesn't cause any actual problems.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    e3297803
cgroup.c 133 KB