x86: fix off-by-one in nr_irqs_gsi calculation highest_gsi() returns the last valid GSI, not a count. Signed-off-by: Jan Beulich --- v2: Retain the (debatable) use of max() here. --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2531,7 +2531,7 @@ void __init init_ioapic_mappings(void) } } - nr_irqs_gsi = max(nr_irqs_gsi, highest_gsi()); + nr_irqs_gsi = max(nr_irqs_gsi, highest_gsi() + 1); if ( max_gsi_irqs == 0 ) max_gsi_irqs = nr_irqs ? nr_irqs / 8 : PAGE_SIZE;