linux/arch/um/os-Linux
Paolo 'Blaisorblade' Giarrusso 516949480d [PATCH] uml: fix random segfaults at bootup
Don't use printk() where "current_thread_info()" is crap.

Until when we switch to running on init_stack, current_thread_info() evaluates
to crap. Printk uses "current" at times (in detail, &current is evaluated with
CONFIG_DEBUG_SPINLOCK to check the spinlock owner task).

And this leads to random segmentation faults.

Exactly, what happens is that &current = *(current_thread_info()), i.e. round
down $esp and dereference the value. I.e. access the stack below $esp, which
causes SIGSEGV on a VM_GROWSDOWN vma (see arch/i386/mm/fault.c).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-29 09:48:15 -08:00
..
drivers [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
include Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys-i386 [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -07:00
sys-x86_64 [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -07:00
aio.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
elf_aux.c [PATCH] uml makefiles sanitized 2005-09-29 08:46:26 -07:00
file.c [PATCH] uml: preserve errno in error paths 2005-09-17 11:50:00 -07:00
helper.c [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
main.c [PATCH] uml: separate libc-dependent early initialization 2005-11-07 07:53:31 -08:00
Makefile [PATCH] uml: separate libc-dependent helper code 2005-11-07 07:53:31 -08:00
mem.c [PATCH] uml: big memory fixes 2005-11-07 07:53:31 -08:00
process.c [PATCH] uml: readd removed unistd.h inclusion 2005-09-21 16:16:30 -07:00
signal.c [PATCH] uml: s390 preparation, sighandler interface abstraction 2005-05-05 16:36:38 -07:00
start_up.c [PATCH] uml: fix random segfaults at bootup 2005-12-29 09:48:15 -08:00
time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tt.c [PATCH] uml: move libc code out of mem_user.c and tempfile.c 2005-09-17 11:50:00 -07:00
tty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.c [PATCH] uml: separate libc-dependent uaccess code 2005-11-07 07:53:31 -08:00
user_syms.c [PATCH] uml: implement hostfs syncing 2005-07-28 21:46:05 -07:00