summaryrefslogtreecommitdiff
path: root/kvm_ioapic.c
diff options
context:
space:
mode:
Diffstat (limited to 'kvm_ioapic.c')
-rw-r--r--kvm_ioapic.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kvm_ioapic.c b/kvm_ioapic.c
index 37dbded..89d3008 100644
--- a/kvm_ioapic.c
+++ b/kvm_ioapic.c
@@ -67,9 +67,11 @@ ioapic_read_indirect(struct kvm_ioapic *ioapic,
uint32_t redir_index = (ioapic->ioregsel - 0x10) >> 1;
uint64_t redir_content;
- ASSERT(redir_index < IOAPIC_NUM_PINS);
-
- redir_content = ioapic->redirtbl[redir_index].bits;
+ if (redir_index < IOAPIC_NUM_PINS) {
+ redir_content = ioapic->redirtbl[redir_index].bits;
+ } else {
+ redir_content = ~0ULL;
+ }
result = (ioapic->ioregsel & 0x1) ?
(redir_content >> 32) & 0xffffffff :
redir_content & 0xffffffff;