Commit dc168427 authored by Vasily Averin's avatar Vasily Averin Committed by Linus Torvalds

[PATCH] VFS: extra check inside dentry_unhash()

d_count check after dget() is always true.
Signed-off-by: default avatarVasily Averin <vvs@sw.ru>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 5ac29e62
...@@ -1998,8 +1998,7 @@ asmlinkage long sys_mkdir(const char __user *pathname, int mode) ...@@ -1998,8 +1998,7 @@ asmlinkage long sys_mkdir(const char __user *pathname, int mode)
void dentry_unhash(struct dentry *dentry) void dentry_unhash(struct dentry *dentry)
{ {
dget(dentry); dget(dentry);
if (atomic_read(&dentry->d_count)) shrink_dcache_parent(dentry);
shrink_dcache_parent(dentry);
spin_lock(&dcache_lock); spin_lock(&dcache_lock);
spin_lock(&dentry->d_lock); spin_lock(&dentry->d_lock);
if (atomic_read(&dentry->d_count) == 2) if (atomic_read(&dentry->d_count) == 2)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment