public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: fix system die when load with "reservetop" parameter
@ 2009-08-20 12:23 Xiao Guangrong
  2009-08-21 13:35 ` Ingo Molnar
  2009-08-21 14:43 ` [tip:x86/urgent] x86: Fix system crash when loading " tip-bot for Xiao Guangrong
  0 siblings, 2 replies; 4+ messages in thread
From: Xiao Guangrong @ 2009-08-20 12:23 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Ingo Molnar, yinghai, LKML, x86

The system will die if the kernel is booted with "reservetop" parameter,
in present code, parse "reservetop" parameter after early_ioremap_init(),
and some function still use early_ioremap() after it.

The problem is, "reservetop" parameter can modify 'FIXADDR_TOP', then the
virtual address got by early_ioremap() is base on old 'FIXADDR_TOP', but
the page mapping is base on new 'FIXADDR_TOP', it will occur page fault,
and the IDT is not prepare yet, so, the system is dead.

So, put parse_early_param() in the front of early_ioremap_init() in this
patch.

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
---
 arch/x86/kernel/setup.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 26fce55..aad6149 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -713,6 +713,11 @@ void __init setup_arch(char **cmdline_p)
 	printk(KERN_INFO "Command line: %s\n", boot_command_line);
 #endif
 
+	strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
+	*cmdline_p = command_line;
+
+	parse_early_param();
+
 	/* VMI may relocate the fixmap; do this before touching ioremap area */
 	vmi_init();
 
@@ -795,11 +800,6 @@ void __init setup_arch(char **cmdline_p)
 #endif
 #endif
 
-	strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
-	*cmdline_p = command_line;
-
-	parse_early_param();
-
 #ifdef CONFIG_X86_64
 	check_efer();
 #endif
-- 
1.6.1.2



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-08-24  1:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-20 12:23 [PATCH] x86: fix system die when load with "reservetop" parameter Xiao Guangrong
2009-08-21 13:35 ` Ingo Molnar
2009-08-24  1:21   ` Xiao Guangrong
2009-08-21 14:43 ` [tip:x86/urgent] x86: Fix system crash when loading " tip-bot for Xiao Guangrong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox