android_kernel_xiaomi_sm8350/arch/um/os-Linux
Jeff Dike 75e29b18d9 [PATCH] uml: stack usage reduction
The KSTK_* macros used an inordinate amount of stack.  In order to overcome
an impedance mismatch between their interface, which just returns a single
register value, and the interface of get_thread_regs, which took a full
pt_regs, the implementation created an on-stack pt_regs, filled it in, and
returned one field.  do_task_stat calls KSTK_* twice, resulting in two
local pt_regs, blowing out the stack.

This patch changes the interface (and name) of get_thread_regs to just
return a single register from a jmp_buf.

The include of archsetjmp.h" in registers.h to get the definition of
jmp_buf exposed a bogus include of <setjmp.h> in start_up.c.  <setjmp.h>
shouldn't be used anywhere any more since UML uses the klibc
setjmp/longjmp.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:49:09 -07:00
..
drivers
include
skas [PATCH] uml: timer cleanups 2006-09-26 08:49:08 -07:00
sys-i386 [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
sys-x86_64 [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
aio.c
elf_aux.c
file.c [PATCH] uml: add some EINTR protection 2006-07-10 13:24:24 -07:00
helper.c [PATCH] uml: Fix handling of failed execs of helpers 2006-09-26 08:49:06 -07:00
irq.c [PATCH] uml: Move signal handlers to arch code 2006-09-26 08:49:07 -07:00
main.c [PATCH] uml: Move signal handlers to arch code 2006-09-26 08:49:07 -07:00
Makefile
mem.c [PATCH] uml: Use ARRAY_SIZE more assiduously 2006-09-26 08:49:05 -07:00
process.c [PATCH] uml: Move signal handlers to arch code 2006-09-26 08:49:07 -07:00
sigio.c [PATCH] uml: SIGIO cleanups 2006-09-26 08:49:07 -07:00
signal.c [PATCH] uml: Remove unused variable 2006-09-26 08:49:08 -07:00
start_up.c [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
time.c [PATCH] uml: timer cleanups 2006-09-26 08:49:08 -07:00
tls.c
trap.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
tt.c
tty_log.c
tty.c
uaccess.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
umid.c [PATCH] uml: rename and improve actually_do_remove() 2006-07-01 09:56:03 -07:00
user_syms.c
util.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00