Commit d4bc855a authored by Al Viro's avatar Al Viro Committed by Greg Kroah-Hartman

autofs: fix a leak in autofs_expire_indirect()

[ Upstream commit 03ad0d70 ]

if the second call of should_expire() in there ends up
grabbing and returning a new reference to dentry, we need
to drop it before continuing.
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent c44d21f8
...@@ -501,9 +501,10 @@ static struct dentry *autofs_expire_indirect(struct super_block *sb, ...@@ -501,9 +501,10 @@ static struct dentry *autofs_expire_indirect(struct super_block *sb,
*/ */
how &= ~AUTOFS_EXP_LEAVES; how &= ~AUTOFS_EXP_LEAVES;
found = should_expire(expired, mnt, timeout, how); found = should_expire(expired, mnt, timeout, how);
if (!found || found != expired) if (found != expired) { // something has changed, continue
/* Something has changed, continue */ dput(found);
goto next; goto next;
}
if (expired != dentry) if (expired != dentry)
dput(dentry); dput(dentry);
......
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