From: Paolo 'Blaisorblade' Giarrusso Date: Thu, 29 Dec 2005 16:39:51 +0000 (+0100) Subject: [PATCH] uml: fix random segfaults at bootup X-Git-Tag: v2.6.15~26 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=516949480d3700cbde4272228a102c84721d6007;p=pandora-kernel.git [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, ¤t is evaluated with CONFIG_DEBUG_SPINLOCK to check the spinlock owner task). And this leads to random segmentation faults. Exactly, what happens is that ¤t = *(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 Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed