The expire flag AUTOFS_EXP_LEAVES is cleared before the second
call to should_expire() in autofs_expire_indirect() but the
parameter passed in the second call is incorrect.

Fortunately AUTOFS_EXP_LEAVES expire flag has not been used for
a long time but might be needed in the future so fix it rather
than remove the expire leaves functionality.

Signed-off-by: Ian Kent <ra...@themaw.net>
---
 fs/autofs/expire.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/autofs/expire.c b/fs/autofs/expire.c
index 295feec10ea6..41855cdc5630 100644
--- a/fs/autofs/expire.c
+++ b/fs/autofs/expire.c
@@ -467,7 +467,7 @@ struct dentry *autofs_expire_indirect(struct super_block 
*sb,
                 * things have changed.
                 */
                flags &= ~AUTOFS_EXP_LEAVES;
-               found = should_expire(expired, mnt, timeout, how);
+               found = should_expire(expired, mnt, timeout, flags);
                if (!found || found != expired)
                        /* Something has changed, continue */
                        goto next;

Reply via email to