• Tejun Heo's avatar
    cgroup: make cgroup_file_open() rcu_read_lock() around cgroup_css() and add cfent->css · 105347ba
    Tejun Heo authored
    For the planned unified hierarchy, each css (cgroup_subsys_state) will
    be RCU protected so that it can be created and destroyed individually
    while allowing RCU accesses, and cgroup_css() will soon require either
    holding cgroup_mutex or RCU read lock.
    
    This patch updates cgroup_file_open() such that it acquires the
    associated css under rcu_read_lock().  While cgroup_file_css() usages
    in other file operations are safe due to the reference from open,
    cgroup_css() wouldn't know that and will still trigger warnings.  It'd
    be cleanest to store the acquired css in file->prvidate_data for
    further file operations but that's already used by seqfile.  This
    patch instead adds cfent->css to cache the associated css.  Note that
    while this field is initialized during cfe init, it should only be
    considered valid while the file is open.
    
    This patch doesn't change visible behavior.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    105347ba
cgroup.c 156 KB