summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/mempolicy.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index c50402632c6d..1511786462f3 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -524,9 +524,13 @@ asmlinkage long sys_get_mempolicy(int __user *policy,
} else
pval = pol->policy;
- err = -EFAULT;
+ if (vma) {
+ up_read(&current->mm->mmap_sem);
+ vma = NULL;
+ }
+
if (policy && put_user(pval, policy))
- goto out;
+ return -EFAULT;
err = 0;
if (nmask) {