summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/process.c
diff options
context:
space:
mode:
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>2005-12-29 17:39:51 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-29 09:48:15 -0800
commit516949480d3700cbde4272228a102c84721d6007 (patch)
treeb7fef00010e2ad97a9fdab4f683c1516948749cb /arch/mips/kernel/process.c
parent3603bc8dc5ab33941e6378fe52ea03b7f5561109 (diff)
downloadop-kernel-dev-516949480d3700cbde4272228a102c84721d6007.zip
op-kernel-dev-516949480d3700cbde4272228a102c84721d6007.tar.gz
[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>
Diffstat (limited to 'arch/mips/kernel/process.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud