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

Regards,

Fernando




More information about the discuss mailing list