cgroup fs: avoid switching ->d_op on live dentry
authorNick Piggin <npiggin@kernel.dk>
Fri, 7 Jan 2011 06:49:20 +0000 (17:49 +1100)
committerNick Piggin <npiggin@kernel.dk>
Fri, 7 Jan 2011 06:50:17 +0000 (17:50 +1100)
commit5adcee1d8d32d7f305f6f5aaefdbf8f35adca177
tree9292ebc9bb6a21b364a97a44d1b6857a565159c5
parent3e880fb5e4bb6a012035e3edd0586ee2817c2e24
cgroup fs: avoid switching ->d_op on live dentry

Switching d_op on a live dentry is racy in general, so avoid it. In this case
it is a negative dentry, which is safer, but there are still concurrent ops
which may be called on d_op in that case (eg. d_revalidate). So in general
a filesystem may not do this. Fix cgroupfs so as not to do this.

Signed-off-by: Nick Piggin <npiggin@kernel.dk>
kernel/cgroup.c