linux/fs/autofs4
Jeff Mahoney c3724b129b [PATCH] autofs4: fix race in unhashed dentry code
Commit f50b6f8691 introduced a race in
autofs4 between autofs_lookup_unhashed() and autofs_dentry_release().

autofs_dentry_release() ends up clearing the ->dentry and ->inode members
of autofs_info before removing it from the rehash list.  The list is
protected by the rehash lock in both functions, but since
autofs_dentry_release() starts tearing the autofs_info struct down before
removing it from the list, autofs_lookup_unhashed() can get a autofs_info
with a NULL dentry.

This patch moves the clearing of ->dentry and ->inode after the removal
from the rehash list.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Acked-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-12 15:31:42 -07:00
..
Makefile
autofs_i.h [PATCH] autofs4: fix another race between mount and expire 2007-02-20 17:10:15 -08:00
expire.c
init.c [PATCH] AUTOFS: Make sure all dentries refs are released before calling kill_anon_super() 2006-10-11 11:14:25 -07:00
inode.c [PATCH] autofs4: fix another race between mount and expire 2007-02-20 17:10:15 -08:00
root.c [PATCH] autofs4: fix race in unhashed dentry code 2007-04-12 15:31:42 -07:00
symlink.c [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
waitq.c [PATCH] autofs4: header file update 2007-02-20 17:10:15 -08:00