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
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel