diff options
author | David S. Miller <davem@davemloft.net> | 2009-12-03 12:51:21 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-03 12:51:21 -0800 |
commit | a6c872afb2536f47285e6643f4629dec7520041d (patch) | |
tree | 4b54e69fc6594f9afc1277520a350db04e578e77 /fs/exec.c | |
parent | 9fe02668fe48a1d546196bc1392330ff28d9bd57 (diff) | |
parent | 22763c5cf3690a681551162c15d34d935308c8d7 (diff) |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'fs/exec.c')
-rw-r--r-- | fs/exec.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/exec.c b/fs/exec.c index d49be6bc179..ba112bd4a33 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -624,10 +624,8 @@ int setup_arg_pages(struct linux_binprm *bprm, /* Move stack pages down in memory. */ if (stack_shift) { ret = shift_arg_pages(vma, stack_shift); - if (ret) { - up_write(&mm->mmap_sem); - return ret; - } + if (ret) + goto out_unlock; } #ifdef CONFIG_STACK_GROWSUP @@ -641,7 +639,7 @@ int setup_arg_pages(struct linux_binprm *bprm, out_unlock: up_write(&mm->mmap_sem); - return 0; + return ret; } EXPORT_SYMBOL(setup_arg_pages); |