autofs-5.1.3 - fix symlink false negative in umount_multi() From: Ian Kent Using is_mounted() on a symlink will give a false negative for MNTS_ALL since the kernel will return mounted true for a dentry within an autofs mount point. Just remove the check and rely on lstat(). Signed-off-by: Ian Kent --- CHANGELOG | 1 + daemon/automount.c | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) --- autofs-5.0.7.orig/CHANGELOG +++ autofs-5.0.7/CHANGELOG @@ -270,6 +270,7 @@ - fix cachefs parse message not being logged. - fix typo in amd_parse.c. - add missing MODPREFIX to logging in amd parser. +- fix symlink false negative in umount_multi(). 25/07/2012 autofs-5.0.7 ======================= --- autofs-5.0.7.orig/daemon/automount.c +++ autofs-5.0.7/daemon/automount.c @@ -640,10 +640,6 @@ int umount_multi(struct autofs_point *ap debug(ap->logopt, "path %s incl %d", path, incl); - /* If path is a mount it can't be a symlink */ - if (is_mounted(_PATH_MOUNTED, path, MNTS_ALL)) - goto real_mount; - if (lstat(path, &st)) { warn(ap->logopt, "failed to stat directory or symlink %s", path); @@ -688,7 +684,6 @@ int umount_multi(struct autofs_point *ap return 0; } -real_mount: is_autofs_fs = 0; if (master_find_submount(ap, path)) is_autofs_fs = 1;