Re: kvm-60: kexec in guest crashes the host

Dan Aloni
2008-02-19T16:46:11Z

On Tue, Feb 19, 2008 at 06:03:03PM +0200, Avi Kivity wrote:
> Dan Aloni wrote:
> > Hello,
> >
> > I have a host running kvm-60-git (fc9e77f83b26089d6228e149605be69228905dc7) and a
> > guest running a modified 2.6.16 kernel. Both are of the x86_64 arch. kvm-userspace
> > is e978013e3a121aae54ad4c47be5e92a23b8084a4.
> >
> > When the guest invokes kexec, the host crashes with the following Oopses (a few of
> > them are printed before panic). I've also added dissembly of the crash locations,
> > and the .config of the host.
> >
> > According to the Oops RBP gets corrupted somehow. Got any idea?
> >
> >
>
> Is this the first oops?

These were the first two. The other ones looked similar.

> How does one go about reproducing this?

It happens at 100% of the times I invoke kexec.

The guest kernel is patched with kdb, if it has any significance.

The host CPU is:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
stepping : 5
cpu MHz : 2000.073
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts
acpi mmx fx sr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca
lahf_lm
bogomips : 4006.80
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
stepping : 5
cpu MHz : 2000.073
cache size : 4096 KB
physical id : 3
siblings : 1
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts
acpi mmx fx sr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca
lahf_lm
bogomips : 4000.36
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual