diff options
author | Stefan Brüns <stefan.bruens@rwth-aachen.de> | 2015-09-02 03:38:53 +0200 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2015-09-28 16:29:11 +0300 |
commit | 59baae9a626396a3a05840279084c4bf2beb8f40 (patch) | |
tree | 2a7f5e111a6dba05b2553f8fd1182b863ffb5090 /linux-user/syscall.c | |
parent | 84646ee25b68321624ef4768011e91064e4bd440 (diff) |
linux-user: remove MAX_ARG_PAGES limit
Instead of creating a temporary copy for the whole environment and
the arguments, directly copy everything to the target stack.
For this to work, we have to change the order of stack creation and
copying the arguments.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r-- | linux-user/syscall.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index d1d3eb2d78..7fbaa8bb67 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -5808,12 +5808,6 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, } *q = NULL; - /* This case will not be caught by the host's execve() if its - page size is bigger than the target's. */ - if (total_size > MAX_ARG_PAGES * TARGET_PAGE_SIZE) { - ret = -TARGET_E2BIG; - goto execve_end; - } if (!(p = lock_user_string(arg1))) goto execve_efault; ret = get_errno(execve(p, argp, envp)); |