From 482368b1a8e45430672c58c9a42e7d2004367126 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Thu, 24 Feb 2000 00:12:35 +0000 Subject: Merge with 2.3.47. Guys, this is buggy as shit. You've been warned. --- fs/proc/inode.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'fs/proc') diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 607a7d7e9..ffe846e5c 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -15,6 +15,7 @@ #include #define __NO_VERSION__ #include +#include #include #include @@ -34,6 +35,7 @@ struct proc_dir_entry * de_get(struct proc_dir_entry *de) void de_put(struct proc_dir_entry *de) { if (de) { + lock_kernel(); /* FIXME: count should be atomic_t */ if (!de->count) { printk("de_put: entry %s already free!\n", de->name); return; @@ -46,6 +48,7 @@ void de_put(struct proc_dir_entry *de) free_proc_entry(de); } } + unlock_kernel(); } } @@ -66,6 +69,8 @@ static void proc_delete_inode(struct inode *inode) { struct proc_dir_entry *de = inode->u.generic_ip; + inode->i_state = I_CLEAR; + if (PROC_INODE_PROPER(inode)) { proc_pid_delete_inode(inode); return; -- cgit v1.2.3