diff options
Diffstat (limited to 'mm')
| -rw-r--r-- | mm/mempolicy.c | 8 |
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(¤t->mm->mmap_sem); + vma = NULL; + } + if (policy && put_user(pval, policy)) - goto out; + return -EFAULT; err = 0; if (nmask) { |
