ext4: disallow hard-linked directory in ext4_lookup
authorAndreas Dilger <adilger@dilger.ca>
Mon, 28 May 2012 21:02:25 +0000 (17:02 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Jun 2012 15:36:16 +0000 (00:36 +0900)
commitc40a4bd1e80db2b3af7b064b6eece0e689be60a9
tree4dfa6bac93d96e90a109736d1d0425ed3d86c72c
parenta9ea4481033197d29c606a935b24336a96cb3082
ext4: disallow hard-linked directory in ext4_lookup

commit 7e936b737211e6b54e34b71a827e56b872e958d8 upstream.

A hard-linked directory to its parent can cause the VFS to deadlock,
and is a sign of a corrupted file system.  So detect this case in
ext4_lookup(), before the rmdir() lockup scenario can take place.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/namei.c