DragonFlyBSD Kernel Audit
DF-1034 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/platform/pc64/x86_64/mptable.c b/sys/platform/pc64/x86_64/mptable.c
--- a/sys/platform/pc64/x86_64/mptable.c
+++ b/sys/platform/pc64/x86_64/mptable.c
@@ -1294,9 +1294,10 @@
 	}
 
 	if (ent->dst_apic_int >= ioapic->mio_npin) {
-		panic("mptable_ioapic_enumerate: invalid I/O APIC "
-		      "pin %d, should be < %d",
+		kprintf("mptable_ioapic_enumerate: invalid I/O APIC "
+		      "pin %d, should be < %d (skipping)\n",
 		      ent->dst_apic_int, ioapic->mio_npin);
+		return 0;
 	}
 	gsi = ioapic->mio_gsi_base + ent->dst_apic_int;