diff options
Diffstat (limited to 'fs/proc_namespace.c')
| -rw-r--r-- | fs/proc_namespace.c | 8 | 
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c index 1a81373947f3..73ca1740d839 100644 --- a/fs/proc_namespace.c +++ b/fs/proc_namespace.c @@ -232,17 +232,15 @@ static int mounts_open_common(struct inode *inode, struct file *file,  	if (!task)  		goto err; -	rcu_read_lock(); -	nsp = task_nsproxy(task); +	task_lock(task); +	nsp = task->nsproxy;  	if (!nsp || !nsp->mnt_ns) { -		rcu_read_unlock(); +		task_unlock(task);  		put_task_struct(task);  		goto err;  	}  	ns = nsp->mnt_ns;  	get_mnt_ns(ns); -	rcu_read_unlock(); -	task_lock(task);  	if (!task->fs) {  		task_unlock(task);  		put_task_struct(task);  |