forked from luck/tmp_suning_uos_patched
vfs: fix reference leak in d_prune_aliases()
In "d_prune_alias(): just lock the parent and call __dentry_kill()" the old dget + d_drop + dput has been replaced with lock_parent + __dentry_kill; unfortunately, dput() does more than just killing dentry - it also drops the reference to parent. New variant leaks that reference and needs dput(parent) after killing the child off. Signed-off-by: Yan, Zheng <zyan@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
ad0eab9293
commit
4a7795d35e
|
@ -778,6 +778,7 @@ void d_prune_aliases(struct inode *inode)
|
|||
struct dentry *parent = lock_parent(dentry);
|
||||
if (likely(!dentry->d_lockref.count)) {
|
||||
__dentry_kill(dentry);
|
||||
dput(parent);
|
||||
goto restart;
|
||||
}
|
||||
if (parent)
|
||||
|
|
Loading…
Reference in New Issue
Block a user