From: raven@themaw.net

Looking at the autofs4_may_umount I think I take the vfsmount_lock too late.


---

 25-akpm/fs/autofs4/expire.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

diff -puN fs/autofs4/expire.c~4-autofs4-260-expire-20040405-fix fs/autofs4/expire.c
--- 25/fs/autofs4/expire.c~4-autofs4-260-expire-20040405-fix	2004-04-20 10:50:08.846256248 -0700
+++ 25-akpm/fs/autofs4/expire.c	2004-04-20 10:50:08.850255640 -0700
@@ -53,10 +53,9 @@ static int autofs4_may_umount(struct vfs
 	int actual_refs;
 	int minimum_refs;
 
+	spin_lock(&vfsmount_lock);
 	actual_refs = atomic_read(&mnt->mnt_count);
 	minimum_refs = 2;
-
-	spin_lock(&vfsmount_lock);
 repeat:
 	next = this_parent->mnt_mounts.next;
 resume:

_