75e29b18d9
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> |
||
---|---|---|
.. | ||
drivers | ||
include | ||
kernel | ||
os-Linux | ||
scripts | ||
sys-i386 | ||
sys-ia64 | ||
sys-ppc | ||
sys-x86_64 | ||
config.release | ||
defconfig | ||
Kconfig | ||
Kconfig.char | ||
Kconfig.debug | ||
Kconfig.i386 | ||
Kconfig.net | ||
Kconfig.scsi | ||
Kconfig.x86_64 | ||
Makefile | ||
Makefile-i386 | ||
Makefile-ia64 | ||
Makefile-os-Linux | ||
Makefile-ppc | ||
Makefile-skas | ||
Makefile-tt | ||
Makefile-x86_64 |