• Tejun Heo's avatar
    cgroup: pin cgroup_subsys_state when opening a cgroupfs file · f7d58818
    Tejun Heo authored
    Previously, each file read/write operation relied on the inode
    reference count pinning the cgroup and simply checked whether the
    cgroup was marked dead before proceeding to invoke the per-subsystem
    callback.  This was rather silly as it didn't have any synchronization
    or css pinning around the check and the cgroup may be removed and all
    css refs drained between the DEAD check and actual method invocation.
    
    This patch pins the css between open() and release() so that it is
    guaranteed to be alive for all file operations and remove the silly
    DEAD checks from cgroup_file_read/write().
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    f7d58818
cgroup.c 152 KB