]> git.baikalelectronics.ru Git - kernel.git/commit
fix loop checks in d_materialise_unique()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 13 Jul 2011 01:42:24 +0000 (21:42 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 15 Jul 2011 01:33:41 +0000 (21:33 -0400)
commit0c66e0e1be43a8252391e0dd3622325c498667e5
tree3c0cb24361ccfb460b93b0fd6385650df80a26e6
parent867501986df09f6f830296afa47c3aa2702db5e6
fix loop checks in d_materialise_unique()

Both __d_unalias() and __d_materialise_dentry() need loop prevention.
Grab rename_lock in caller, check for loops there...

As a side benefit, we have dentry_lock_for_move() called only under
rename_lock, which seriously reduces deadlock potential of the
execrable "locking order" used for ->d_lock.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c