diff options
Diffstat (limited to 'virt/kvm/ioapic.c')
| -rw-r--r-- | virt/kvm/ioapic.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c index ce82b940195..5ba005c00e2 100644 --- a/virt/kvm/ioapic.c +++ b/virt/kvm/ioapic.c @@ -74,9 +74,12 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic,  			u32 redir_index = (ioapic->ioregsel - 0x10) >> 1;  			u64 redir_content; -			ASSERT(redir_index < IOAPIC_NUM_PINS); +			if (redir_index < IOAPIC_NUM_PINS) +				redir_content = +					ioapic->redirtbl[redir_index].bits; +			else +				redir_content = ~0ULL; -			redir_content = ioapic->redirtbl[redir_index].bits;  			result = (ioapic->ioregsel & 0x1) ?  			    (redir_content >> 32) & 0xffffffff :  			    redir_content & 0xffffffff; |