[discuss] Re: [Fastboot] [PATCH] kexec uses incorrect nmi handler on x86/x86_64
Fernando Luis Vazquez Cao
fernando at intellilink.co.jp
Tue May 2 12:29:47 CEST 2006
On Tue, 2006-05-02 at 12:19 +0200, Andi Kleen wrote:
> On Tuesday 02 May 2006 12:11, Fernando Luis Vazquez Cao wrote:
> > > All NMI handlers think they are different and more special than everybody
> > > else. Otherwise they wouldn't be NMI. kdump is really in no way special.
> > If what we want is a reliable crash dumping solution kdump should be
> > treated as a special case (see discussion below).
> It's special enough to just set a high priority. More speciality is really
> not needed.
> > Besides, the default NMI handler and the notify_die function itself use
> > the stack profusely without checking the validity of the stack pointer
> > or the state of the stacks (of course this applies to the current
> > implementation too).
> It runs on a special reserved NMI stack. And if that doesn't work
> anymore then you'll never execute any NMI code because the CPU
> won't be able to write the initial stack frame.
For some reason, you seem to be assuming I was referring to x86_64. i386
does not have special reserved NMI stacks.
> > After a crash the state of the system is unknown
> > and we may end up overflowing the stack or further bloating if it is
> > already bloated. For this reason kdump is very likely to fail in stack
> > overflow scenarios. I will elaborate on this in the next email.
> I don't think you understand how x86-64 exception handling works.
I think I do. I was not talking about the x86-64 case in particular.
More information about the discuss