Commit 5d11ce4d authored by Andrew Morton's avatar Andrew Morton Committed by David S. Miller

[PATCH] use noinline for rest_init()

gcc-3.4 incorretly inlines rest_init() into start_kernel(), causing things to
crash when the .text.init section gets unloaded.  Use noinline to prevent
that.
parent ce920983
...@@ -378,9 +378,11 @@ static void __init smp_init(void) ...@@ -378,9 +378,11 @@ static void __init smp_init(void)
* between the root thread and the init thread may cause start_kernel to * between the root thread and the init thread may cause start_kernel to
* be reaped by free_initmem before the root thread has proceeded to * be reaped by free_initmem before the root thread has proceeded to
* cpu_idle. * cpu_idle.
*
* gcc-3.4 accidentally inlines this function, so use noinline.
*/ */
static void rest_init(void) static void noinline rest_init(void)
{ {
kernel_thread(init, NULL, CLONE_FS | CLONE_SIGHAND); kernel_thread(init, NULL, CLONE_FS | CLONE_SIGHAND);
unlock_kernel(); unlock_kernel();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment