x86: secure ioapic_guest_write() against FREE_TO_ASSIGN irq values
PATCH 1/1 x86: secure ioapic_guest_write() against FREE_TO_ASSIGN irq values
Signed-off-by Jan Beulich <[email protected]>
xen/arch/x86/io_apic.c +2 -2
@@ -2186,7 +2186,7 @@ int ioapic_guest_write(unsigned long phyif ( new_rte.vector >=FIRST_DYNAMIC_VECTOR ) new_irq = vector_irq[new_rte.vector]; -if ( (old_irq != new_irq) && (old_irq !=-1 ) &&IO_APIC_IRQ (old_irq) ) +if ( (old_irq != new_irq) && (old_irq >=0 ) &&IO_APIC_IRQ (old_irq) ) {if ( irq_desc[IO_APIC_VECTOR (old_irq)].action ) {
@@ -2198,7 +2198,7 @@ int ioapic_guest_write(unsigned long phyremove_pin_at_irq (old_irq, apic, pin); } -if ( (new_irq !=-1 ) &&IO_APIC_IRQ (new_irq) ) +if ( (new_irq >=0 ) &&IO_APIC_IRQ (new_irq) ) {if ( irq_desc[IO_APIC_VECTOR (new_irq)].action ) {