qemu/linux-user
Wesley W. Terpstra 95b33b2f4f mips: rlimit incorrectly converts values
Byte swap was applied in the wrong order with testing for
RLIM_INFINITY. On mips bigendian from an amd64 system this results in
infinity being misinterpretted as 2^31-1.

This is a serious bug because it causes setrlimit stack size to kill
all child processes. This means (for example) that 'make' can run no
children. The mechanism of failure:
1. parent sets stack size rlimit to 'infinity'
2. qemu screws this value up
3. child process fetches stack size as a large (but non-infinite) value
4. qemu tries to allocate stack before execution
5. stack allocation fails (too big) and child process dies

Signed-off-by: Wesley W. Terpstra <terpstra@debian.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2011-07-12 14:38:22 +03:00
..
alpha linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
arm linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03: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: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mipsn32 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03: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: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
sparc linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
sparc64 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
unicore32 unicore32: add necessry headers in linux-user/unicore32 for unicore32 support 2011-04-12 18:48:43 +00:00
x86_64 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
cpu-uname.c linux-user: adapt uname machine to emulated CPU 2010-02-06 17:19:43 +01:00
cpu-uname.h linux-user: adapt uname machine to emulated CPU 2010-02-06 17:19:43 +01:00
elfload.c linux-user: Define AT_RANDOM to support target stack protection mechanism. 2011-06-21 20:30:09 +03:00
errno_defs.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
flat.h Support for 32 bit ABI on 64 bit targets (only enabled Sparc64) 2007-10-14 16:27:31 +00:00
flatload.c flatload: memp was a write-only variable 2011-06-21 20:30:10 +03:00
ioctls.h linux-user: Add support for even more FB ioctls 2011-07-11 16:12:18 +03:00
linux_loop.h Fix build failure with old kernel headers (loop.h is incompatible with 2008-05-23 16:06:43 +00:00
linuxload.c linuxload: id_change was a write only variable 2011-06-21 20:30:09 +03:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c mips: null pointer deref should segfault 2011-07-12 14:34:23 +03:00
mmap.c Fix typo in comment (truely -> truly) 2011-05-08 10:02:18 +01:00
qemu-types.h linux-user: Move abi_* typedefs into qemu-types.h 2008-12-08 18:12:04 +00:00
qemu.h linux-user: Bump do_syscall() up to 8 syscall arguments 2011-06-21 20:30:10 +03:00
signal.c linux-user/signal.c: Remove unused fenab 2011-06-21 20:30:10 +03:00
socket.h Various linux-user structures and definitions fixes for PowerPC targets. 2007-12-10 08:24:59 +00:00
strace.c linux-user: Fix compilation for "old" linux versions 2011-05-02 10:00:01 +03:00
strace.list linux-user: improve traces 2011-04-26 10:15:40 +03:00
syscall.c mips: rlimit incorrectly converts values 2011-07-12 14:38:22 +03:00
syscall_defs.h linux-user: Implement prlimit64 syscall 2011-07-11 16:34:49 +03:00
syscall_types.h linux-user: Add support for even more FB ioctls 2011-07-11 16:12:18 +03:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
uaccess.c Fix missing strnlen problems 2009-07-01 18:24:44 +00:00
vm86.c Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00