David Brown wrote:
Can you run 'gdb /path/to/kvm.ko' and post the output of 'disassemble ioapic_mmio_write' please?Sorry for not getting back sooner. (gdb) disassemble ioapic_mmio_write Dump of assembler code for function ioapic_mmio_write:
The attached patch should fix, though there's probably another problem lurking in there.
-- Any sufficiently difficult bug is indistinguishable from a feature.
commit f1b8c28f1886c9375361d7f2ebca1f742ea6bc5f Author: Avi Kivity <[EMAIL PROTECTED]> Date: Mon Oct 8 10:01:45 2007 +0200 KVM: Check I/O APIC indirect index before writing Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> diff --git a/drivers/kvm/ioapic.c b/drivers/kvm/ioapic.c index 9eb5058..c7992e6 100644 --- a/drivers/kvm/ioapic.c +++ b/drivers/kvm/ioapic.c @@ -96,7 +96,7 @@ static void ioapic_service(struct kvm_ioapic *ioapic, unsigned int idx) static void ioapic_write_indirect(struct kvm_ioapic *ioapic, u32 val) { - int index; + unsigned index; switch (ioapic->ioregsel) { case IOAPIC_REG_VERSION: @@ -114,7 +114,8 @@ static void ioapic_write_indirect(struct kvm_ioapic *ioapic, u32 val) index = (ioapic->ioregsel - 0x10) >> 1; ioapic_debug("change redir index %x val %x", index, val); - ASSERT(irq < IOAPIC_NUM_PINS); + if (index >= IOAPIC_NUM_PINS) + return; if (ioapic->ioregsel & 1) { ioapic->redirtbl[index].bits &= 0xffffffff; ioapic->redirtbl[index].bits |= (u64) val << 32;
------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel