OSDN Git Service

um: Move uml_postsetup in the init_thread stack
authorThomas Meyer <thomas@m3y3r.de>
Sat, 28 Mar 2015 08:59:46 +0000 (09:59 +0100)
committerRichard Weinberger <richard@nod.at>
Mon, 13 Apr 2015 19:17:44 +0000 (21:17 +0200)
commit33bbc3065414722065a20cbdbeaf352173e72f39
treef4cf1b3df0f7a23f80a9d14129ec8f8c1f14ad19
parent04a418495e0852263d77c4fb82adf470feaafef3
um: Move uml_postsetup in the init_thread stack

atomic_notifier_chain_register() and uml_postsetup() do call kernel code
that rely on the "current" kernel macro and a valid task_struct resp.
thread_info struct. Give those functions a valid stack by moving
uml_postsetup() in the init_thread stack. This moves enables a panic()
call in this early code to generate a valid stacktrace, instead of
crashing.
E.g. when an UML kernel is started with an initrd but too few physical
memory the panic() call get's actually processed.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/include/shared/as-layout.h
arch/um/kernel/um_arch.c
arch/um/os-Linux/skas/process.c