From: Andrew Morton Date: Thu, 1 Apr 2004 05:52:20 +0000 (-0800) Subject: [PATCH] run page_address_init() earlier X-Git-Tag: v2.6.5~26 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=15f4ae0ca83565197ebfcd0ef1d77a76cf200b00;p=history.git [PATCH] run page_address_init() earlier If someone runs page_address() before page_address_init(), the kernel locks up over uninitialised spinlocks. This only happens with the 4:4 patch, but it is more robust to run page_address_init() before setup_arch(). page_address_init() simply initialises statically allocated storage. --- diff --git a/init/main.c b/init/main.c index 07f94366efca..9d1ed1de14c5 100644 --- a/init/main.c +++ b/init/main.c @@ -409,6 +409,7 @@ asmlinkage void __init start_kernel(void) * enable them */ lock_kernel(); + page_address_init(); printk(linux_banner); setup_arch(&command_line); setup_per_cpu_areas(); @@ -452,7 +453,6 @@ asmlinkage void __init start_kernel(void) initrd_start = 0; } #endif - page_address_init(); mem_init(); kmem_cache_init(); if (late_time_init)