> This panic happened between line 729 and 730. The disassemble of this code is:
> 
> [0]> ec_bind_virq_to_irq::dis
> ec_bind_virq_to_irq+0x95:       call   -0x97a   <alloc_irq>
> ec_bind_virq_to_irq+0x9a:
> movw   %ax,0xfffffffffbc46ac0(%r12)     <virq_info+0x200>
> ec_bind_virq_to_irq+0xa3:       movq   %r13,%rdi
> ec_bind_virq_to_irq+0xa6:       call   +0x16d35 <mutex_exit>
> ec_bind_virq_to_irq+0xab:       addb   %al,(%rax)
> ec_bind_virq_to_irq+0xad:       addb   %al,(%rax)
> ec_bind_virq_to_irq+0xaf:       addb   %al,(%rax)
> ec_bind_virq_to_irq+0xb1:       addb   %al,(%rax)
> ec_bind_virq_to_irq+0xb3:       sti
> ec_bind_virq_to_irq+0xb4:       popq   %r14
> ec_bind_virq_to_irq+0xb6:       popq   %r13
> ec_bind_virq_to_irq+0xb8:       popq   %r12
> ec_bind_virq_to_irq+0xba:       popq   %rbx
> ec_bind_virq_to_irq+0xbb:       leave
> ec_bind_virq_to_irq+0xbc:       ret


The code starting at ec_bind_virq_to_irq+0xab looks corrupted.

Seems as if someone stored a 64-bit "0" to that location, corrupting
the original code.


When you boot the dom0 kernel with options "-kd" and disassemble
ec_bind_virq_to_irq+0xab (before the kernel starts running),
does the code look different?

In case it's already corrupted before the kernel starts running:
try to check the dom0 kernel binary /platform/i86xpv/kernel/amd64/unix
with "dis -F ec_bind_virq_to_irq /platform/i86xpv/kernel/amd64/unix",
check if ec_bind_virq_to_irq+0xab contains reasonble code there.


If case the corruption happens at kernel runtime, it might be possble
to find the source of the corruption using kmdb and a write watchpoint:

 ec_bind_virq_to_irq+0xab::wp -w -L 8 
 

_______________________________________________
xen-discuss mailing list
[email protected]

Reply via email to