From: Eric W. Biederman Date: Sat, 15 Aug 2015 18:36:41 +0000 (-0500) Subject: dcache: Reduce the scope of i_lock in d_splice_alias X-Git-Tag: omap-for-v4.3/fixes-rc1~80^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a03e283bf5c3d4851b4998122196ce9f849e6dfb;p=pandora-kernel.git dcache: Reduce the scope of i_lock in d_splice_alias i_lock is only needed until __d_find_any_alias calls dget on the alias dentry. After that the reference to new ensures that dentry_kill and d_delete will not remove the inode from the dentry, and remove the dentry from the inode->d_entry list. The inode i_lock came to be held over the the __d_move calls in d_splice_alias through a series of introduction of locks with increasing smaller scope. First it was the dcache_lock, then it was the dcache_inode_lock, and finally inode->i_lock. Furthermore inode->i_lock is not held over any other calls to d_move or __d_move so it can not provide any meaningful rename protection. Signed-off-by: "Eric W. Biederman" Signed-off-by: Al Viro --- Reading git-diff-tree failed