qemu-e2k/linux-user
Ulrich Hecht a6f79cc9a5 linux-user: fail execve() if env/args too big
If the host's page size is equal to or smaller than the target's, native
execve() will fail appropriately with E2BIG if called with too big an
environment for the target to handle. It may falsely succeed, however, if
the host's page size is bigger, and feed the executed target process an
environment that is too big for it to handle, at which point QEMU barfs and
exits, confusing procmail's autoconf script and causing the build to fail.

This patch makes sure that execve() will return E2BIG if the environment is
too large for the target.

Signed-off-by: Ulrich Hecht <uli@suse.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2012-02-10 10:44:51 +00:00
..
alpha linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
arm linux-user/arm/nwfpe/fpopcode.h: Fix non-UTF-8 characters 2011-12-06 10:05:01 +00:00
cris linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
i386 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
m68k linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
microblaze linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mips linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mips64 linux-user: Define TARGET_QEMU_ESIGRETURN for mips64 2012-02-02 17:51:21 +02:00
mipsn32 linux-user: Define TARGET_QEMU_ESIGRETURN for mipsn32 2012-02-02 17:51:20 +02:00
ppc linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
s390x linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
sh4 linux-user: correct syscall 123 on sh4 2011-07-13 17:11:37 +03:00
sparc sparc-linux-user: Add some missing syscall numbers 2011-10-27 14:43:10 +03:00
sparc64 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
unicore32
x86_64 Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
cpu-uname.c linux-user/cpu-uname.c: Convert to UTF-8 2011-12-06 10:04:36 +00:00
cpu-uname.h
elfload.c linux-user: save auxv length 2012-02-02 17:51:19 +02:00
errno_defs.h
flat.h
flatload.c fix spelling in linux-user sub directory 2011-12-02 10:50:56 +00:00
ioctls.h linux-user: Add support for even more FB ioctls 2011-07-11 16:12:18 +03:00
linux_loop.h
linuxload.c linux-user/elfload.c: Don't memset(NULL..) if malloc() failed 2011-11-11 12:49:53 -06:00
m68k-sim.c
main.c linux-user/main.c: Add option to user-mode emulation so that user can specify log file name 2012-02-02 17:51:20 +02:00
mmap.c Fix typo in comment (truely -> truly) 2011-05-08 10:02:18 +01:00
qemu-types.h linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00
qemu.h linux-user: save auxv length 2012-02-02 17:51:19 +02:00
signal.c linux-user: Fix sa_flags byte swaps for mips 2012-02-02 17:51:21 +02:00
socket.h
strace.c linux-user/strace.c: Correct errno printing for mmap etc 2012-02-02 17:51:20 +02:00
strace.list linux-user: improve traces 2011-04-26 10:15:40 +03:00
syscall_defs.h linux-user: add SO_PEERCRED support for getsockopt 2012-02-02 17:51:20 +02:00
syscall_types.h linux-user: Add support for even more FB ioctls 2011-07-11 16:12:18 +03:00
syscall.c linux-user: fail execve() if env/args too big 2012-02-10 10:44:51 +00:00
target_flat.h
uaccess.c
vm86.c linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00