mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 07:38:10 +00:00
autofs: fix a leak in autofs_expire_indirect()
[ Upstream commit 03ad0d703d
]
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: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a45d1053e8
commit
d29e4ee553
1 changed files with 3 additions and 2 deletions
|
@ -469,9 +469,10 @@ struct dentry *autofs4_expire_indirect(struct super_block *sb,
|
||||||
*/
|
*/
|
||||||
flags &= ~AUTOFS_EXP_LEAVES;
|
flags &= ~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);
|
||||||
|
|
Loading…
Reference in a new issue