Locking problem in autofs4_expire(), 2.4.0-test10

From: Nigel Gamble (nigel@mvista.com)
Date: Fri Nov 03 2000 - 20:57:45 EST


dput() is called with dcache_lock already held, resulting in deadlock.

Here is a suggested fix:

===== expire.c 1.3 vs edited =====
--- 1.3/linux/fs/autofs4/expire.c Tue Oct 31 15:14:06 2000
+++ edited/expire.c Fri Nov 3 17:47:47 2000
@@ -223,8 +223,10 @@
                        mntput(p);
                        return dentry;
                }
+ spin_unlock(&dcache_lock);
                dput(d);
                mntput(p);
+ spin_lock(&dcache_lock);
        }
        spin_unlock(&dcache_lock);

Nigel Gamble
MontaVista Software

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Nov 07 2000 - 21:00:15 EST