diff options
Diffstat (limited to 'mm/mempolicy.c')
| -rw-r--r-- | mm/mempolicy.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 4a57f135b76..11ff260fb28 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1307,15 +1307,18 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,  		goto out;  	/* Find the mm_struct */ +	rcu_read_lock();  	read_lock(&tasklist_lock);  	task = pid ? find_task_by_vpid(pid) : current;  	if (!task) {  		read_unlock(&tasklist_lock); +		rcu_read_unlock();  		err = -ESRCH;  		goto out;  	}  	mm = get_task_mm(task);  	read_unlock(&tasklist_lock); +	rcu_read_unlock();  	err = -EINVAL;  	if (!mm)  |