summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2013-08-08 20:11:23 -0400
committerTejun Heo <tj@kernel.org>2013-08-08 20:11:23 -0400
commitf7d58818ba4249f04a83b73aaac135640050bb4f (patch)
tree770514a6164e8464caf0b7497bb06c68936febc6 /block
parent2bb566cb68dfafad328af666ebadf0e49accd6ca (diff)
downloadlinux-f7d58818ba4249f04a83b73aaac135640050bb4f.tar.gz
linux-f7d58818ba4249f04a83b73aaac135640050bb4f.tar.bz2
linux-f7d58818ba4249f04a83b73aaac135640050bb4f.zip
cgroup: pin cgroup_subsys_state when opening a cgroupfs file
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: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions