diff options
Diffstat (limited to 'arch/s390x/kernel/exec32.c')
-rw-r--r-- | arch/s390x/kernel/exec32.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/s390x/kernel/exec32.c b/arch/s390x/kernel/exec32.c index 3e6f44558..8c517456a 100644 --- a/arch/s390x/kernel/exec32.c +++ b/arch/s390x/kernel/exec32.c @@ -54,7 +54,7 @@ int setup_arg_pages32(struct linux_binprm *bprm) if (!mpnt) return -ENOMEM; - down(¤t->mm->mmap_sem); + down_write(¤t->mm->mmap_sem); { mpnt->vm_mm = current->mm; mpnt->vm_start = PAGE_MASK & (unsigned long) bprm->p; @@ -73,12 +73,11 @@ int setup_arg_pages32(struct linux_binprm *bprm) struct page *page = bprm->page[i]; if (page) { bprm->page[i] = NULL; - current->mm->rss++; put_dirty_page(current,page,stack_base); } stack_base += PAGE_SIZE; } - up(¤t->mm->mmap_sem); + up_write(¤t->mm->mmap_sem); return 0; } |