linux/fs/proc
Darrick J. Wong 59cd0cbc75 Fix race between proc_readdir and remove_proc_entry
Fix the following race:

proc_readdir				remove_proc_entry
============				=================

spin_lock(&proc_subdir_lock);
[choose PDE to start filldir from]
spin_unlock(&proc_subdir_lock);
					spin_lock(&proc_subdir_lock);
					[find PDE]
					[free PDE, refcount is 0]
					spin_unlock(&proc_subdir_lock);
		    /* boom */
if (filldir(dirent, de->name, ...

[de_put on error path --adobriyan]
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:02 -07:00
..
array.c
base.c
generic.c Fix race between proc_readdir and remove_proc_entry 2007-05-08 11:15:02 -07:00
inode-alloc.txt
inode.c
internal.h
kcore.c
kmsg.c
Makefile
mmu.c
nommu.c
proc_devtree.c
proc_misc.c
proc_sysctl.c
proc_tty.c
root.c
task_mmu.c
task_nommu.c
vmcore.c