mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-17 10:46:33 +00:00
autofs - remove autofs dentry mount check
commit ce8a5dbdf9e709bdaf4618d7ef8cceb91e8adc69 upstream. When checking if an autofs mount point is busy it isn't sufficient to only check if it's a mount point. For example, if the mount of an offset mountpoint in a tree is denied for this host by its export and the dentry becomes a process working directory the check incorrectly returns the mount as not in use at expire. This can happen since the default when mounting within a tree is nostrict, which means ingnore mount fails on mounts within the tree and continue. The nostrict option is meant to allow mounting in this case. Signed-off-by: David Jeffery <djeffery@redhat.com> Signed-off-by: Ian Kent <raven@themaw.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5013bcf5cb
commit
eda948e04f
@ -61,15 +61,6 @@ static int autofs4_mount_busy(struct vfsmount *mnt, struct dentry *dentry)
|
|||||||
/* This is an autofs submount, we can't expire it */
|
/* This is an autofs submount, we can't expire it */
|
||||||
if (autofs_type_indirect(sbi->type))
|
if (autofs_type_indirect(sbi->type))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/*
|
|
||||||
* Otherwise it's an offset mount and we need to check
|
|
||||||
* if we can umount its mount, if there is one.
|
|
||||||
*/
|
|
||||||
if (!d_mountpoint(path.dentry)) {
|
|
||||||
status = 0;
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update the expiry counter if fs is busy */
|
/* Update the expiry counter if fs is busy */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user