Re: [PATCH] x86: fix system die when load with "reservetop"parameter

From: Ingo Molnar
Date: Fri Aug 21 2009 - 09:37:06 EST



* Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> wrote:

> 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.

btw., what are you using the 'reservetop' boot option for?

> 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@xxxxxxxxxxxxxx>
> ---
> arch/x86/kernel/setup.c | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)

Does this bug trigger in 2.6.30 too?

I'm quite nervous about doing this change so late in the .31 cycle,
we've got a hundred early parameters that now get executed much
earlier than before. No way can i test all of them and others
testing it (like in your case) takes time to trickle through.

So unless this is a .31 regression i'd be inclined to queue it up
for .32.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/