You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
autofs-5.1.3 - fix symlink false negative in umount_multi() |
|
|
|
From: Ian Kent <raven@themaw.net> |
|
|
|
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 <raven@themaw.net> |
|
--- |
|
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;
|
|
|