diff options
Diffstat (limited to 'fs/proc/inode.c')
| -rw-r--r-- | fs/proc/inode.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 7ac817b64a7..439ae688650 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -31,6 +31,7 @@ static void proc_evict_inode(struct inode *inode)  	struct proc_dir_entry *de;  	struct ctl_table_header *head;  	const struct proc_ns_operations *ns_ops; +	void *ns;  	truncate_inode_pages(&inode->i_data, 0);  	clear_inode(inode); @@ -49,8 +50,9 @@ static void proc_evict_inode(struct inode *inode)  	}  	/* Release any associated namespace */  	ns_ops = PROC_I(inode)->ns_ops; -	if (ns_ops && ns_ops->put) -		ns_ops->put(PROC_I(inode)->ns); +	ns = PROC_I(inode)->ns; +	if (ns_ops && ns) +		ns_ops->put(ns);  }  static struct kmem_cache * proc_inode_cachep; @@ -450,7 +452,6 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)  		return NULL;  	if (inode->i_state & I_NEW) {  		inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; -		PROC_I(inode)->fd = 0;  		PROC_I(inode)->pde = de;  		if (de->mode) {  |