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) | |
download | qemu-59baae9a626396a3a05840279084c4bf2beb8f40.zip qemu-59baae9a626396a3a05840279084c4bf2beb8f40.tar.gz qemu-59baae9a626396a3a05840279084c4bf2beb8f40.tar.bz2 |
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 d1d3eb2..7fbaa8b 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)); |